[ OK ] 426 — full content available
[ INFO ] category: System Design difficulty: hard freq: high first seen: 2026-01-13
[HARD][SYSTEM DESIGN][HIGH]data_engineeringDistributed SystemsAPI Designwebmachine_learningbackendRedisinfrastructure
$ cat problem.md
Design a rate limiter system that can limit the number of requests a user/client can make within a time window.
Requirements:
- Support multiple rate limiting algorithms (Token Bucket, Sliding Window, Fixed Window)
- Distributed rate limiting across multiple servers
- Low latency decision making
- Handle high throughput
- Support different limits for different users/endpoints
Key Components to Discuss:
- Rate Limiting Algorithms
- Distributed Counter (Redis)
- Rule Configuration Service
- Monitoring and Alerting
Discussion Points:
- Token Bucket vs Sliding Window vs Fixed Window
- How to handle distributed state
- Race conditions in counter updates
- What happens when rate limiter service is down
- Monitoring and alerting strategies
- Rate limit headers in responses
// Functionality to add full integration TBD, in the meantime, please check out the problem description to see what you might expect in the interview!