Devs Hive
Повернутися до всіх запитань

Що таке мемоізація?

JavaScriptJuniorMiddle
Зустрічали на інтервʼю:1 користувач

Мемоізація - це одна з технік оптимізації при якій ми запамʼятовуємо результат виконання функції для конкретних вхідних даних і при наступних викликах з тими ж аргументами повертаємо вже готовий результат, замість того щоб знову все перераховувати.

Розберемо простий приклад

Уяви, що працюєш над криптобіржою і тобі потрібно перераховувати ціну монет в USD і показувати для користувача.

Баланс користувача
BTC: 0.1
ETH: 2
USDT: 500

Ціна активів в момент часу
BTC: 70 000 USDT // Спеціально занизив 😁
ETH: 3 000 USDT
USDT: 1 USDT

Загальна вартість: ? USDT

Якщо баланс користувача і ціни монет не змінилися, ми можемо мемоізувати результат обчислень і повертати його з кешу, замість того щоб кожен раз знову перемножувати всі монети на їхню ціну. Наприклад, ціна USDT практично не змінюється і ми будемо брати її з кешу до тих пір поки клієнт не поповнить свій рахунок.

В контексті інтервʼю, важливо підкреслити, що ця техніка особливо важлива в контексті оточень з обмеженими CPU ресурсами. Наприклад мобільна версія сайту чи різні гібридні дотатки на React Native, Expo, Ionic i тд.

Зустрічав на інтервʼю?

Коментарі (0)

Увійдіть, щоб залишити коментар

Поки що немає коментарів. Будьте першим!