System Design
Part of the Interview Prep Roadmap. Coverage ratings are explained there.
Core principles — scalability, load balancing, caching, trade-offs — applied to concrete systems like URL shorteners, delivery platforms, and social feeds.
Coverage: moderate
Resources · System Design Primer — work through it end to end · ByteByteGo system design newsletter
Design Fundamentals
- Functional and non-functional requirements
- Capacity estimation
- CAP theorem and consistency vs. availability
Practice
- Architect for massive unstructured data — World University
- Design an API for a music streaming service — AppsCode
Scalability
- Vertical vs. horizontal scaling
- Load balancing strategies
- Statelessness and session handling
Practice
Data Layer
- Database selection for scale
- Replication and sharding
- Caching strategies and eviction policies
- Content delivery networks
Practice
- Schema for a warehouse inventory system — Chaldal
Communication Patterns
- Synchronous vs. asynchronous communication
- Message queues and event-driven design
- Rate limiting
Practice
Reliability & Observability
- Redundancy and failover
- Monitoring, logging, and alerting
- Graceful degradation
Classic Design Problems
- URL shortener
- Social media feed
- E-commerce product listing
- Delivery and logistics platforms
Practice
- Design a URL shortener — Spectrum
- Design a social media system — Astha IT
- Real-time electricity meter monitoring — RoBenDevs, with answer
- Nationwide restaurant delivery — RoBenDevs, with answer
- Backend for internet banking — Optimizely, with answer
- A file/text compression system — Chaldal