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

Как работал с кэшированием

В Python для кэширования часто используют functools.lru_cache для мемоизации функций. Это декоратор, который сохраняет результаты вызовов функции с определенными аргументами, избегая повторных вычислений.

Пример:

python
from functools import lru_cache

@lru_cache(maxsize=128)
def expensive_func(n):
print(f"Calculating for {n}...")
return n * n

print(expensive_func(5)) # Вычисляется
print(expensive_func(5)) # Берётся из кэша

text

**Нюансы:**  
- `maxsize` ограничивает размер кэша (None — без ограничений).  
- Для изменяемых аргументов (например, словари) лучше преобразовывать их в хешируемые типы (кортежи).  
- Не подходит для функций с побочными эффектами или динамически меняющимися данными.  

Для распределённого кэширования используют Redis или Memcached.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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