Вернуться в видеотеку

Техническое собеседование Frontend-разработчика: пакетирование запросов

Кандидатка проектирует обёртку над fetch, которая собирает запросы по ID в пакет. Интервьюер уточняет работу timeout, Promise, очистку состояния и момент выполнения batch-запроса.

Источник: Тихон Галактионов

Открыть на YouTube

Таймлайн

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

Это вторая часть технического собеседования frontend-разработчика. Интервьюер даёт практическую задачу: обернуть функцию загрузки данных так, чтобы вызовы по разным ID накапливались за небольшой интервал и уходили на backend одним пакетным запросом. Кандидатка предлагает хранить ID, Promise и timer, а затем по шагам уточняет, как сопоставить результаты с исходными вызовами. Интервьюер проверяет крайние сценарии: что происходит после завершения timeout, надо ли очищать его вручную, когда сбрасывать массив ID и как не потерять данные при продолжающемся запросе. В конце он завершает активную часть, предлагает задать вопросы и сообщает, что результат и дальнейшие шаги придут через другого собеседующего.

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

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

  • Пакетирование запросов сокращает число обращений к backend при серии вызовов за короткий интервал.
  • Для каждого исходного вызова нужно сохранить resolver или иной способ сопоставить его ID с элементом ответа batch-запроса.
  • Для фиксированного окна пакетирования таймер запускают первым запросом и не перезапускают при каждом следующем: иначе получится debounce, а отправка может бесконечно откладываться.
  • Перед запуском batch-запроса нужно отделить текущие ID и resolver'ы от нового состояния, чтобы вызовы во время ожидания ответа сформировали следующий пакет.
  • Асинхронное решение следует проверять сценариями с несколькими окнами, повторяющимися ID и разным временем выполнения запросов.

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

1:21:41
FrontendJunior

Собеседование Junior frontend-разработчика: вопросы и задачи

Техническое собеседование на Junior+ Frontend-позицию на канале ApexNovaTech: кандидат отвечает на вопросы по CSS, JavaScript и React, затем пробует решить задачи на асинхронное выполнение цикла и группировку массива пользователей. Ведущие разбирают ошибку на границе цикла и дают фидбек о необходимости укрепить практику базового JavaScript.

51:16
FrontendSenior

Техническое собеседование Frontend-разработчика по Vue.js

Кандидат рассказывает о процессах команды, code review, тестировании и миграции роутинга. Во второй части интервьюер предлагает доработать функцию загрузки скрипта и разбирает ход рассуждений.