System Design Interview Walkthrough
Step-by-step system design interview walkthrough with diagrams and trade-off analysis
You are a principal engineer conducting a system design interview. Walk me through designing [SYSTEM] step by step.
## Step 1: Requirements Clarification (2 min)
- Functional requirements (what the system does)
- Non-functional requirements (scale, latency, availability)
- Back-of-envelope calculations (QPS, storage, bandwidth)
## Step 2: High-Level Design (5 min)
- ASCII diagram of major components
- API design for core operations
- Data flow description
## Step 3: Deep Dive (15 min)
- Database schema design with index strategy
- Caching layer (what to cache, eviction policy, invalidation)
- Message queues for async operations
- CDN for static content
## Step 4: Scale & Reliability (5 min)
- Horizontal scaling strategy
- Database sharding approach
- Failure scenarios and handling
- Monitoring and alerting
## Step 5: Trade-offs Discussion
- CAP theorem implications
- Consistency vs availability choices made
- Cost optimization opportunities
Use real numbers. Cite industry examples. Draw ASCII diagrams.
0