Встречается на собеседованиях • сегодня
Приведи пример интересной фичи которую реализовал
Одна из интересных фич, которую я реализовал — это декоратор для кеширования результатов функции с автоматическим инвалидацией по времени. Особенность в том, что можно задать TTL (время жизни кеша), после которого данные автоматически обновляются.
python
import time
from functools import wraps
def cached(ttl):
def decorator(func):
cache = {}
@wraps(func)
def wrapper(*args, **kwargs):
key = (args, frozenset(kwargs.items()))
now = time.time()
if key in cache:
value, timestamp = cache[key]
if now - timestamp < ttl:
return value
result = func(*args, **kwargs)
cache[key] = (result, now)
return result
return wrapper
return decorator
Пример использования
@cached(ttl=10) # Кеш на 10 секунд
def expensive_operation(x):
print("Выполняю сложные вычисления...")
return x * x
text
Плюсы:
- Уменьшает нагрузку на тяжелые операции
- Прозрачная инвалидация
- Поддержка аргументов функции
- Чистый код благодаря декоратору
Особенно полезно для API-клиентов, парсеров и других операций, где данные могут устаревать, но не требуют мгновенного обновления.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы