Это техническое собеседование, которое продлится около часа.
Вас попросят выполнить несколько задач по JavaScript, написав работающий код в онлайн-редакторе. Мы будем проверять знание языка и умение находить оптимальные решения.
Чтобы успешно пройти интервью, вам нужно знать основы JavaScript: асинхронность, функции, замыкания, контекст, область видимости и основные конструкции, владеть базовыми техническими навыками.
Это техническое собеседование, которое продлится около часа.
Вас попросят решить несколько задач на JavaScript, чтобы проверить базовые навыки:
Для решения задач достаточно базово разбираться в алгоритмической сложности и стандартных объектах JavaScript. Мы не оцениваем знания спецификации. Если вы забыли стандартную функцию, её подскажет интервьюер или онлайн‑редактор.
После обменяемся фидбеком и сообщим, кто готов пригласить вас к себе.
Методы bind, call и apply
Отличия Function Declaration, Function Expression и стрелочных функций
Получение списка аргументов в функциях через arguments и спред-синтаксис
Циклы и рекурсия (условие выхода, возвращение результата)
Деструктуризация массивов и объектов
В каких случаях данные хранятся и передаются «по ссылке» и «по значению»
Преобразование типов и разница между == и ===
Методы массива (reduce, reduceRight, forEach, map, filter, sort, join, pop и т. д.)
Методы строки (split, includes, slice и т. д.)
Выброс ошибки с помощью throw
Область видимости переменных, различия const, let, var
Стандартные конструкции языка, что нового появилось в синтаксисе ES6
Promise и асинхронность в JavaScript
Статические методы промисов (Promise.all, Promise.race, Promise.any и другие)
Методы промисов (then, catch и finally)
Создание промисов через конструктор new Promise(...)
Синтаксис async/await
Способы создания асинхронных функций: возвращение промиса и async
Как пробрасывать и обрабатывать ошибки в цепочке промисов
Взаимодействие синхронных и асинхронных участков кода, например цикл for и асинхронный код в его теле
Как работает асинхронность и промисы на практике / раз, два, три
Задачи на асинхронность из CodeRun
Канал Young&&Yandex по фронтенду
Канал Яндекса по фронтенду
Время выполнения и расход памяти большинства алгоритмов
Введение в теорию сложности алгоритмов для опытных практиков
Знание базовых и продвинутых синтаксических конструкций
Умение оценивать алгоритмическую сложность решения (O-большое)
Канал Young&&Yandex по фронтенду
Канал Яндекса по фронтенду
Разбор секции «Базовые технические навыки»
Не рекомендуем: машину, торговые центры, переполненные кофейни
Напишите, если остались вопросы: intern@yandex-team.ru