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

Какая идея, которую тебе удалось реализовать в работе, была для тебя самой яркой и запоминающейся

Разработка системы кэширования для высоконагруженного API с автоматической инвалидацией данных. Использовал Redis в сочетании с декораторами Python для прозрачного кэширования методов. Особенно горжусь механизмом инвалидации - при изменении данных в БД кэш автоматически обновлялся через Django Signals.

Пример реализации:

python
def cache_result(key_pattern, timeout=300):
    def decorator(func):
        @wraps(func)
        def wrapper(*args, **kwargs):
            cache_key = key_pattern.format(*args, **kwargs)
            result = cache.get(cache_key)
            if result is None:
                result = func(*args, **kwargs)
                cache.set(cache_key, result, timeout)
            return result
        return wrapper
    return decorator

@receiver(post_save, sender=Product)
def invalidate_product_cache(sender, instance, **kwargs):
    cache.delete(f'product_{instance.id}_details')

Это сократило нагрузку на БД на 70% и ускорило ответ API в 3-5 раз.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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