Встречается на собеседованиях • сегодня
Как Event Loop работает с рендерингом
Event Loop управляет выполнением кода, обработкой событий и рендерингом в браузере. Он состоит из нескольких фаз:
- Выполнение синхронного кода из Call Stack
- Обработка микрозадач (Promises, MutationObserver) - имеют высший приоритет
- Рендеринг (если нужно) - происходит только если Event Loop решает, что пора обновить UI
- Обработка макрозадач (setTimeout, события)
Рендеринг блокируется, пока Call Stack не пуст. Браузер старается рендерить с частотой 60fps (~16ms на кадр), но может пропустить кадр, если JS-код выполняется дольше.
javascript
// Долгий синхронный код заблокирует рендеринг
button.addEventListener('click', () => {
// Блокируем рендеринг на 1 секунду
const end = Date.now() + 1000;
while (Date.now() < end) {}
// UI обновится только после завершения цикла
});Для плавного UI важно разбивать тяжелые задачи на части через requestAnimationFrame или setTimeout.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы