Design labs
A scenario, worked the way an interview goes: agree the requirements, size it, design the interface, choose where the data lives, decide how it scales, and say what breaks first. You get a scorecard naming which of those went worst.
What you are scored on
- Requirements gathering
- Capacity estimation
- API design
- Data model
- Scaling strategy
- Bottleneck identification
Not one of them is “can you draw a diagram”. A neat architecture diagram with no reasoning behind it fails an interview; a scrappy one with sharp reasoning passes.
Scenarios
- Design a URL shortenerThe classic opener, and the one where the read/write ratio decides everything.easy6 questions
- Design a Distributed In-Memory CacheScaling in-memory caching with consistent hashing, LRU eviction, and protection against the thundering herd.medium5 questions
- Design a Global Notification ServiceDelivering millions of push notifications, SMS, and emails reliably with idempotency, priority queues, and third-party provider failover.medium5 questions
- Design a Distributed Rate LimiterProtecting downstream microservices against traffic spikes and DoS with token buckets and Redis clusters.medium5 questions
- Design a Real-time Chat SystemArchitecting 1-on-1 and group messaging with persistent WebSockets, Redis Pub/Sub, and sequence ordering.hard5 questions
- Design a Video Streaming PlatformArchitecting video ingestion, adaptive bitrate transcoding, blob storage, and CDN edge delivery.hard5 questions
Sizing something of your own? The capacity calculator does the same arithmetic with your numbers, and shows its working.