Вернуться в видеотеку

JAVA СОБЕСЕДОВАНИЕ | BACKEND-mock интервью

Разбор мок-собеседования Junior Java-разработчика с ответами кандидата, комментариями интервьюера и livecoding-задачей. Видео служит примером тем и уровня детализации, ожидаемых на техническом интервью.

Источник: Павел Сорокин

Открыть на YouTube

Таймлайн

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

Это мок-собеседование Junior Java-разработчика: кандидат Максим отвечает на вопросы, а ведущий Павел после ряда ответов разбирает более точные формулировки и недостающие детали. Обсуждаются Java Core, обработка исключений, многопоточность, CompletableFuture, паттерн Proxy, HTTP, Spring и транзакции в SQL-базах данных. В середине видео кандидат пытается решить задачу на удаление дубликатов из отсортированного массива, после чего ведущий показывает сначала вариант с дополнительным массивом, затем in-place решение.

Затронутые темы

Что взять на заметку

  • Для immutable-объекта недостаточно сделать класс final и убрать сеттеры: изменяемые внутренние поля и возвращаемые коллекции нужно защищать копированием.
  • При многократной конкатенации строк используйте StringBuilder в однопоточном коде; StringBuffer синхронизирован и нужен, когда требуется потокобезопасность.
  • Ресурсы вроде файлов и соединений с БД стоит закрывать через try-with-resources: ресурс должен реализовывать AutoCloseable, а незакрытые соединения могут исчерпать лимит пула.
  • volatile даёт видимость изменений между потоками, но операция i++ не становится атомарной; для атомарного инкремента нужны AtomicInteger или другие потокобезопасные механизмы.
  • CompletableFuture удобен для неблокирующих цепочек преобразований и обработки результата или ошибки; у Future вызов get() блокирует текущий поток.
  • Для предотвращения deadlock ведущий предлагает единый порядок захвата блокировок и ограничение времени удержания ресурса.
  • В задаче на удаление дубликатов из отсортированного массива можно вести индекс позиции для следующего уникального элемента и переписывать уникальные значения в начало исходного массива.

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

1 ч 17 мин
Backend

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

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

1 ч 21 мин
Backend

Тестовое собеседование Java разработчика #22 - Николай Оськин

Развёрнутое учебное мок-интервью по Java для начинающего разработчика: от Java Core и алгоритмов до многопоточности, SQL/JDBC, JPA и REST. В финале кандидат задаёт вопросы о понимании реализаций JVM и библиотек и получает рекомендации по дальнейшему изучению.