Вернуться в видеотекуТестовое собеседование Java разработчика #23 - Аскар Сариев
Практика Java-собеседования для начинающего разработчика: теория Java и backend-стека, алгоритмическая задача и разбор ответов кандидата. Интервьюер уточняет формулировки, разбирает неточности и подсказывает направление решения.
- Направление
- Backend
- Формат
- Видео
- Длительность
- 1 ч 17 мин
Коротко о видео
Тестовое собеседование с начинающим Java-разработчиком Аскаром Сариевым, который готовится к первой работе backend-инженером. Интервьюер проверяет основы Java, JVM, сборку мусора, многопоточность, коллекции, SOLID, базы данных, Hibernate, Spring Security и тестирование. Отдельно кандидат вместе с интервьюером разбирает задачу поиска элемента, встречающегося в массиве более чем в половине позиций, и получает подсказки по реализации через HashMap.
Затронутые темы
Что взять на заметку
- Подготовьте точное объяснение передачи аргументов в Java: передаётся значение, а для объектов этим значением является копия ссылки; также нужно различать стек, heap и metaspace JVM.
- Повторите жизненный цикл объектов и Garbage Collection: Young Generation, Survivor-пространства, достижимость объекта, паузы приложения и выбор сборщика через настройки JVM.
- Умейте разделять многопоточность, параллелизм и асинхронность, а также объяснять связь Java-потоков с потоками ОС и роль переключения контекста на одноядерном процессоре.
- Для CompletableFuture важно показать практическую композицию: не блокировать поток вызовом get(), а передавать полученный результат в следующий этап через thenApply/thenAccept или похожую цепочку.
- По HashMap следует знать бакеты, коллизии, hashCode/equals, переход длинной цепочки в красно-чёрное дерево в Java 8, а также отличия HashMap, Hashtable и ConcurrentHashMap.
- В алгоритмической задаче HashMap даёт линейное время подсчёта частот, но требует O(n) дополнительной памяти; это не соответствует исходному ограничению O(1) по памяти, которое нужно отдельно проверить.
- Повторите индексы и внешние ключи в БД, ResultSet и хранимые процедуры JDBC, жизненный цикл SessionFactory/Session в Hibernate, уровни изоляции и последовательность аутентификации в Spring Security с JWT.