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

Практическое Frontend-собеседование с задачами JavaScript

Запись технической frontend-секции собеседования в Avito: кандидатка разбирает потерю контекста this, strict mode, области видимости и event loop, а затем реализует DOM-список подсказок. В финале обсуждаются отмена устаревших запросов через AbortController, периодическое обновление данных и назначение HTTP-заголовков.

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

Открыть на YouTube

Таймлайн

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

Запись технической секции frontend-собеседования, в которой интервьюер просит кандидатку вслух объяснять решения. Сначала разбираются потеря this при передаче метода, strict mode и применение bind, call и apply; затем — области видимости, замыкания, мутация и переприсваивание объектов, event loop и queueMicrotask. В DOM-задаче кандидатка собирает список подсказок для поля ввода, обрабатывая пустой ввод, пустой ответ, ошибку и очистку контейнера. Заключительные блоки посвящены отмене устаревших запросов через AbortController, реализации периодического обновления данных и базовой роли HTTP-заголовков.

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

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

  • Контекст this определяется способом вызова; при передаче метода как функции его можно сохранить через bind либо вызвать с call или apply.
  • Замыкание сохраняет связь с переменными лексического окружения; для объектов важно различать мутацию и последующее переприсваивание.
  • После текущей задачи выполняются накопившиеся microtask до следующей macrotask; callback можно явно добавить в очередь через queueMicrotask.
  • В интерфейсе подсказок не следует отправлять запрос при пустом вводе: нужно очищать старую выдачу и отдельно обрабатывать пустой ответ и ошибку.
  • Debounce уменьшает число запросов, но не устраняет race condition; для отмены устаревшего запроса подходит AbortController.
  • Периодическое обновление данных требует управляемого запуска и остановки таймера, а также обработки ошибок запроса.
  • HTTP-заголовки передают метаданные запроса, включая данные авторизации и политики кэширования.

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