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

Техническое интервью Java Developer - Евгений Мереха

Техническое интервью по Java для уровня Junior с разбором ответов кандидата и практическими задачами по equals/hashCode и HashMap. Значительная часть выпуска посвящена Spring: DI, бинам, scope и MVC.

Максим Добрынин | ex. Jetbulb
  • Опубликовано на YouTube:
  • Просмотры на YouTube: 32 тыс.
  • Лайки на YouTube: 730
Открыть на YouTube

Таймлайн

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

Публичная тренировочная сессия технического интервью для Junior Java Developer: кандидат отвечает на вопросы, а интервьюер уточняет и корректирует ход рассуждений. Разбираются ООП, типизация, Object, equals/hashCode, String, коллекции и HashMap, затем Spring Core и Spring MVC. В видео также есть две практические части: ручная реализация equals и исправление поведения пользовательского ключа в HashMap.

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

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

  • Для equals сначала проверяют идентичность ссылок, null и совместимость типов, а приводить тип и сравнивать поля стоит только после этих проверок.
  • equals и hashCode должны быть согласованы: разные hashCode гарантируют неравенство объектов, а одинаковые допускают коллизию и требуют проверки equals.
  • Поля, участвующие в equals/hashCode ключа HashMap, нельзя менять после вставки: объект останется в прежней корзине и может перестать находиться через get.
  • Строки неизменяемы; литералы могут переиспользоваться через String pool, а операция += создаёт новый объект String.
  • ArrayList даёт быстрый доступ по индексу, тогда как LinkedList для поиска и доступа по индексу последовательно проходит по ссылкам; выбор зависит от операции и объёма изменений.
  • Constructor injection удобнее для изолированных unit-тестов: зависимости можно передать вручную без подъёма Spring-контекста.
  • Для обработки запроса в Spring MVC контроллер должен быть зарегистрирован в контексте и иметь корректный mapping, по которому DispatcherServlet сможет его найти.

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