Ctrl K
Python · Senior · System design

A product catalog service written in Python gets tens of thousands of read requests per second, and the database can't keep up anymore. How would you design caching?

~10 min by voice

How to approach it

The interviewer checks whether the candidate can design a cache as a system rather than just "put Redis in": start from the load profile and acceptable staleness, choose a strategy and invalidation approach, plan for failure scenarios (stampede, Redis going down, races), and measure the effect with metrics.

Have you seen this question in a real interview?
Answers0
Avg. score—
Strong—
Practiced0
Topics
Similar questionsПеред базой стоит кеш в Redis с карточками товаров, TTL — пять минут. Расскажите, как бы вы организовали чтение и обновление, как кеш может разойтись с базой, и что произойдёт, когда истечёт TTL у очень популярного ключа. Mid-levelWrite a memoizeAsync function. It takes an async function of a string key and a cache time to live in milliseconds, and returns a wrapper: a repeated call with the same key doesn't go to the network, concurrent calls share a single request, and errors aren't cached. SeniorYou added a cache in front of the database for product cards, and users started complaining that they see outdated prices. How should you set up caching to avoid this? Mid-levelDesign a URL shortener: a user submits a long URL and gets a short one, and following the short link redirects to the original. Mid-levelWhy does a backend need a cache, and what problems show up when you add one? Junior

Answer by voice

The interviewer will ask this question and listen. Think out loud and ask for a hint if you need one. When you're done, pause or tap “That's my answer”. In about a minute, your score and the points you covered show up here.

Sign in to answer

Best with headphones · ~10 min