Мок-собеседование на Middle Java-разработчика
Кандидат отвечает о HashMap, исключениях, Stream API, потоках, Spring и Hibernate. Отдельно разбираются транзакции, синхронизация, оптимистические блокировки и N+1.
Павел Сорокин
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 15,1 тыс.
- Лайки на YouTube: 430
Таймлайн
Коротко о видео
Мок-собеседование для Middle Java-разработчика: кандидат Алексей отвечает на вопросы, а интервьюер дополняет и корректирует ряд ответов. Обсуждаются примитивы и объекты, HashMap, исключения, Stream API и сборка мусора; затем — процессы и потоки, общая heap-память, synchronized, volatile, AtomicInteger, race condition, deadlock, Java Memory Model и типы блокировок. В блоке Spring разбираются ApplicationContext, DI, создание и выбор бинов, @Transactional и ограничение self-invocation. В конце рассматриваются ORM/Hibernate, Entity, уровни кэша и проблема N+1.
Затронутые темы
Что взять на заметку
- Исключение стоит обрабатывать там, где можно дать понятный результат или выполнить полезное восстановление.
- Потоки одного процесса разделяют heap, в отличие от разных процессов.
- Оптимистическая и пессимистическая блокировки по-разному предотвращают race condition.
- @Transactional требует понимания атомарности, propagation и прокси Spring.
- N+1 в ORM выявляют по сериям запросов и устраняют загрузкой нужных связей.