Тестовое собеседование #1. Вопрос по JavaScript на техническом интервью Junior Frontend-разработчика
Пробное JavaScript-интервью для подготовки к позиции Junior Frontend-разработчика. Автор задаёт типовые вопросы и предлагает кандидату решить несколько задач в лайвкодинге.
Александр Дудукало
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 14,9 тыс.
- Лайки на YouTube: 616
Таймлайн
Коротко о видео
Это учебное пробное техническое интервью по 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 и извлечь функции через деструктуризацию.