Встречается на собеседованиях • сегодня
При каких ситуациях не сработает условие остановки рекурсии
Рекурсия не остановится, если:
- Условие выхода никогда не выполняется (бесконечная рекурсия)
- Условие выхода зависит от изменяемых данных, которые не обновляются
- Глубина рекурсии превышает лимит стека вызовов (Stack Overflow)
Пример опасного кода:
javascript
function recursive(n) {
if (n === 0) return; // Условие выхода
recursive(n); // Передаём то же n - бесконечный цикл
}Другой случай - условие с плавающей точкой:
javascript
function sum(n, total = 0) {
if (n <= 0.1) return total; // 0.1 + 0.1 + 0.1 = 0.30000000000000004
return sum(n - 0.1, total + 0.1);
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы