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

Мок-собеседование на Senior Frontend-разработчика: JavaScript-задачи

Кандидат решает задачи по JavaScript под уточняющие вопросы интервьюера. Обсуждаются event loop и промисы, обход зависимостей, а также защита интерфейса от устаревших ответов запросов.

Тихон Галактионов
  • Опубликовано на YouTube:
  • Просмотры на YouTube: 905
  • Лайки на YouTube: 19
Открыть на YouTube

Таймлайн

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

Во второй части мок-собеседования на Senior Frontend-разработчика кандидат вслух разбирает несколько задач по JavaScript. В начале он объясняет порядок выполнения синхронного кода, промисов и макрозадач в event loop. Затем обсуждает функцию, которая ждёт результаты промисов, собирает их в массив и должна корректно обработать ошибки. В следующей задаче кандидат проектирует проверку зависимостей и отличает повторную ссылку от циклической зависимости, используя отдельные наборы для обхода. Финальная задача посвящена запросам из интерфейса: интервьюер предлагает хранить счётчик запросов в ref и сравнивать идентификаторы, чтобы не применить результат устаревшего запроса. По ходу записи интервьюер просит уточнять аргументацию и проверять решение на примерах.

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

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

  • При разборе event loop важно учитывать, что executor-функция Promise выполняется синхронно, а очередь микрозадач обрабатывается до следующей макрозадачи.
  • Для функции, объединяющей набор промисов, нужно явно обработать пустой массив и отклонение хотя бы одного промиса.
  • Для обнаружения циклов в графе зависимостей полезно различать множество текущего пути обхода и множество уже обработанных узлов.
  • В интерфейсных запросах можно сравнивать идентификатор текущего запроса с последним, чтобы игнорировать устаревший ответ.

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