1️⃣ Types of Questions
- Product Design
- Apps like Uber, Netflix, Dropbox
- Infrastructure Design
- Rate limiter
- Message queue
- Data pipeline
2️⃣ Standard Interview Framework
Step-by-step approach

1. Requirements (~5 min)
Functional Requirements
- Define what the system should do
- Format:
Users should be able to...
Example (Twitter):
- Post tweets
- Follow users
- View feed
Tips:
- Focus on top 3 features only
- Ask:
- “Should the system support X?”
- “What happens if Y?”
Non-functional Requirements
- Define system qualities
Examples:
- High availability
- Low latency (<200ms)
- Scale (100M+ users)
2. Core Entities (~2 min)
- Define main data objects
Example:
- User
- Tweet
- Follow
How to identify:
- Who are actors?
- What are main resources?
Tips:
- Start small → expand later
- Avoid over-designing schema early
3. APIs (~5 min)
- Choose API type:
| Type | Use Case |
|---|---|
| REST | Default |
| GraphQL | Flexible clients |
| gRPC / RPC | Internal fast calls |
4. High-Level Design
Goal: Build working system first
Approach:
- Draw servers
- Draw database
- Draw cache
- Draw load balancer
- Map APIs → system flow
Key Tips:
- Start simple ✅
- Add complexity later ⚠️
- Explain data flow clearly
- Show:
- Where data is stored
- What changes per request
Common Mistake:
- Adding cache, queues, sharding too early ❌
5. Deep Dive
Goal: Improve system for:
- Scale
- Performance
- Reliability
What to do:
- Handle bottlenecks
- Handle edge cases
- Add:
- Caching
- Sharding
- Load balancing
Example (Twitter Feed):
- Fanout-on-read vs fanout-on-write
- Use cache for faster reads
Pro Tips:
- Junior → let interviewer guide
- Don’t dominate conversation
- Give interviewer space to probe
3️⃣ Core Fundamentals (Must Know)
1. Storage
Types:
- Relational DB (tables)
- Document DB (JSON)
- Key-value store
Concepts:
ACIDvsBASE- Choose based on access patterns
2. Scalability
- Vertical → bigger machine
- Horizontal → more machines
Techniques:
- Sharding
- Partitioning
- Consistent hashing
3. Networking
Important Layers:
- Application → APIs, WebSockets
- Transport → TCP vs UDP
- Network → Load balancer

4. Performance
Concepts:
- Latency
- Throughput
- Bottlenecks
Optimization:
- Caching
- Efficient queries
5. Fault Tolerance
- Failures are unavoidable
Techniques:
- Replication
- Redundancy
- Failover
6. CAP Theorem
- Choose between:
- Consistency
- Availability
- Partition tolerance
- Partition tolerance is always required
4️⃣ Key Components in Systems
Database
- SQL or NoSQL both can scale
- Choose based on:
- Read/write patterns
Cache
- Example: Redis
- Fast access
- Stores frequently used data
Trade-off:
- Consistency issues
Message Queue
- Enables async communication
Examples:
- Kafka
- RabbitMQ
Use Cases:
- Handle traffic spikes
- Decouple services
Load Balancer
- Distributes traffic
- Prevents overload
Blob Storage
- Stores large files (images, videos)
- Example: S3
CDN
- Global cache layer
- Faster content delivery
5️⃣ How to Prepare Effectively
Learning Approach
- Try problem yourself 🧠
- Identify gaps
- Research (Google / ChatGPT)
- Watch solution
Strategy
- Don’t memorize → learn patterns
- Focus on trade-offs
- Practice mock interviews
Recommended Problems Order
