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

Мок-собеседование Java Junior

Длинное мок-собеседование Java Junior с разбором ответов по Java, Spring, базам данных, распределённым системам и Git. Включает задачи на Stream API и код-ревью, затем — обратную связь кандидату.

Источник: Помогите, я джун

Открыть на YouTube

Таймлайн

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

Это мок-собеседование Java Junior: кандидат с примерно годом серьёзного опыта отвечает на вопросы по Java Core, Spring, базам данных, очередям, микросервисам и Git. После теоретической части разбирают две практические задачи: ленивое выполнение Java Stream и ревью псевдокода Spring/JPA-сервиса обработки заказов и платежей. В финале интервьюер отмечает необходимость подтянуть Java Core и Spring, а сам кандидат выделяет пробелы в коллекциях и Stream API.

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

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

  • Подготовить контракт equals/hashCode: равные объекты обязаны иметь одинаковый hashCode, но одинаковый hashCode не гарантирует равенство объектов; уметь последовательно реализовать equals с проверками ссылки, типа и значимых полей.
  • Разобраться во внутреннем устройстве HashMap, назначении hashCode и выборе ячейки внутреннего массива, а также в компромиссах ArrayList и LinkedList для частых вставок в начало/конец и редкого чтения.
  • Повторить JVM-память: объекты находятся в heap, сборщик мусора удаляет недостижимые объекты, а stack создаётся для каждого потока.
  • Уметь объяснить DI и инверсию управления в Spring, назвать Spring Web, Spring Data JPA, Spring Security и Hibernate, а также обсудить @Transactional, проблему N+1 и eager/lazy loading.
  • Для архитектурных вопросов подготовить различия между очередью в памяти процесса и Kafka, варианты интеграции микросервисов через REST, gRPC и асинхронные сообщения.
  • Практиковать Stream API на задачах с peek, filter и findFirst: терминальная операция позволяет конвейеру обработать только элементы до первого подходящего результата.
  • Для ревью Spring/JPA-кода проверять регистрацию бинов, передачу идентификаторов и зависимостей, корректность запросов репозитория, объём выборки и необходимость пагинации.
  • Повторить безопасную работу с Git: различать reset с переписыванием истории и revert, понимать риски force push и сохранять нужные изменения в отдельной ветке.

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