Question bank, System design, Infra / API platform
Design a rate limiter
Design a distributed rate limiter for a public API: each API key may make at most N requests per window.
35 minutes, for mid-level, senior engineers
How the interview runs
- 1.Requirements. Before we design anything: what are the core functional requirements, and which non-functional ones matter most here?
- 2.Estimates. Let's size it. Assume 1 million API keys and 50K requests per second at peak across 20 API servers.
- 3.API + data model. What does the API look like, and how would you model and store the data?
- 4.High-level design. Walk me through the high-level architecture, request by request.
- 5.Deep dive. Which algorithm do you use, and how do you keep counts correct across many servers without adding much latency?
- 6.Trade-offs + failure. What are the main trade-offs you made, and what happens when a component fails?
What you're graded on
- Clarified requirements15 pts
- Back-of-envelope estimates10 pts
- Clear API10 pts
- Data model + storage choice15 pts
- Coherent architecture15 pts
- Algorithm + distributed counting20 pts
- Trade-offs8 pts
- Failure handling7 pts
Practice this one for real
Answer it phase by phase, then get the rubric score, what you missed and the model answer outline.
Unlock with Lifetime