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

Какие знаешь способы решения утечки памяти

  1. Отписка от событий – удалять слушатели событий при unmount компонента:
js
useEffect(() => {
  const handler = () => {};
  window.addEventListener('resize', handler);
  return () => window.removeEventListener('resize', handler);
}, []);
  1. Отмена асинхронных операций – прерывать запросы при размонтировании:
js
useEffect(() => {
  const controller = new AbortController();
  fetch(url, { signal: controller.signal })
    .then(...);
  return () => controller.abort();
}, []);
  1. Очистка таймеров – очищать setTimeout/setInterval:
js
useEffect(() => {
  const timer = setTimeout(() => {}, 1000);
  return () => clearTimeout(timer);
}, []);
  1. Закрытие соединений – WebSockets, WebWorkers.

  2. Избегать глобальных переменных – не хранить данные в window/global.

  3. Использовать WeakMap/WeakSet – для хранения временных данных.

  4. Профилирование – использовать DevTools Memory tab для поиска утечек.

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

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

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

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