Встречается на собеседованиях • сегодня
Как работал с кэшированием
В 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
интервью вопросы и ответы