0 of 64 lessons completed
Home / System Design
System Design
Building-block designs (cache, queue, pub-sub, search, storage, scheduler, locking) plus the remaining classics: payments, proximity, bookings, the niche problems. Every number is checked.
Start learning β―β―64 lessons Β· 9 topics Β· 0/64 completed
Course contents
Work top to bottom β the sidebar is the course. Topics later in the list assume the ones before them.
System Design Classics and Blocks
Advanced Β· β± 8 min Β· standalone lesson
Data Blocks
- Design a Distributed Cache
- Design an Object Store
- Design a Wide-Column Store
- Design a Distributed File System
- Sharding a Database
- Design a Highly Available Database
Messaging and Coordination Blocks
- Design a Distributed Message Queue
- Design a Pub-Sub System
- Design a Distributed Task Scheduler
- Design a Unique ID Generator
- Design a Distributed Locking Service
- Design Sharded Counters
Delivery and Operations Blocks
- Design a CDN
- Design a Distributed Search System
- Design a Load Balancer
- Design a Monitoring and Alerting System
- Design a Distributed Logging System
- Design a Deployment System
Money and Markets
- Design a Payment System
- Design a Digital Wallet
- Design a Unified Payments Interface
- Design a Stock Exchange
- Design Robinhood
- Design a Flash Sale System
- Design a Hotel Reservation System
- Design a Flight Booking System
- Design Airbnb
Commerce and Aggregation
- Design an E-Commerce Store
- Design Shopify
- Design Ad Click Aggregation
- Design a Top-K Leaderboard
- Design a Likes Counter
- Design Sales Ranking by Category
- Design a Price Tracking Service
- Design Trending Topics
Social, Local and Media
- Design a Proximity Service (Yelp)
- Design Nearby Friends
- Design Tinder
- Design a Food Delivery System
- Design Spotify
- Design TikTok
- Design Reddit
- Design Live Comments
Everyday Systems
- Design an Email Service (Gmail)
- Design Pastebin
- Design a Code Judging System
- Design a Calendar System
- Design a Reminder Alert System
- Design a News Aggregator
- Design an Authentication System
- Design a Video Conferencing System
- Design a Data Export System
- Design an Online Auction
Small Systems, Full Rigor
- Design a Parking Garage
- Design a Vending Machine System
- Design a Restaurant Management System
- Design a Weather App
- Design Zillow
- Design Strava
- Design a Personal Finance Aggregator
- Design Online Chess
- Design a Multiplayer Card Game
- Design a Garbage Collection System