Вопросы с senior java интервью [3/3]
Vložit
- čas přidán 29. 06. 2024
- Всем привет!
Ссылка на код:
github.com/kirya522/medium-po...
Telegram канал с обсуждениями, вопросами, инсайдами:
t.me/kirya522
Чат для зрителей канала, также туда выкладываю интересные ссылки, источники:
t.me/kirya522_chat
Поддержать канал материально
pay.cloudtips.ru/p/f4934136
www.donationalerts.com/r/kiry...
Тайм-коды:
0:00 - Вступление
0:15 - Содержание этого выпуска
0:42 - Обратная связь
1:07 - Как устроено это видео
1:32 - Параллельные стримы, когда они не параллельные
2:29 - Что будет при падаении операции
3:15 - Блокировки, synchronized, ReadWriteLocks, atomics
3:39 - Когда выбрать Lock
3:56 - Когда выбирать synchronized
4:25 - Когда выбирать ReadWriteLock
5:13 - Когда выбирать Atomic
5:47 - Happens before, концепция, что значит простыми словами
6:20 - Запись в final, начало потока
7:57 - Большой раздел про дедлоки
8:07 - Простейший способ получить дедлок
8:56 - Thread dump для поиска дедлоков
10:00 - Простейший анализ дампа
11:30 - Получение дедлока на CyclicBarrier
12:21 - Запаркованные треды
13:35 - Как делать вложенные блокировки правильно
14:15 - Захват вложенных блокировок через tryLock, возможный механизм предотвращения дедлока
15:34 - Ввод вывод в java. IO и NIO, различия
16:40 - Про работу с HTTP клиентами
17:05 - Про RestTemplate, самое важное что надо знать
17:44 - Про мониторинг RestTemplate
18:12 - Про разгон Http клиента, keepAlive
18:46 - Пулл потоков для клиента
19:30 - Рассказываю реальную проблему при плохой настройке
20:40 - Хитрости прокси (Spring AOP)
20:50 - Циклические зависимости - это плохо, но как это работает
22:52 - Сочетание нескольких прокси Async + Transactional, какое правило надо знать
26:40 - Вопросы на общие темы
26:50 - Какие проблемы можно встретить в логировании
27:40 - Как не завалить внешнюю систему логами
28:45 - Реальный вопрос про реализацию собственного кэша
29:35 - Проблема сампоисных кэшей
31:32 - Какие готовые решения есть для кэша, как разорвать этот вопрос
33:08 - Как вам идея для бесплатного курса по проектированию API
тэги для поисковых систем
собеседование java разработчика,собеседование java,собеседование spring,spring вопросы,интервью java senior,техническое собеседование,собеседование java разработчик,senior developer,реальное собеседование java,собеседование java middle,interview java developer,собеседование вопросы,вопросы для подготовки к собеседованию,java,java собеседование,java собеседование junior,java собеседование middle,собеседование по spring,тестовое собеседование java разработчика - Věda a technologie
Ссылка на код:
github.com/kirya522/medium-posts/tree/main/java/interview-questions
Telegram канал с обсуждениями, вопросами, инсайдами:
t.me/kirya522
Чат для зрителей канала, также туда выкладываю интересные ссылки, источники:
t.me/kirya522_chat
Классный выпуск, нравится. Спасибо за полезный материал! Подписался на канал.
очен круто! у тебя уникалный и исключително полезный канал!! ждем еще десяток выпусков по БД, по SQL, по Hibernate, по мониторингу, по месседжброкерам, по микросервисам, по спрингсекюрити, по гиту, по CICD и по методологиям в командах!!!))) Тогда будет реално полное покрытие всех вопросов интервю
На 3:10 минуте, когда в параллельном стриме дёргаем рэст-тэмплэйт, там основная проблема не в возможных исключениях, а в длительности операции. Внешний сервис может отвечать сотни миллисекунд и это уже очень много для форк-джоин пула, а если секунды, то вообще капец. Моментально забьются все потоки в пуле и производительность убьётся.
Спасибо за труд! Все прямо как и должно быть: общий обзор темы, без погружения глубоко. Получается емко и эффективно! Успехов!
Стараюсь
Агнище! Спасибо большое за твою работу! Как раз готовлюсь на мидла.
все 3 ролика на одном дыхании посмотрел. прекрасные пояснения - подписался
Рад стараться, готовлю еще выпуски
Лучший разбор вопросов по java интервью 100%. Лайк подписка
Контент бомба.
Тоже сейчас очень кайфую, проходя собесы (2-3 в день). Хоть на работу не выходи, а ходи по собесам.
Клёвые люди, интересное общение.
Очень живо и классно все рассказано, идеально 😍 жду новых выпусков)
Отличная серия видео! Но где же видосы по актуатору и БД ?)
Когда появится желание - будут🙂
Спасибо огромное! То, что нужно для подготовок к собесам, очень много тем покрыл)
Спасибо за ценную инфу! Вошло в привычку, вижу новый видос от тебя, ставлю лайк до просмотра!
Спасибо, стараюсь делать интересные материалы
Классно, что сделал видео про вопросы на собесе. Кстати, наверное было бы интересно узнать, какие вопросы обычно задаешь себеседующей стороне?
Когда-то постил чек-лист в телеграмм, но может и видео сделаю
Крутой контент! Спасибо за видео)
Кирилл, ты находка! Благодарю за твой труд!
Спасибо за эти три части, с примерами вообще класс! Про проектирование API было бы полезно узнать)
Спасибо за труд!
Ждем видосы дальше) спасибо!
Спасибо, очень полезный контент!
очень полезно. курс от тебя будет очень ценным. главное не выгорай)
Постараюсь
Вообще огонь ! Давай еще :)
Круто! Готовлюсь к собесу по твоему плану! Подскажи когда следующий выпуск по бд?
Несомненно полезный сборник в 3х частях)
Спасибо за крутые не мейнстримные видосы! Очень надеюсь на продолжение:)
Контент ТОП, ждём продолжения и курс.
спасибо за контент. Будет интересно изучить курс
Понял, буду думать
Красава! Лучше материала по теме нет! Топ подача и разъяснения с примерами!
Спасибо, стараюсь
Спасибо!
Проектирование API будет интересно!
Очень круто что примеры с кодом! Лайкос + подписка
Стараюсь
Выпуск огонь, узнал много нового, пойду изучать) Кст, уже получил 2 оффера, во многом благодаря подготовке по твоим видосам, так что с меня жирный лайк) Надеюсь залечу на след. стрим
А поделись какие вопросы были
@@kirya522-dev были вопросы о транзакциях: как работают, почему не стоит ставить аннотацию над классом. О многопоточке, но в основном база, вроде как работает volatile. Потом про коллекции спрашивали: в основном это про то, что в конкретных задачах лучше работает конкретная коллекция, o(n) и т.д. Как работает hashMap. Немного об устройстве коллектора. Почти все спрашивали дженерики. Иногда спрашивали паттерны проектирования, но прям базу, вроде стратегии или фабричного метода.
Очень круто!
Спасибо! Ждем видос по БД :)
Спасибо за контет друг ) прикольный видос )
Круто!
Привет!
Классное видео!
Будет спин офф с БД?
то чувство когда зашел зашел посмотреть видосик с ответами на все вопросы а тебе говорят - читайте разбирайтесь сами((
Привет) еще про как выбрать - synchronized и lock:
Lock можно использовать, когда нужна справедливая конкуренция - ReentrantLock(boolean fair). В случае synchronized возможна только несправедливая конкуренция.
🔥🔥🔥
Супер, спасибо! Ждем 4 часть. Или посве свича уже java не актуальна для тебя?
Очень интересно про апи
Да и в принципе про архитектуру можно было бы тоже что-то
resttemplate увы уже давно в прошлом(в прямом смысле его перестали дорабатывать и развивать), спрашивают про асинхронный не блокирующий webclient из спринг бута 3
Да, я его где-то дальше и рассмотрел
Спасибо! Очень дельные и интересные примеры. Вопрос по поводу циклических зависимостей. Да, встречал, что это говорит о проблемме дизайна кода. А как быть с self-injection? Например, для сохраннеия работы Transactional или любых других спринговых фишек, это тоже считается проблемным дизайном? И если уж так сложилось, что, и для self-injection можно использовать @Lazy?
Я как раз рассказывал, что лучше явно обернуть в транзакцию
Вообще супер! А подскажи ты в Тиньков собеседовался? Может помнишь какие-нибудь особенности оттуда?
Ходил, но подсказать не могу
Подскажите пожалуйста как запустить код проекта?
А разве не должно быть так: Используем Atomic там где это возможно, если у нас малое количество потоков, используем synhronized (ибо он быстрее lock при количестве потоков на уровне 10) ну и в остальных случаях используем lock
Ну я так и сказал cas по возможности.
Остальное от скоупа только
@@kirya522-dev в любом случае спасибо за видео, я пока junior которые готовится к собесам и это видео как раз кстати
Да, не мне советовать, но лучше подумайте над названием своего канала, потому что он будет разростаться несомненно, а название достаточно сложно запомнить, от этого канал у некоторых будет просто теряться, сам на такое не раз попадался, когда хотел найти какой то канал по памяти, а из за сложного названия сделать этого не мог, просто я знаю при смене названия могут быть трудности, на первое время может упасть актив, но это лучше чем делать такой ход при 20к подписчиков и больше. Это так к слову
Я уже делал голослвалку в телеграмме по новому названию и по итогу решил оставить старое
Интересно конечно, рассказываешь сначало про nio, а потом про лучшие практики устаревшего блокирующего RestTemplate. Из моей практики на старшего разработчика в банках скорее больше спрашивают про построение распределенных, масштабируемых и отказоустоийчевых систем(микросервисы, кафка), чем про глубокие внутренности явы
Ага, хотел добавить про webclient и современные подходы, даже настроил все, но потом понял, чтобы показать профит необходимо делать все неблокирующее вокруг. Дополнительно в обычном spring-boot starter его нет.
Из интересного, я проверил доку и надпись про termination у rest-template пропала
Посути в main можно взять текущий поток и ждать его завершения) это дедлок в одну троку
Ну да, но обычно требуют несколько потоков