System Design Interview Guide
System Craft is a practical System Design Interview Guide for software engineers, covering core concepts, reusable building blocks, architecture patterns, and full interview-style problems.
Use this guide as a structured roadmap. Start with the fundamentals, learn the building blocks, then practice full system design problems through step-by-step walkthroughs.
Quick Start
Start here if you are new to system design interviews or want a clear preparation plan.
- How to Use This Guide
- What System Design Interviews Test
- 50-Minute Interview Framework
- Common Mistakes
- 7-Day Crash Plan
- 30-Day Study Plan
Core Building Blocks
Understand the core components that appear in most system design interviews.
Problems
Practice full system design problems and learn how to structure an interview-ready answer.
- Design TinyURL
- Design Yelp
- Design Dropbox / Google Drive
- Design Local Delivery System
- Design Ticket Booking System
- Design WhatsApp
- Design FB News Feed
- Design Online Auction System
- Design Instagram
- Design Youtube
- Design Uber
- Design Twitter
- Design Job Scheduler
- Design Payment System like Stripe
- Design Notification System
- Design Real-time Leaderboard / TopK
- Design IP Denylist
- Design Tinder
Patterns
Learn common system design patterns behind many real interview problems.
- Read-heavy Systems
- Write-heavy Systems
- Real-time Messaging
- Fanout: Read vs Write
- Large File Processing
- Distributed Sync
Deep Dive Toolkit
Learn the deeper concepts that help you explain tradeoffs, handle scale, and answer follow-up questions.
- Optimistic, Pessimistic & Distributed Locking
- Bloom Filter
- Partitioning / Sharding Basics
- Consistent Hashing
- Rate Limiting Algorithms
- Idempotency & Deduplication
- Backpressure & Circuit Breaker
- TTL, Expiration & Cleanup
Before Interview / Cheat Sheets
Use these guides to review quickly before your interview.