Встречается на 2% собеседований по Python
Как работал с кэшированием
В 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.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы