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

В чем разница между Event Loop в браузере и через Node.js

Event Loop в браузере и Node.js имеют схожую концепцию, но различаются в деталях реализации:

  1. Браузер:
    • Использует один главный поток (UI thread) для рендеринга и выполнения JS.
    • Имеет микротаски (Promises, MutationObserver) и макротаски (setTimeout, события UI).
    • Разные API для работы с асинхронностью: XHR, Fetch, DOM Events.
  1. Node.js:
    • Использует libuv для обработки асинхронных операций.
    • Имеет дополнительные фазы: timers, I/O callbacks, idle/prepare, poll, check, close callbacks.
    • Поддерживает worker threads для параллельного выполнения.

Пример для Node.js:

js
setTimeout(() => console.log('timer'), 0);
setImmediate(() => console.log('immediate'));
// Порядок вывода не гарантирован!

В браузере микротаски выполняются между макротасками, а в Node.js - в конце каждой фазы Event Loop.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

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