Мок-собеседование на Senior Frontend-разработчика: JavaScript-задачи
Кандидат решает задачи по JavaScript под уточняющие вопросы интервьюера. Обсуждаются event loop и промисы, обход зависимостей, а также защита интерфейса от устаревших ответов запросов.
- Опубликовано на YouTube:
- Просмотры на YouTube: 905
- Лайки на YouTube: 19
Таймлайн
Коротко о видео
Во второй части мок-собеседования на Senior Frontend-разработчика кандидат вслух разбирает несколько задач по JavaScript. В начале он объясняет порядок выполнения синхронного кода, промисов и макрозадач в event loop. Затем обсуждает функцию, которая ждёт результаты промисов, собирает их в массив и должна корректно обработать ошибки. В следующей задаче кандидат проектирует проверку зависимостей и отличает повторную ссылку от циклической зависимости, используя отдельные наборы для обхода. Финальная задача посвящена запросам из интерфейса: интервьюер предлагает хранить счётчик запросов в ref и сравнивать идентификаторы, чтобы не применить результат устаревшего запроса. По ходу записи интервьюер просит уточнять аргументацию и проверять решение на примерах.
Затронутые темы
Что взять на заметку
- При разборе event loop важно учитывать, что executor-функция Promise выполняется синхронно, а очередь микрозадач обрабатывается до следующей макрозадачи.
- Для функции, объединяющей набор промисов, нужно явно обработать пустой массив и отклонение хотя бы одного промиса.
- Для обнаружения циклов в графе зависимостей полезно различать множество текущего пути обхода и множество уже обработанных узлов.
- В интерфейсных запросах можно сравнивать идентификатор текущего запроса с последним, чтобы игнорировать устаревший ответ.