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

Техническое интервью Java Developer - Дмитрий Квасников

Развёрнутое учебное интервью Junior Java Developer с вопросами по Java Core, ООП, коллекциям, базам данных и Spring. Включает две практические задачи: клонирование объекта и нормализацию таблицы.

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

Открыть на YouTube

Таймлайн

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

Публичное учебное техническое интервью с Дмитрием Квасниковым на уровень 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.

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