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

Приведи пример интересной задачи с проекта

Вот пример интересной задачи, с которой можно столкнуться в реальном проекте:

Задача: Реализовать кэширование результатов дорогостоящих вычислений с автоматическим инвалидацией кэша при изменении входных параметров.

python
from functools import lru_cache
import hashlib

def param_hash(*args, **kwargs):
    """Генерирует хеш от аргументов функции"""
    arg_str = str(args) + str(kwargs)
    return hashlib.md5(arg_str.encode()).hexdigest()

def smart_cache(func):
cache = {}

text
def wrapper(*args, **kwargs):
    key = param_hash(*args, **kwargs)
    if key not in cache:
        cache[key] = func(*args, **kwargs)
    return cache[key]

return wrapper

@smart_cache
def expensive_computation(data):
# Дорогостоящие вычисления
result = sum(x**2 for x in data) / len(data)
return result

text

Особенности решения:
1. Используем декоратор для кэширования
2. Генерируем уникальный ключ на основе хеша аргументов
3. Автоматически инвалидируем кэш при изменении параметров
4. Позволяет избежать повторных вычислений для одинаковых входных данных

Этот подход особенно полезен для:
- Обработки больших объемов данных
- Сложных математических вычислений
- Запросов к внешним API
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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