Вернуться в видеотекуТестовое собеседование Java разработчика #17 - Александр Дранкин
Тестовое Java-собеседование с вопросами по языку, структурам данных, производительности и архитектуре. Интервьюер также разбирает с кандидатом алгоритм удаления узла из двусвязного списка.
- Направление
- Backend
- Формат
- Видео
- Грейд
- Senior
- Длительность
- 45 мин
Коротко о видео
Запись тестового собеседования Java-разработчика: после краткого знакомства интервьюер проверяет знания кандидата по ООП, Java Core, JVM, коллекциям, Stream API и алгоритмам. Основная практическая часть посвящена удалению элемента из двусвязного LinkedList с разбором ссылок, граничных случаев и работы сборщика мусора. В финале обсуждаются оптимизация SQL и Hibernate, денормализация, сокращение времени ответа, CI/CD и риски горизонтального масштабирования.
Затронутые темы
Что взять на заметку
- Повторить отличие ООП от функционального подхода: состояние и поведение объектов, инкапсуляцию, наследование и полиморфизм.
- Уметь объяснить композицию, ограничения множественного наследования в Java и роль интерфейсов как контракта.
- Подготовить практическое объяснение Interface Segregation и Dependency Inversion из SOLID, включая подмену реализации через абстракцию.
- Разобраться в инвариантности Java-дженериков: почему присваивание между Collection<Integer> и Collection<Number> небезопасно.
- Повторить признаки неизменяемого класса, устройство TreeMap, LinkedList, Stream API, forEach и стандартные функциональные интерфейсы.
- Отработать на доске удаление узла из двусвязного списка: поиск, переназначение next/previous, удаление первого или последнего узла и условие завершения обхода.
- Для задач производительности начинать с плана выполнения SQL и индексов; отдельно уметь обсуждать кэширование, объём возвращаемых данных, денормализацию и согласованность кэша при масштабировании.