Встречается на собеседованиях • сегодня

Что такое Event Loop

Вот как можно кратко объяснить что такое Event Loop, чтобы собеседующий понял, что ты в теме:

Event Loop — это механизм, который позволяет JavaScript выполнять асинхронный код в однопоточной модели. Он следит за очередями задач и выполняет их, когда основной поток освобождается. Сначала выполняются микрозадачи (промисы, MutationObserver, queueMicrotask), потом макрозадачи (setTimeout, setInterval, события).

Основные шаги работы Event Loop:

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

2. Асинхронные операции (таймеры, fetch, промисы)
Когда встречается асинхронная операция, она откладывается и регистрируется через Web APIs (в браузере или Node.js).

3. Очистка Call Stack
Когда весь синхронный код выполнен и стек пуст, Event Loop:
• Сначала берёт задачи из очереди микрозадач (Microtasks Queue) — сюда попадают .then(), catch(), finally(), queueMicrotask.
• Затем из очереди макрозадач (Macrotasks Queue) — setTimeout, setInterval, setImmediate и события (onclick и т.п.).

4. Цикл повторяется
Процесс продолжается, пока есть задачи для выполнения.

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы