Открытое интервью по Java backend
Открытое мок-собеседование с Java-разработчиком: после рассказа об опыте кандидат отвечает на вопросы по коллекциям и HashMap, конкурентному доступу, исключениям, CompletableFuture, сборке мусора и утечкам памяти. Затем разбираются Hibernate, транзакции и изоляция в PostgreSQL, WAL и индексы; в финале интервьюер даёт оценку «senior minus».
- Опубликовано на YouTube:
- Просмотры на YouTube: 1,2 тыс.
- Лайки на YouTube: 20
Таймлайн
Коротко о видео
Запись открытого мок-собеседования по Java Backend. Кандидат с шестилетним опытом рассуждает об устройстве ArrayList, LinkedList и HashMap, ConcurrentHashMap, исключениях, синхронизации и CompletableFuture. Далее проверяют понимание GC, ClassLoader и утечек памяти, затем Hibernate — N+1, жизненный цикл сущностей, equals/hashCode и flush — и PostgreSQL: ACID, WAL, уровни изоляции, MVCC и индексы. После рекламной вставки интервьюер разбирает ответы и оценивает уровень кандидата как «senior minus».
Затронутые темы
Что взять на заметку
- При объяснении коллекций важно различать доступ по индексу у ArrayList, стоимость вставок и ограничения LinkedList; для HashMap — учитывать коллизии и сравнение ключей через equals.
- Потокобезопасность требует разделять взаимное исключение через synchronized, видимость изменений через volatile и атомарные операции: эти механизмы не взаимозаменяемы.
- N+1 в ORM — это серия дополнительных запросов при загрузке связанных сущностей; проблему нужно выявлять и устранять осознанной стратегией загрузки.
- При обсуждении PostgreSQL полезно связывать уровни изоляции с конкретными аномалиями и учитывать роль MVCC, а не сводить реализацию к блокировке всей таблицы.
- Для большой рабочей таблицы стоит знать CREATE INDEX CONCURRENTLY и его ограничения.