Ctrl K
Python · Senior · Дизайн

Сервис каталога товаров на Python получает десятки тысяч запросов на чтение в секунду, и база перестаёт справляться. Как вы спроектируете кэширование?

~10 мин голосом

Как подойти

Проверяют, умеет ли кандидат спроектировать кэш как систему, а не просто «поставить Redis»: начать с профиля нагрузки и допустимой устарелости, выбрать стратегию и инвалидацию, предусмотреть отказные сценарии (stampede, падение Redis, гонки) и измерять эффект метриками.

Встречал этот вопрос на настоящем собесе?
Ответов0
Средний балл—
Сильных—
Тренировали0
Темы
Похожие вопросыПеред базой стоит кеш в Redis с карточками товаров, TTL — пять минут. Расскажите, как бы вы организовали чтение и обновление, как кеш может разойтись с базой, и что произойдёт, когда истечёт TTL у очень популярного ключа. MiddleНапишите функцию memoizeAsync. Она принимает асинхронную функцию от строкового ключа и время жизни кэша в миллисекундах и возвращает обёртку: повторный вызов с тем же ключом не ходит в сеть, параллельные вызовы делят один запрос, а ошибки не кэшируются. SeniorВы добавили кеш перед базой данных для карточек товаров, и пользователи начали жаловаться, что видят старые цены. Как устроить кеширование, чтобы этого избежать? MiddleСпроектируйте сервис коротких ссылок: пользователь отдаёт длинный URL и получает короткий, а переход по короткой ссылке перенаправляет на оригинал. MiddleЗачем бэкенду кеш, и какие проблемы появляются, когда вы его добавляете? Junior

Ответь голосом

Интервьюер задаст этот вопрос и послушает. Думай вслух, проси подсказку, если нужно. Закончил — пауза или «Я ответил», через минуту здесь балл и какие пункты закрыты.

Войти, чтобы ответить

Лучше в наушниках · ~10 мин