Встречается на собеседованиях • сегодня
Как будешь действовать, если стек вызовов будет заполнен
При переполнении стека вызовов (Stack Overflow) можно:
- Оптимизировать рекурсию через хвостовую рекурсию (если поддерживается движком):
javascript
function factorial(n, acc = 1) {
if (n <= 1) return acc;
return factorial(n - 1, n * acc); // хвостовая рекурсия
}- Заменить рекурсию на итерацию:
javascript
function factorial(n) {
let result = 1;
for (let i = 2; i <= n; i++) {
result *= i;
}
return result;
}- Использовать setTimeout для разбиения на макрозадачи:
javascript
function processChunk(start, end) {
if (start >= end) return;
// обработка части данных
setTimeout(() => processChunk(start + 1, end), 0);
}-
Проверить на бесконечную рекурсию (самая частая причина переполнения)
-
Увеличить лимит стека (Node.js:
--stack-size=10000, но лучше избегать)

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