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

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

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

Источник: Максим Добрынин | ex. Jetbulb

Открыть на 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 сможет его найти.

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

46 мин
BackendJunior

Тестовое собеседование Java разработчика #18 - Владислав Селицкий

Учебное тестовое интервью с Junior Java-разработчиком о базовых концепциях Java, алгоритмах, многопоточности и работе с БД. Кандидат отвечает на вопросы и разбирает задачу поиска двух чисел с заданной суммой.

50 мин
BackendSenior

Тестовое собеседование Java разработчика #19 - Михаил Гончаренко

Запись тестового Java-интервью: теория Java и Spring, алгоритмическая задача и системный дизайн высоконагруженного сервиса изображений. Собеседующий уточняет и проверяет ответы кандидата на практических сценариях.