201 Free System Design Lessons to Crack SDE Interviews in 2027
You commented design, so here are all 201 lessons, free, with a link for each. They come from two GitHub repos, and I checked every link on 27 September 2026 and dropped the dead ones. A "lesson" here is one page, video, solved problem or paper you can finish in one sitting. No paid books or courses.
The short version: 80 lessons from the System Design Primer (topic chapters plus 14 solved problems) and 121 from Awesome System Design Resources (concepts, 43 interview problems, engineering blogs and the classic papers). Follow the 4-week plan, then use the rest as a reference.
The two repos
donnemartin/system-design-primer ~372K ★
github.com/donnemartin/system-design-primer
One long, well-organised guide with trade-offs for every topic, plus solved interview problems with diagrams and object-oriented design solutions in notebooks.
ashishps1/awesome-system-design-resources ~41.8K ★
github.com/ashishps1/awesome-system-design-resources
A curated list: short concept lessons (mostly AlgoMaster), interview problems by difficulty (many are YouTube walkthroughs), real engineering blogs and must-read papers.
The 4-week plan I'd follow
- Week 1: foundations: System design primer "Start here", then the Core Concepts and Networking lessons (scalability, CAP, DNS, load balancing).
- Week 2: data: Database and Caching lessons: indexing, sharding, replication, cache strategies, CDNs.
- Week 3: patterns: Async communication, microservices, trade-offs. Read the Discord and Slack engineering posts.
- Week 4: problems: Do the answering framework, then 2 Easy, 2 Medium and 1 Hard problem out loud, with a timer.
Part 1: System Design Primer (80 lessons)
Start here (2)
- Study guide (short, medium and long interview timelines)
- How to approach a system design interview question
Topic chapters (64)
- System design topics: start here: Step 1: Review the scalability video lecture
- System design topics: start here: Step 2: Review the scalability article
- Performance vs scalability
- Latency vs throughput
- Availability vs consistency
- Availability vs consistency: CAP theorem
- Consistency patterns
- Consistency patterns: Weak consistency
- Consistency patterns: Eventual consistency
- Consistency patterns: Strong consistency
- Availability patterns
- Availability patterns: Fail-over
- Availability patterns: Replication
- Availability patterns: Availability in numbers
- Domain name system
- Content delivery network
- Content delivery network: Push CDNs
- Content delivery network: Pull CDNs
- Load balancer
- Load balancer: Active-passive
- Load balancer: Active-active
- Load balancer: Layer 4 load balancing
- Load balancer: Layer 7 load balancing
- Load balancer: Horizontal scaling
- Reverse proxy (web server)
- Reverse proxy (web server): Load balancer vs reverse proxy
- Application layer
- Application layer: Microservices
- Application layer: Service discovery
- Database
- Database: Relational database management system (RDBMS)
- Database: NoSQL
- Database: SQL or NoSQL
- Database: Federation
- Database: Denormalization
- Database: SQL tuning
- Cache
- Cache: Client caching
- Cache: CDN caching
- Cache: Web server caching
- Cache: Database caching
- Cache: Application caching
- Cache: Caching at the database query level
- Cache: Caching at the object level
- Cache: When to update the cache
- Cache: Cache-aside
- Cache: Write-through
- Cache: Write-behind (write-back)
- Cache: Refresh-ahead
- Asynchronism
- Asynchronism: Message queues
- Asynchronism: Task queues
- Asynchronism: Back pressure
- Communication
- Communication: Transmission control protocol (TCP)
- Communication: User datagram protocol (UDP)
- Communication: Remote procedure call (RPC)
- Communication: Representational state transfer (REST)
- Security
- Appendix: Powers of two table
- Appendix: Latency numbers every programmer should know
- Appendix: Additional system design interview questions
- Appendix: Real world architectures
- Appendix: Company architectures
Solved system design problems, with diagrams (8)
- Design Pastebin.com (or Bit.ly)
- Design the Twitter timeline and search
- Design a web crawler
- Design Mint.com
- Design the data structures for a social network
- Design a key-value store for a search engine
- Design Amazon's sales ranking by category feature
- Design a system that scales to millions of users on AWS
Solved object-oriented design problems, with code (6)
- Design a hash map
- Design an LRU cache
- Design a call center
- Design a deck of cards
- Design a parking lot
- Design a chat server
Part 2: Awesome System Design Resources (121 lessons)
Core Concepts (9)
- Scalability
- Availability
- Reliability
- SPOF
- Latency vs Throughput vs Bandwidth
- Consistent Hashing
- CAP Theorem
- Failover
- Fault Tolerance
Networking Fundamentals (8)
- OSI Model
- IP Addresses
- Domain Name System (DNS)
- Proxy vs Reverse Proxy
- HTTP/HTTPS
- TCP vs UDP
- Load Balancing
- Checksums
API Fundamentals (8)
Database Fundamentals (8)
- ACID Transactions
- SQL vs NoSQL
- Database Indexes
- Database Sharding
- Data Replication
- Database Scaling
- Databases Types
- Bloom Filters
Caching Fundamentals (5)
- Caching 101
- Caching Strategies
- Cache Eviction Policies
- Distributed Caching
- Content Delivery Network (CDN)
Asynchronous Communication (3)
Distributed System and Microservices (8)
- HeartBeats
- Service Discovery
- Consensus Algorithms
- Distributed Locking
- Gossip Protocol
- Circuit Breaker
- Disaster Recovery
- Distributed Tracing
Architectural Patterns (4)
- Client-Server Architecture
- Microservices Architecture
- Event-Driven Architecture
- Peer-to-Peer (P2P) Architecture
System Design Tradeoffs (8)
- Top 15 Tradeoffs
- Vertical vs Horizontal Scaling
- Concurrency vs Parallelism
- Long Polling vs WebSockets
- Batch vs Stream Processing
- Stateful vs Stateless Design
- Strong vs Eventual Consistency
- Latency vs Throughput
Interview framework (1)
System Design Interview Problems (Easy) (9)
- Design URL Shortener like TinyURL
- Design Load Balancer
- Design Content Delivery Network (CDN)
- Design Parking Garage
- Design Vending Machine
- Design Distributed Key-Value Store
- Design Distributed Cache
- Design Authentication System
- Design Unified Payments Interface (UPI)
System Design Interview Problems (Medium) (23)
- Design WhatsApp
- Design Spotify
- Design Instagram
- Design Notification Service
- Design Distributed Job Scheduler
- Design Tinder
- Design Facebook
- Design Twitter
- Design Reddit
- Design Netflix
- Design Youtube
- Design Google Search
- Design E-commerce Store like Amazon
- Design TikTok
- Design Shopify
- Design Airbnb
- Design Rate Limiter
- Design Distributed Message Queue like Kafka
- Design Flight Booking System
- Design Online Code Editor
- Design an Analytics Platform (Metrics & Logging)
- Design Payment System
- Design a Digital Wallet
System Design Interview Problems (Hard) (11)
- Design Location Based Service like Yelp
- Design Uber
- Design Food Delivery App like Doordash
- Design Google Docs
- Design Google Maps
- Design Zoom
- Design File Sharing System like Dropbox
- Design Ticket Booking System like BookMyShow
- Design Distributed Web Crawler
- Design Code Deployment System
- Design Distributed Locking Service
Must-Read Engineering Articles (6)
- How Discord stores trillions of messages
- Building In-Video Search at Netflix
- How Canva scaled Media uploads from Zero to 50 Million per Day
- How Airbnb avoids double payments in a Distributed Payments System
- Stripe's payments APIs - The first 10 years
- Real time messaging at Slack
Must-Read Distributed Systems Papers (10)
- Paxos: The Part-Time Parliament
- MapReduce: Simplified Data Processing on Large Clusters
- The Google File System
- Dynamo: Amazon's Highly Available Key-value Store
- Kafka: a Distributed Messaging System for Log Processing
- Spanner: Google's Globally-Distributed Database
- Bigtable: A Distributed Storage System for Structured Data
- ZooKeeper: Wait-free coordination for Internet-scale systems
- The Log-Structured Merge-Tree (LSM-Tree)
- The Chubby lock service for loosely-coupled distributed systems
How I'd use this
- Don't read all 201 in order. Follow the 4-week plan, then use the rest as a reference.
- For every problem, draw it yourself first (Excalidraw is free), then compare with the solution.
- Say your answer out loud with a 45-minute timer. Interviews test how you talk through trade-offs, not what you memorised.
- Build one piece for real: a URL shortener with a cache and a rate limiter, deployed with a live link. That's a project and interview prep in one.
Want to know what else interviews test now? Read what 2027 interviews will actually ask you.
Follow @avi_vashishta29 for one practical AI dev resource a day.