Вернуться в каталог собеседований

Тестовое собеседование Java разработчика #23 - Аскар Сариев

Практика Java-собеседования для начинающего разработчика: теория Java и backend-стека, алгоритмическая задача и разбор ответов кандидата. Интервьюер уточняет формулировки, разбирает неточности и подсказывает направление решения.

Eugene Suleimanov
  • Опубликовано на YouTube:
  • Просмотры на YouTube: 18,3 тыс.
  • Лайки на YouTube: 628
Открыть на YouTube

Таймлайн

Коротко о видео

Тестовое собеседование с начинающим 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.

Рекомендуем посмотреть