What is System Design?
System Design (HLD - High Level Design) focuses on the architecture of software systems. While LLD deals with classes and code, HLD deals with:- Components and how they interact
- Scalability and handling growth
- Reliability and fault tolerance
- Data storage and retrieval patterns
- Trade-offs between different approaches
π― Learning Path
Choose your path based on your experience level:| Level | Focus Areas | Time |
|---|---|---|
| Junior/Mid (L3-L4) | Fundamentals β Building Blocks β Easy Cases | 2-3 weeks |
| Senior (L5) | + Deep Dives β Medium Cases β Trade-offs | 4-6 weeks |
| Staff+ (L6+) | + Consensus β Global Architecture β All Cases | 6-8 weeks |
Start Here (Interview Prep)
π Interview Guide
Start here! RESHADED framework and strategies
β Question Bank
30+ questions by difficulty with hints
π Mock Interviews
Realistic scenarios with evaluation criteria
Course Structure
π Foundations (Everyone)
Fundamentals
Scalability, Latency, Throughput, CAP Theorem
Building Blocks
Load Balancers, Caches, Message Queues, CDN
Networking
DNS, TCP/UDP, HTTP, WebSockets, gRPC
Databases
SQL vs NoSQL, Sharding, Replication, Indexing
API Design
REST, GraphQL, Rate Limiting, Versioning
Estimations Mastery
Back-of-envelope calculations with practice problems
π§ Core Patterns (Senior+)
Distributed Systems
Consistency, Consensus, Transactions
Microservices
Patterns, Service Mesh, Communication
Scalability Patterns
Stateless Design, Multi-level Caching, Sharding
Reliability Patterns
Circuit Breakers, Retries, Bulkheads
Event-Driven Architecture
Event Sourcing, CQRS, Saga Pattern
Trade-off Framework
Systematic approach to design decisions
π Staff+ Deep Dives
Consensus Algorithms
Raft, Paxos, Leader Election (with code)
Global Architecture
Multi-region, Disaster Recovery, Geo-distribution
Data Modeling
Event Sourcing, CQRS, Schema Evolution
Real-Time Systems
WebSockets, SSE, Push Architecture
Search Systems
Elasticsearch, Inverted Index, Ranking
Time-Series Data
Metrics, IoT, Financial data patterns
CDN & Edge Computing
Edge functions, Caching strategies
Data Pipelines
Batch vs Stream, Lambda/Kappa
π Quick References
Patterns Reference
Quick lookup for all design patterns
Observability
Metrics, Logs, Traces, SLIs/SLOs
Security Patterns
JWT, OAuth, RBAC, mTLS
Advanced Concepts
Linearizability, Vector Clocks
πΌ Case Studies (Practice These!)
URL Shortener
π’ Easy - Start here
Rate Limiter
π’ Easy - Algorithms
Notification System
π‘ Medium - Multi-channel
Twitter/X
π‘ Medium - Feed design
π‘ Medium - Real-time
E-Commerce
π‘ Medium - Transactions
Payment System
π΄ Hard - Financial
Netflix
π΄ Hard - Video streaming
Spotify
π΄ Hard - Audio streaming
Uber
π΄ Hard - Geo-matching
Google Maps
π΄ Hard - Navigation
Interview Framework (RESHADED)
1
R - Requirements (5 min)
Ask about users, scale, features, and constraints. βAre we optimizing for reads or writes?β
2
E - Estimation (5 min)
Calculate QPS, storage, bandwidth. Show your math clearly.
3
S - Storage Schema (5 min)
Define data models, choose SQL vs NoSQL with justification.
4
H - High-Level Design (10 min)
Draw main components and data flow. Start simple.
5
A - API Design (5 min)
Define key endpoints, request/response formats.
6
D - Deep Dive (10 min)
Detail specific components, discuss trade-offs.
7
E - Edge Cases (3 min)
Handle failures, race conditions, hot spots.
8
D - Discuss (2 min)
Summarize trade-offs, mention what youβd add given more time.
Top Interview Problems by Level
| Problem | Level | Key Concepts | Priority |
|---|---|---|---|
| URL Shortener | L3-L4 | Hashing, DB, Cache | Must Know |
| Rate Limiter | L3-L4 | Token Bucket, Redis | Must Know |
| Twitter Feed | L4-L5 | Fan-out, Timeline, Cache | Must Know |
| L4-L5 | WebSockets, Message Queue | Must Know | |
| E-Commerce | L4-L5 | Inventory, Transactions | Must Know |
| Notification | L4-L5 | Push/Pull, Templates | Recommended |
| Spotify | L5 | Streaming, Recommendations | Recommended |
| YouTube | L5-L6 | Video Processing, CDN | Recommended |
| Uber | L5-L6 | Location, Matching | Know Basics |
| Google Docs | L6+ | CRDT, Real-time collab | Staff+ |
Quick Reference: Key Numbers
Latency Numbers
- L1 cache: 0.5 ns
- RAM: 100 ns
- SSD: 100 ΞΌs
- HDD: 10 ms
- Same DC: 0.5 ms
- Cross-continent: 150 ms
Scale Numbers
- Seconds/day: ~100,000
- 1M DAU β ~12 QPS
- 100M DAU β ~1,200 QPS
- 99.99% = 52 min downtime/year
| Availability | Downtime/Year | Use Case |
|---|---|---|
| 99% (2 nines) | 3.65 days | Internal tools |
| 99.9% (3 nines) | 8.76 hours | Standard SaaS |
| 99.99% (4 nines) | 52.6 minutes | Critical services |
| 99.999% (5 nines) | 5.26 minutes | Payment systems |
What Makes This Course Different
π» Working Code
Every pattern includes Python + JavaScript implementations you can run
π― Interview Focused
Organized by what interviewers actually ask at each level
βοΈ Trade-off Framework
Systematic approach to design decisions, not just memorized answers
π Real Scenarios
Mock interview scripts with expected follow-ups