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

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

  1. Read Chapter (30-45 min)

    • Understand problem statement
    • Study proposed solution
    • Note trade-offs and alternatives
  2. Create Flashcards (15 min)

    • Key concepts and patterns
    • Trade-offs and alternatives
    • Numbers to remember
  3. Practice Drawing (20 min)

    • Draw system on paper/whiteboard
    • Practice explaining out loud
    • Time yourself (30-45 min)
  4. 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:

  1. Understand requirements - Functional + Non-functional
  2. Propose high-level design - Start simple
  3. Deep dive - Drill into components
  4. 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

AspectDDIASystem Design Interview
FocusDeep theory & principlesPractical interview prep
StyleAcademic, comprehensiveConversational, example-driven
DepthVery deep (100+ pages/topic)Focused (10-20 pages/topic)
Use CaseUnderstanding fundamentalsPassing interviews
ExamplesDiverse technologiesSpecific system designs
Best ForLong-term learningShort-term interview prep

Recommendation: Study DDIA for depth, SDI for breadth and interview patterns.

🚀 Quick Start

First Time Setup

  1. Open this folder in Obsidian
  2. Install Spaced Repetition plugin (see obsidian-setup.md)
  3. Read interview-framework.md first
  4. Practice with estimation-cheatsheet.md

Before an Interview

  1. Review interview-framework.md (10 min)
  2. Practice 2-3 designs from target company domain (90 min)
  3. Review flashcards for those systems (20 min)
  4. 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

  1. Time yourself: Real interviews are 45-60 min
  2. Think out loud: Practice explaining your reasoning
  3. Ask clarifying questions: First 5 minutes are critical
  4. Start simple: Don’t jump to complex solution
  5. Discuss trade-offs: Every design has pros/cons
  6. Know the numbers: Memorize latency/throughput numbers
  7. Draw clearly: Label components, show data flow
  8. 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.


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