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

Какие знаешь инструменты мемоизации

Мемоизация — это техника оптимизации, сохраняющая результаты дорогостоящих вычислений для повторного использования.

React:

  • React.memo — мемоизирует компонент, предотвращая лишние ререндеры при неизменных пропсах.
  • useMemo — кеширует результат вычислений внутри компонента.
  • useCallback — мемоизирует колбэки, чтобы избежать их пересоздания.

Vanilla JS:

  • Ручная реализация через замыкания:
javascript
function memoize(fn) {
  const cache = {};
  return (...args) => {
    const key = JSON.stringify(args);
    return cache[key] ?? (cache[key] = fn(...args));
  };
}

Библиотеки:

  • lodash.memoize — готовая функция для мемоизации.
  • Reselect (для Redux) — мемоизирует селекторы, оптимизируя стейт-менеджмент.

Нюансы:

  • Не злоупотребляй: мемоизация требует памяти.
  • Для примитивов и простых объектов — работает хорошо, для сложных структур нужна осторожность (например, глубокое сравнение).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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