Вернуться в видеотекуКоротко о видео
Публичное учебное собеседование с 17-летним junior frontend-разработчиком Владиславом: он рассказывает о работе с Vue и личном Electron-приложении, где сложность связана с обработкой файлов и изображений. Основной блок посвящён JavaScript: объявлениям переменных, примитивам и объектам, сравнению, контексту this, замыканиям, асинхронности и цепочкам Promise. В финале интервьюеры считают, что кандидату пока не хватает понимания базовых механизмов JavaScript, особенно функций, контекста и Promise, но отмечают конкретные направления для обучения; это их оценка по данному разговору, а не результат реального найма.
Затронутые темы
Что взять на заметку
- Разобрать различие let, const и var: const фиксирует привязку переменной, а не запрещает менять свойства объекта; var имеет функциональную область видимости и допускает повторное объявление.
- Закрепить модель значений JavaScript: строки и другие примитивы неизменяемы, а объектные свойства можно переназначать, потому что меняется ссылка ключа на значение, а не само примитивное значение.
- Практиковать == и === на примитивах с приведением типов, а для объектов помнить, что оба оператора сравнивают ссылки, поэтому два отдельно созданных одинаковых объекта не равны.
- Изучить, от чего зависит this при вызове функции, и как потеря контекста ломает метод класса при присваивании его в другую переменную.
- Отработать замыкания на примере кэша с get/set: вложенная функция видит переменные внешней области, но внешний код не получает прямого доступа к локальным данным.
- Понять порядок выполнения Promise: executor и переданный в него код выполняются синхронно, каждый .then возвращает новый Promise, а return Error отличается от throw Error для обработки в .catch.
- Использовать рекомендации из финала как план подготовки: пройти базу на javascript.ru, просить code review у коллег и разбираться в устройстве Vue и других используемых инструментов, а не применять их как «чёрный ящик».