π START HERE - System Design Interview Quick Start
Welcome! This is your complete guide to preparing for system design interviews using Alex Xuβs books.
β Quick Setup (5 minutes)
-
Open in Obsidian (if youβre using it)
Open folder: /Users/niladri.roy/Learn/System Design/SDI-Notes -
Install Spaced Repetition Plugin (for flashcards)
- Settings β Community plugins β Browse
- Search βSpaced Repetitionβ β Install & Enable
- Configure: Flashcard tags =
#flashcards
-
Youβre ready! Start with the reading path below.
π First-Time Reading Path (Recommended Order)
Day 1: Foundations (1-2 hours)
- β Read this file (youβre here!)
- π Read interview-framework (30 min) - CRITICAL!
- π Read estimation-cheatsheet (20 min) - Memorize key numbers
- π Skim key-patterns (15 min) - Overview of patterns
- π Skim distributed-system-components (20 min) - All building blocks
Day 2: Master the Framework (2 hours)
- π Read ch03-framework-for-system-design (30 min)
- π΄ Review flashcards vol1-ch03-framework (30 min)
- βοΈ Practice: Pick a simple system (URL shortener)
- β±οΈ Apply 4-step framework with 45-min timer
Day 3-4: Fundamentals (3-4 hours total)
- π Read ch01-scale-from-zero-to-millions (45 min) β
- π Read ch02-back-of-envelope-estimation (30 min) β
- π΄ Review vol1-ch01-scaling (25 cards) β
- π΄ Review vol1-ch02-estimation (25 cards) β
- βοΈ Practice calculations from estimation-cheatsheet
Day 5+: System Designs
All chapters are now available β pick based on target company or interest:
Volume 1 (Ch 4-15)
- π ch04-rate-limiter β β Token bucket, sliding window, distributed rate limiting
- π ch05-consistent-hashing β β Ring, virtual nodes, rebalancing
- π ch06-key-value-store β β CAP, replication, vector clocks (Dynamo-style)
- π ch07-unique-id-generator β β Snowflake IDs, clock skew, UUID
- π ch08-url-shortener β β Base62, hashing, redirects, analytics
- π ch09-web-crawler β β URL frontier, politeness, dedup, distributed crawl
- π ch10-notification-system β β APNs/FCM, fan-out, deduplication, retry
- π ch11-news-feed β β Fan-out on write/read, Redis, celebrity problem
- π ch12-chat-system β β WebSocket, message ordering, delivery receipts
- π ch13-search-autocomplete β β Trie, prefix caching, CDN, typeahead
- π ch14-youtube β β CDN, adaptive bitrate, encoding pipeline, metadata
- π ch15-google-drive β β Block sync, delta diff, conflict resolution, versioning
Volume 2 (All 13 chapters β now available)
- π ch01-proximity-service β β Geohash, quadtree, radius search
- π ch02-nearby-friends β β Real-time location, pub/sub, Redis geo
- π ch03-google-maps β β Graph routing, ETA, routing tiles, live traffic
- π ch04-distributed-message-queue β β Kafka internals, partitioning, consumer groups
- π ch05-metrics-monitoring β β Time-series DB, pull vs push, alerting
- π ch06-ad-click-aggregation β β Stream processing, MapReduce, watermarks
- π ch07-hotel-reservation β β Inventory locking, double-booking prevention
- π ch08-distributed-email β β SMTP, MIME, mailbox sharding, spam filtering
- π ch09-s3-object-storage β β Erasure coding, multipart upload, metadata DB
- π ch10-gaming-leaderboard β β Redis Sorted Sets, real-time ranking
- π ch11-payment-system β β Idempotency, double-entry, PSP, reconciliation
- π ch12-digital-wallet β β Distributed transactions, event sourcing, CQRS
- π ch13-stock-exchange β β Order book, matching engine, low latency, sequencer
See βStudy Strategiesβ below for recommended paths.
π― Study Strategies
For Interview in 1 Week
Intensity: 3-4 hours/day
Day 1: Framework + Estimation (read + practice)
Day 2-3: Volume 1, Ch 4-7 (Rate limiter, Consistent hashing, Key-value store, ID generator)
Day 4-5: Volume 1, Ch 10-12 (Notification system, News feed, Chat system)
Day 6: Mock interview practice (2-3 designs, timed)
Day 7: Light review, rest, confidence building
Focus: Master the framework, practice articulating trade-offs, time management.
For Interview in 1 Month
Intensity: 1-2 hours/day
Week 1: Foundations (Framework + Estimation + Ch 1-3)
Week 2: Core systems (Ch 4-9: Rate limiter through Web crawler)
Week 3: User-facing systems (Ch 10-15: Notification through Google Drive)
Week 4: Advanced (Volume 2, pick 4-6 relevant chapters) + Mock interviews
Focus: Deep understanding, all patterns, confident with framework.
For Interview in 3 Months
Intensity: 30-60 min/day
Month 1: Volume 1 completely (1 chapter every 2 days)
Month 2: Volume 2 β all 13 chapters are now available (cover all, or pick based on target company domain)
Month 3: Review, practice, mock interviews
Focus: Mastery, ability to handle any system, strong fundamentals.
Note: All Volume 2 chapters are now available in this workspace. You can study them in any order β see the chapter list in the βDay 5+β section above, or check README for the full structure.
π’ Company-Specific Recommendations
FAANG/Big Tech
Read: All of Volume 1, most of Volume 2
Focus: Scale, distributed systems, consistency models
Volume 2 Chapters: All (especially 4, 5, 9, 11, 13)
Startups
Read: Volume 1 (Ch 1-3, 4, 6, 8, 10)
Focus: MVP design, pragmatic choices, cost-aware
Volume 2: Optional, pick 2-3 based on domain
E-commerce
Read: Volume 1 (focus Ch 7, 10, 11, 15)
Volume 2: Ch 7 (Hotel reservation), Ch 11 (Payment), Ch 12 (Digital wallet)
Extra: Study consistency, transactions, inventory systems
Social Media
Read: Volume 1 (Ch 10-13: Notification, News feed, Chat, Autocomplete)
Volume 2: Ch 2 (Nearby friends), Ch 5 (Metrics)
Extra: Fan-out patterns, real-time systems
Fintech
Read: Volume 1 (Ch 4, 7: Rate limiter, ID generator)
Volume 2: Ch 11 (Payment), Ch 12 (Digital wallet), Ch 13 (Stock exchange)
Extra: Study ACID, idempotency, consistency
Rideshare/Maps
Read: Volume 1 (Ch 10, 12: Notification, Chat)
Volume 2: Ch 1 (Proximity), Ch 2 (Nearby friends), Ch 3 (Google Maps)
Extra: Geospatial indexing, real-time matching
Streaming/Media
Read: Volume 1 (Ch 14, 15: YouTube, Google Drive)
Volume 2: Ch 9 (S3 object storage)
Extra: CDN, video encoding, adaptive bitrate
π How to Read a Chapter
Step 1: First Read (20-30 min)
- Understand the problem statement
- Follow the 4-step framework application
- Note key trade-offs
Step 2: Create Flashcards (10-15 min)
- Extract 5-10 key concepts
- Write in flashcards folder
- Use format:
Question ? Answer(no blank lines!)
Step 3: Practice Drawing (15-20 min)
- Draw the system on paper
- Practice explaining out loud
- Time yourself (aim for 30-45 min total)
Step 4: Review Patterns (5 min)
- What patterns from key-patterns were used?
- When would you use different patterns?
- Note in your own words
Total time per chapter: 60-90 minutes
π΄ Flashcard Workflow
Daily Review (15-20 min):
- Open Obsidian
Cmd+Pβ βSpaced Repetition: Review flashcardsβ- Review all due cards honestly
Rating Guide:
- Again: Didnβt remember - see in < 1 min
- Hard: Barely remembered - see tomorrow
- Good: Remembered well - see in 2-3 days
- Easy: Very easy - see in 5-7 days
Tips:
- Be honest with ratings!
- Donβt review when tired
- 20-30 new cards per day max
- Consistency > intensity
βοΈ Practice Routine
Daily Practice (30 min):
Option 1: Solo Practice
- Pick a system from the book
- Set timer (45 min)
- Go through 4 steps on paper
- Review: Did I follow framework? What to improve?
Option 2: With Peer
- Take turns as interviewer/candidate
- Interviewer asks questions, gives hints
- 45-min session
- 15-min feedback (both ways)
Weekly Mock Interview (1 hour):
- Full interview simulation
- Record yourself (audio/video)
- Review recording
- Note improvements
Red flags to watch for:
- Spending > 10 min on requirements
- Not drawing diagrams
- No back-of-envelope math
- Silent periods > 30 seconds
- Not discussing trade-offs
π Progress Tracking
Update chapter status:
- β¬ Not started
- π¨ Read, need more practice
- π¦ Can explain, need to practice drawing
- π© Interview ready
Example:
Volume 1 Progress:
- π© ch03-framework-for-system-design
- π¦ ch04-rate-limiter
- π¨ ch05-consistent-hashing
- β¬ ch06-key-value-storeπ Key Resources
In this repo:
- interview-framework - Step-by-step interview approach
- estimation-cheatsheet - Numbers to memorize
- key-patterns - Reusable patterns
- distributed-system-components β - All components & how they connect
- obsidian-setup - Detailed Obsidian guide
External:
- System Design Primer - Comprehensive guide
- ByteByteGo - Alex Xuβs platform
- System Design Interview YouTube - Alex Xuβs channel
Related notes:
- DDIA Notes:
/Users/niladri.roy/Learn/System Design/DDIA-Notes - Use for deep theory, SDI for interview prep
β‘ Quick Interview Prep (2 hours before interview)
Donβt cram! But if you must review:
1 hour before:
- Read interview-framework (10 min)
- Review estimation-cheatsheet (10 min)
- Quick flashcard review of target systems (20 min)
- Walk through 1 design on paper (15 min)
- Relax, breathe (5 min)
During interview:
- Have estimation-cheatsheet open in another window (quick reference only!)
- Remember the 4 steps
- Think out loud
- Ask questions
- Discuss trade-offs
π Learning Path Summary
Start Here (You are here!)
β
Read: interview-framework.md
β
Read: estimation-cheatsheet.md
β
Read: key-patterns.md (skim)
β
Read: Volume 1, Chapter 3 (Framework)
β
Review: Flashcards for Chapter 3
β
Practice: Apply framework to URL shortener
β
Continue: Volume 1, Chapters 1-2 (Fundamentals)
β
Pick path based on timeline:
- 1 week: Fast track (core systems only)
- 1 month: Standard (Volume 1 + selected Vol 2)
- 3 months: Comprehensive (Both volumes)
β
Practice: Daily mock interviews
β
You're ready! π
β Common Questions
Q: Should I read DDIA first?
A: Not necessary. SDI is more practical for interviews. Read DDIA for deep understanding after you land the job!
Q: Do I need to memorize solutions?
A: No! Understand the framework and patterns. Interviewers can tell if youβre reciting vs thinking.
Q: What if I donβt know a technology mentioned?
A: Itβs OK! Focus on concepts. Say βI havenβt used X, but based on Y, Iβd approach it likeβ¦β.
Q: How many systems should I practice?
A: Minimum 10-15 for basic readiness. 20-25 for strong preparation. Focus on diverse types (storage, messaging, real-time, batch).
Q: Should I use specific technologies in answers?
A: Yes, but explain WHY. βRedis for caching because itβs fast in-memory store with TTL supportβ not just βRedisβ.
Q: What if I run out of time?
A: Prioritize finishing all 4 steps at high level over perfecting one step. Show breadth first.
π Youβre Ready to Start!
Your next action:
- β Mark this file as read
- π Read interview-framework (30 minutes)
- π― Set your goal (1 week? 1 month? 3 months?)
- π Block study time in calendar
- π Start learning!
Remember:
- Process > perfect solution
- Communication > knowledge
- Trade-offs > memorization
- Practice > theory
Good luck! π Youβve got this! πͺ
Questions? Review this file again or check obsidian-setup for more details.
Last Updated: 2026-04-13