Техническое интервью Java Developer - Дмитрий Квасников
Развёрнутое учебное интервью Junior Java Developer с вопросами по Java Core, ООП, коллекциям, базам данных и Spring. Включает две практические задачи: клонирование объекта и нормализацию таблицы.
Максим Добрынин | ex. Jetbulb
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 24,6 тыс.
- Лайки на YouTube: 594
Таймлайн
Коротко о видео
Публичное учебное техническое интервью с Дмитрием Квасниковым на уровень Junior Java Developer: после краткого рассказа кандидата ведущий проверяет Java, ООП, коллекции, SQL и Spring. Ведущий уточняет и исправляет несколько ответов, в частности различие полиморфизма и инкапсуляции, а также нормальные формы БД. В финале авторы предлагают кандидату практическую задачу во внутреннем проекте под контролем middle- и senior-разработчиков; это не подтверждение трудоустройства.
Затронутые темы
Что взять на заметку
- Кандидат сообщает, что учится программированию около 11 месяцев, а Java — около четырёх; для подготовки к Junior-интервью ему проверяют базу, а не только фреймворки.
- Нужно уверенно объяснять различие Java и JavaScript, строгую типизацию, диапазон и размер int, стек и heap, а StackOverflow связывать прежде всего с незавершённой глубокой или бесконечной рекурсией.
- Стоит отделять полиморфизм от инкапсуляции: полиморфизм — разное поведение реализаций одной иерархии/контракта; интерфейсы задают контракт, а принцип Interface Segregation советует предпочитать небольшие специализированные интерфейсы «жирным».
- Практическое задание разбирает clone(): переопределение Object.clone(), возврат более узкого типа Bird, копирование полей через конструктор и роль маркерного интерфейса Cloneable; глубокое и поверхностное копирование намеренно не углубляют.
- По коллекциям нужно знать: Map не наследует Collection из-за модели «ключ—значение»; ArrayList — динамический массив, LinkedList хранит связи узлов и имеет быстрый доступ к краям, TreeSet опирается на красно-чёрное дерево с логарифмической сложностью операций.
- Для SQL проверяются constraints, уникальность PRIMARY KEY, атомарность значений в первой нормальной форме и различия INNER, LEFT и RIGHT JOIN. Ведущий отдельно уточняет, что вынос повторяющихся сущностей в отдельную таблицу относится уже ко второй нормальной форме.
- Для Spring следует различать IoC и DI, знать конструкторное, field- и setter-injection, назначение @Qualifier при нескольких кандидатах, порядок создания/инъекций и области видимости singleton, prototype и web-scopes.