Вернуться в видеотекуТехническое интервью Java Developer - Евгений Мереха
Техническое интервью по Java для уровня Junior с разбором ответов кандидата и практическими задачами по equals/hashCode и HashMap. Значительная часть выпуска посвящена Spring: DI, бинам, scope и MVC.
- Направление
- Backend
- Формат
- Техническое собеседование
- Грейд
- Junior
- Длительность
- 1 ч 33 мин
Коротко о видео
Публичная тренировочная сессия технического интервью для 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 сможет его найти.