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

#9 С Java на JavaScript в 35. Собеседование на Frontend Junior разработчика

Выпуск «Отсобеседования» с учебным интервью кандидата Дмитрия на Junior Frontend. Собеседующие проверяют глубину понимания JavaScript, браузерных API, HTML-семантики, доступности и CSS, после чего дают развёрнутую обратную связь.

Источник: Отсобеседование

Открыть на YouTube

Таймлайн

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

Это учебное mock-интервью Дмитрия на позицию Junior Frontend-разработчика: он рассказывает о переходе от Java и бэкенда к JavaScript, работе над интернет-магазином и собственной реализации аутентификации с access/refresh tokens. Основная часть — подробный опрос по JavaScript, Web API, HTML и CSS: функции, контекст и замыкания, модули, event loop, Shadow DOM, семантика, таблицы, изображения, iframe и изоляция стилей. В финале собеседующие высказывают мнение, что его знаний достаточно для junior-позиции, отмечая отдельные пробелы в вёрстке и Web API; это оценка участников шоу, а не результат реального найма.

Затронутые темы

Что взять на заметку

  • Подготовить чёткое различение function declaration и function expression: expression создаёт значение-функцию и удобно передаётся inline как callback, а declaration создаёт именованное объявление в области видимости.
  • Разобрать `this`: стрелочная функция берёт лексический контекст, а контекст обычной функции зависит от вызова; `call`, `apply` и `bind` меняют способ его задания, причём повторный `bind` не перепривязывает уже связанную функцию.
  • Уметь объяснить ES modules на примере повторного импорта: модуль исполняется один раз и переиспользуется; отдельно стоит перепроверить нюансы live bindings и различия примитивов и объектов.
  • Для вопросов об event loop связать call stack, очередь задач, microtasks и таймеры: `setTimeout` задаёт минимальную задержку, но callback выполнится лишь когда стек освободится и более приоритетные задачи не задержат его.
  • В HTML важно аргументировать семантику: единый `h1` как главный заголовок, иерархия `h1`–`h6`, а также различия `article`, `section`, `aside`, `nav`, `header` и `footer`; реальные табличные данные нужно размечать `table`, а не Grid или Flex.
  • Для изображений нужно резервировать размеры через атрибуты или CSS, чтобы не допускать layout shift; обсудить выбор JPEG/PNG/SVG/WebP, fallback через `picture` или серверную content negotiation и ограничения SVG-спрайтов между доменами.
  • По CSS подготовить сравнение BEM, Tailwind и подходов с изоляцией на уровне компонентов: BEM требует дисциплины именования, Tailwind может ухудшать читаемость разметки, а динамически собираемые классы нужно явно включать в safelist сборщика.

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

2 ч 9 мин
FrontendMiddle

#5 Мидл в 18 лет? Собеседование на Frontend Middle разработчика

Учебное собеседование по фронтенду с подробным разбором ответов кандидата по JavaScript, браузерным API, HTML и CSS. В конце интервьюеры дают кандидату рекомендации по подготовке к следующему собеседованию.

2 ч 26 мин
FrontendJunior

#6 Как волноваться и не облажаться? Собеседование на Frontend Junior разработчика

Учебное собеседование на junior frontend-разработчика с подробным разбором JavaScript, HTML, DOM API и CSS. Ведущие уточняющими вопросами проверяют не только ответы кандидата, но и глубину понимания механизмов браузера.