Вернуться в видеотекуКоротко о видео
Это мок-интервью по JavaScript для фронтенд-разработчика: ведущий последовательно проверяет знания кандидата и затем даёт задания на лайвкодинг. Обсуждаются области видимости и hoisting, типы и преобразования, функции и `this`, массивы, таймеры, `Promise` и Event Loop, а также ссылки и копирование объектов. Кандидат честно отмечает пробелы; в практической части проверяются результаты через запуск кода, но сам экранный код в captions не представлен.
Затронутые темы
Что взять на заметку
- Повторить, где исполняется JavaScript: его запускает движок браузера или среда вроде Node.js, а не сам редактор кода.
- Чётко различать `var`, `let` и `const`: повторное присваивание, области видимости, hoisting и temporal dead zone; отдельно знать разницу между `Function Declaration` и `Function Expression` при вызове до объявления.
- Освежить типы JavaScript: `undefined`, `null`, `symbol`, `bigint`, примитивы и объекты; помнить особенности `typeof null`, массива и функции.
- Уметь объяснить неявное приведение типов при `==` и отсутствие такого приведения при `===`, а также различие `null` и `undefined`.
- Подготовить короткие объяснения замыканий, ссылочной природы объектов, контекста `this`, лексического `this` у стрелочных функций и назначения `call`, `apply`, `bind`.
- Практически знать методы массивов: `push`, `shift`, `filter`, `sort`, `reduce`, а также разницу между мутирующими и немутирующими методами.
- Разобрать состояния `Promise` (`pending`, `fulfilled`, `rejected`), обработку асинхронных цепочек и роль Event Loop; для объектов — деструктуризацию, поверхностное копирование и ограничения копирования через `JSON.stringify`/`JSON.parse`.
- На тренировках писать небольшие задачи без подсказок: сумму массива, деструктуризацию объекта, проверку ссылочного копирования и вызовы функций до их объявления.