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

Как предотвратить прекращение работы сайта при рекурсии данных

Рекурсия в данных может привести к бесконечным циклам и падению производительности. Вот основные способы предотвращения:

  1. Ограничение глубины рекурсии
javascript
function processData(data, depth = 0, maxDepth = 10) {
  if (depth > maxDepth) return;
  // ...обработка данных
  if (data.children) {
    data.children.forEach(child => 
      processData(child, depth + 1, maxDepth)
    );
  }
}
  1. Проверка циклических ссылок
javascript
const seen = new WeakSet();
function processCircular(data) {
  if (seen.has(data)) return;
  seen.add(data);
  // ...обработка данных
}
  1. Использование итеративного подхода вместо рекурсивного для глубоких структур

  2. Добавление таймаутов для асинхронных операций

  3. Валидация входящих данных на сервере перед обработкой

Для React-компонентов важно использовать key при рендеринге рекурсивных структур и избегать мутаций state.

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

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

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

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