Java: публичное мок-собеседование с разбором уровня кандидата
Публичная запись мок-технического собеседования Java-разработчика. Кандидат отвечает на вопросы по Java Core, JVM и сборке мусора, Stream API, Spring, многопоточности и PostgreSQL, а с подсказками разбирает задачу об удалении узла односвязного списка; затем участники дают обратную связь по уровню.
- Опубликовано на YouTube:
- Просмотры на YouTube: 5,2 тыс.
- Лайки на YouTube: 54
Коротко о видео
На мок-интервью кандидат с почти восьмилетним опытом Java, последние три года работающий с Kotlin, проходит вопросы от контрактов equals/hashCode и исключений до JDK-инструментов, сборщиков мусора, Stream API и Spring. В live coding обсуждается O(1)-удаление непоследнего узла односвязного списка, затем — индексы, уровни изоляции, нормализация и оптимизация запросов в PostgreSQL. В заключительной обратной связи текущий уровень кандидата называют Middle, с более сильной базой по БД; далее следует промо формата мок-интервью ШОРТКАТ.
Затронутые темы
Что взять на заметку
- Контракт equals/hashCode: равные по equals объекты обязаны иметь одинаковый hashCode, но одинаковый hashCode не гарантирует равенства.
- При поверхностном копировании вложенные ссылки остаются общими, а глубокое копирование создаёт независимые вложенные объекты.
- По умолчанию parallelStream() использует common ForkJoinPool; его пользу нужно оценивать с учётом характера работы, объёма данных и конкуренции за пул.
- Для зависимостей Spring обычно выбирают конструкторную инъекцию; параметры метода @Bean Spring может разрешать как другие бины.
- Непоследний узел односвязного списка при наличии ссылки только на него можно удалить за O(1), скопировав данные следующего узла и перепривязав next; для хвоста этот способ не подходит.
- Оптимизацию PostgreSQL-запроса стоит начинать с измерений и EXPLAIN ANALYZE, затем проверять план, селективность и соответствие типа индекса условиям запроса.