System Design Interview - Study Notes (Alex Xu)
Comprehensive notes for Alex Xu’s “System Design Interview” Volume 1 & 2 with practical examples, flashcards, and interview preparation materials.
📚 Books Covered
Volume 1: An Insider’s Guide
- Author: Alex Xu
- Published: 2020
- Focus: Scalable system design with step-by-step framework
- 15 chapters covering foundational to advanced system designs
Volume 2: An Insider’s Guide
- Authors: Alex Xu & Sahn Lam
- Published: 2022
- Focus: Real-world systems with detailed implementations
- 13 chapters covering advanced distributed systems
📁 Structure
SDI-Notes/
├── README.md # This file
├── obsidian-setup.md # Obsidian configuration guide
├── interview-framework.md # Step-by-step interview approach
├── estimation-cheatsheet.md # Back-of-envelope calculations
├── key-patterns.md # Common design patterns
├── distributed-system-components.md # All components & how they fit together ✅
│
├── volume1/ # System Design Interview Vol 1
│ ├── ch01-scale-zero-to-millions.md ✅
│ ├── ch02-back-of-envelope-estimation.md ✅
│ ├── ch03-framework-for-system-design.md ✅
│ ├── ch04-rate-limiter.md ✅
│ ├── ch05-consistent-hashing.md ✅
│ ├── ch06-key-value-store.md ✅
│ ├── ch07-unique-id-generator.md ✅
│ ├── ch08-url-shortener.md ✅
│ ├── ch09-web-crawler.md ✅
│ ├── ch10-notification-system.md ✅
│ ├── ch11-news-feed.md ✅
│ ├── ch12-chat-system.md ✅
│ ├── ch13-search-autocomplete.md ✅
│ ├── ch14-youtube.md ✅
│ └── ch15-google-drive.md ✅
│
├── volume2/ # System Design Interview Vol 2
│ ├── ch01-proximity-service.md ✅
│ ├── ch02-nearby-friends.md ✅
│ ├── ch03-google-maps.md ✅
│ ├── ch04-distributed-message-queue.md ✅
│ ├── ch05-metrics-monitoring.md ✅
│ ├── ch06-ad-click-aggregation.md ✅
│ ├── ch07-hotel-reservation.md ✅
│ ├── ch08-distributed-email.md ✅
│ ├── ch09-s3-object-storage.md ✅
│ ├── ch10-gaming-leaderboard.md ✅
│ ├── ch11-payment-system.md ✅
│ ├── ch12-digital-wallet.md ✅
│ └── ch13-stock-exchange.md ✅
│
├── flashcards/ # Spaced repetition cards
│ ├── vol1-ch01-scaling.md ✅ (25 cards)
│ ├── vol1-ch02-estimation.md ✅ (25 cards)
│ ├── vol1-ch03-framework.md ✅ (39 cards - includes cost estimation!)
│ ├── vol1-ch04-rate-limiter.md ✅ (30 cards)
│ ├── vol1-ch05-consistent-hashing.md ✅ (35 cards)
│ ├── vol1-ch06-key-value-store.md ✅ (25 cards)
│ ├── vol1-ch07-unique-id-generator.md ✅ (25 cards)
│ ├── vol1-ch08-url-shortener.md ✅ (25 cards)
│ ├── vol1-ch09-web-crawler.md ✅ (25 cards)
│ ├── vol1-ch10-notification-system.md ✅ (25 cards)
│ ├── vol1-ch11-news-feed.md ✅ (25 cards)
│ ├── vol1-ch12-chat-system.md ✅ (25 cards)
│ ├── vol1-ch13-search-autocomplete.md ✅ (25 cards)
│ ├── vol1-ch14-youtube.md ✅ (25 cards)
│ ├── vol1-ch15-google-drive.md ✅ (25 cards)
│ ├── vol2-ch01-proximity-service.md ✅ (25 cards)
│ ├── vol2-ch02-nearby-friends.md ✅ (25 cards)
│ ├── vol2-ch03-google-maps.md ✅ (25 cards)
│ ├── vol2-ch04-distributed-message-queue.md ✅ (25 cards)
│ ├── vol2-ch05-metrics-monitoring.md ✅ (25 cards)
│ ├── vol2-ch06-ad-click-aggregation.md ✅ (25 cards)
│ ├── vol2-ch07-hotel-reservation.md ✅ (25 cards)
│ ├── vol2-ch08-distributed-email.md ✅ (25 cards)
│ ├── vol2-ch09-s3-object-storage.md ✅ (25 cards)
│ ├── vol2-ch10-gaming-leaderboard.md ✅ (25 cards)
│ ├── vol2-ch11-payment-system.md ✅ (25 cards)
│ ├── vol2-ch12-digital-wallet.md ✅ (25 cards)
│ └── vol2-ch13-stock-exchange.md ✅ (25 cards)
│
├── comparisons/ # Compare similar systems
│ ├── cache-strategies.md ✅
│ ├── messaging-systems.md ✅
│ ├── storage-systems.md ✅
│ └── scalability-patterns.md ✅
│
├── interview-problems/ # Real interview questions & solutions ✅
│ ├── README.md # Problem list & how to use
│ └── tax-refund-portal.md # Design tax refund checking portal (Medium)
│
└── practice/ # Mock interviews
├── common-questions.md ✅
├── timing-guide.md ✅
└── evaluation-rubric.md ✅
🎯 How to Use
For Interview Prep (Recommended Path)
Week 1-2: Foundations (Volume 1, Ch 1-3)
- Scale from zero to millions (architecture evolution)
- Back-of-envelope estimation (practice calculations)
- Interview framework (structured approach)
Week 3-4: Core Systems (Volume 1, Ch 4-9)
- Rate limiter, consistent hashing, key-value store
- URL shortener, web crawler
- Practice explaining trade-offs
Week 5-6: User-Facing Systems (Volume 1, Ch 10-15)
- Notification, news feed, chat, autocomplete
- YouTube, Google Drive
- Focus on real-time and storage systems
Week 7-8: Advanced Systems (Volume 2)
- Pick 5-7 chapters most relevant to target companies
- Deep dive into distributed systems patterns
- Practice end-to-end system design
Study Approach
-
Read Chapter (30-45 min)
- Understand problem statement
- Study proposed solution
- Note trade-offs and alternatives
-
Create Flashcards (15 min)
- Key concepts and patterns
- Trade-offs and alternatives
- Numbers to remember
-
Practice Drawing (20 min)
- Draw system on paper/whiteboard
- Practice explaining out loud
- Time yourself (30-45 min)
-
Review Patterns (10 min)
- What patterns were used?
- When to apply them?
- What are alternatives?
🔑 Key Features
Interview Framework
Every chapter follows a structured approach:
- Understand requirements - Functional + Non-functional
- Propose high-level design - Start simple
- Deep dive - Drill into components
- Wrap up - Discuss bottlenecks, trade-offs, future improvements
Estimation Cheatsheet
Quick reference for:
- Power of 2 (KB, MB, GB, TB, PB)
- Latency numbers every programmer should know
- QPS calculations
- Storage calculations
- Bandwidth calculations
Common Patterns Library
Reusable patterns across designs:
- Caching: Where, when, invalidation strategies
- Sharding: Consistent hashing, range-based, hash-based
- Replication: Leader-follower, multi-leader, leaderless
- Load balancing: Algorithms, health checks
- Message queues: Kafka, RabbitMQ, use cases
- CDN: Push vs pull, considerations
- Database: SQL vs NoSQL, when to use what
📊 Comparison with DDIA
| Aspect | DDIA | System Design Interview |
|---|---|---|
| Focus | Deep theory & principles | Practical interview prep |
| Style | Academic, comprehensive | Conversational, example-driven |
| Depth | Very deep (100+ pages/topic) | Focused (10-20 pages/topic) |
| Use Case | Understanding fundamentals | Passing interviews |
| Examples | Diverse technologies | Specific system designs |
| Best For | Long-term learning | Short-term interview prep |
Recommendation: Study DDIA for depth, SDI for breadth and interview patterns.
🚀 Quick Start
First Time Setup
- Open this folder in Obsidian
- Install Spaced Repetition plugin (see
obsidian-setup.md) - Read
interview-framework.mdfirst - Practice with
estimation-cheatsheet.md
Before an Interview
- Review
interview-framework.md(10 min) - Practice 2-3 designs from target company domain (90 min)
- Review flashcards for those systems (20 min)
- Mock interview with timer (45 min)
Daily Study (1-2 hours)
- 45 min: Read one chapter
- 15 min: Create/review flashcards
- 30 min: Practice drawing and explaining
🎨 Drawing Tools
For Practice:
- Paper + Pen: Best for interview simulation
- Whiteboard: Great for practicing at home
- excalidraw.com: Digital whiteboard (save diagrams)
- draw.io: More polished diagrams
For Obsidian:
- Excalidraw plugin (drawing directly in notes)
- Mermaid diagrams (text-based, version-controlled)
💡 Pro Tips
- Time yourself: Real interviews are 45-60 min
- Think out loud: Practice explaining your reasoning
- Ask clarifying questions: First 5 minutes are critical
- Start simple: Don’t jump to complex solution
- Discuss trade-offs: Every design has pros/cons
- Know the numbers: Memorize latency/throughput numbers
- Draw clearly: Label components, show data flow
- Be honest: Say “I don’t know” if you don’t, then reason
📈 Progress Tracking
Track your comfort level with each system:
- ⬜ Not started
- 🟨 Read, need more practice
- 🟦 Can explain, need to practice drawing
- 🟩 Interview ready
Update this in chapter markdown files.
🔗 Related Resources
- DDIA Notes:
/Users/niladri.roy/Learn/System Design/DDIA-Notes - GitHub Repos:
- YouTube:
- Gaurav Sen, Tech Dummies Narendra L
- ByteByteGo (Alex Xu’s channel)
Ready to start? Begin with Volume 1, Chapter 3 (Framework) to understand the interview approach, then move to Chapter 1 (Scaling).
Last Updated: 2026-04-13