Встречается на собеседованиях • сегодня
По каким правилам задачи попадают в стек вызовов
Стек вызовов (call stack) работает по принципу LIFO (Last In, First Out). Задачи попадают в стек в следующем порядке:
- Синхронный код выполняется сразу и добавляется в стек. Например:
javascript
function foo() {
console.log('foo');
}
foo(); // попадает в стек-
Асинхронные операции (setTimeout, промисы, события) сначала обрабатываются Web API, затем их колбэки попадают в очередь задач (callback queue). Когда стек пуст, событийный цикл (event loop) перемещает их в стек.
-
Макрозадачи (setTimeout, setInterval) и микрозадачи (промисы, queueMicrotask) имеют разный приоритет. Микрозадачи выполняются сразу после текущего синхронного кода, до макрозадач.
Пример:
javascript
console.log('1'); // синхронно
setTimeout(() => console.log('2'), 0); // макрозадача
Promise.resolve().then(() => console.log('3')); // микрозадача
// Вывод: 1, 3, 2
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы