Вернуться в каталог собеседований

Тестовое собеседование #1. Вопрос по JavaScript на техническом интервью Junior Frontend-разработчика

Пробное JavaScript-интервью для подготовки к позиции Junior Frontend-разработчика. Автор задаёт типовые вопросы и предлагает кандидату решить несколько задач в лайвкодинге.

Александр Дудукало
  • Опубликовано на YouTube:
  • Просмотры на YouTube: 14,9 тыс.
  • Лайки на YouTube: 616
Открыть на YouTube

Таймлайн

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

Это учебное пробное техническое интервью по JavaScript с Альбертом, который, по собственным словам, изучает язык около двух лет в режиме хобби. В теоретической части разбирают переменные и hoisting, типы и преобразования, ссылки, замыкания, `this`, функции, объекты, массивы и классы. Затем кандидат выполняет лайвкодинг: пишет функции, исследует `setTimeout`, методы массивов, `reduce`, rest/spread-синтаксис, деструктуризацию и замыкание.

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

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

  • Для вопросов про `var`, `let` и `const` нужно связно объяснять область видимости, повторное объявление и присваивание, а также hoisting; отдельно уметь показать различие Function Declaration и Function Expression.
  • Стоит подготовить точные ответы про `null`, `undefined` и `typeof`: оператор возвращает строку, а массивы и функции имеют особенности результата `typeof`.
  • Нужно различать неявное приведение при `==` и строгое сравнение `===`, а явное преобразование показывать через вызовы наподобие `Number(...)`.
  • На интервью проверяют понимание ссылочных типов: массивы, объекты и функции передаются по ссылке, поэтому изменение объекта через одну переменную видно через другую.
  • Нужно уметь объяснить `call`, `apply` и `bind`, а также различие контекста у обычной и стрелочной функции.
  • Для массивов важно не путать мутирующие и немутирующие методы, знать поведение `forEach`, `sort`, `splice`, `slice`, `filter` и `reduce`, включая роль начального значения в `reduce`.
  • Полезно потренировать короткие задачи без восстановления готового кода: удалить элемент массива разными способами, посчитать сумму через `reduce`, объединить массивы через spread и извлечь функции через деструктуризацию.

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