Третий выпуск рубрики Что спросят у мидла. Здесь разбираю вопросы с РЕАЛЬНЫХ собесов. Цель - помочь кандидатам подготовиться к интервью и развеять мифы о том, что для определенных грейдов требуются какие-то недостижимые знания.
Telegram канал со всеми анонсами: https://t.me/javaGymRat
Эксклюзивный контент от меня здесь: https://boosty.to/javagymrat
Стримлю тут: / javagymrat
Instagram: ekondratyyeva
Тайминги:
00:00 - Вступление
00:52 - Как работают аннотации под капотом?
02:00 - Реализация с помощью BeanPostProcessor'a
04:40 - Реализация с помощью AOP и BeanPostProcessor'a
08:00 - Как работает Transactional под капотом? Как реализован boiler plate код, который добавляет прокси?
10:20 - Какие есть операции у Stream API, приведи примеры
11:20 - В чем преимущество ленивой работы стримов?
12:40 - Во что раскладываются стримы после компиляции?
12:40 - Может ли стрим негативно влиять на производительность кода?
15:20 - Расскажи про параллельные стримы, как они работают под капотом? Когда их следует применять?
17:00 - Лайвкодинг задача на стримы
19:00 - Приходилось ли писать стартеры?
20:10 - Как garbage collector понимает, какие объекты нужно удалять, а какие нет?
21:28 - Приходилось ли писать свои обработчики ошибок?
23:04 - Задача из практики: организация консистентной обработки ошибок
24:17 - Аннотации Service, Сomponent, Controller отличаются ли чем то друг от друга?
24:47 - Где оптимальное место для того, чтобы поставить аннотацию Transactional?
26:30 - @Transactional над методом контроллера
27:17 - Решение SQL задачи