> Из каких этапов состоит событийный цикл JavaScript (JavaScript)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: Точка, Кэтрид Диджитал

Стек: JavaScript

> Пример ответа

Событийный цикл (Event Loop) в JavaScript - это механизм, который обеспечивает асинхронное выполнение кода в однопоточном окружении. Он состоит из нескольких ключевых этапов, циклически повторяющихся:

  1. Выполнение синхронного кода (Call Stack): Сначала движок выполняет все синхронные задачи из стека вызовов (Call Stack). Если стек пуст, переходит к следующему этапу.

  2. Обработка микрозадач (Microtask Queue): После каждого макрозадачи (или при опустошении стека) проверяется очередь микрозадач. Сюда попадают Promise.then/catch/finally, MutationObserver, queueMicrotask. Все микрозадачи выполняются до перехода к следующей макрозадаче.

  3. Обработка макрозадач (Macrotask Queue): Из очереди макрозадач (setTimeout, setInterval, I/O, UI-события) берётся одна задача и выполняется. После этого снова проверяется очередь микрозадач.

  4. Рендеринг (опционально): В браузере после обработки макрозадач может произойти обновление UI (requestAnimationFrame, стили, layout, paint). Этот этап не является частью самого Event Loop, но тесно с ним связан.

Таким образом, цикл повторяется: выполнение макрозадачи → все микрозадачи → рендеринг → следующая макрозадача.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью