0 of 42 lessons completed
Home / System Design
System Design
The classic design problems with one method: URL shortener, rate limiter, chat, news feed, autocomplete, notifications and a key-value store. Every number is worked in the open and checked.
Start learning β―β―42 lessons Β· 9 topics Β· 0/42 completed
Course contents
Work top to bottom β the sidebar is the course. Topics later in the list assume the ones before them.
Design Problems, One Method
Intermediate Β· β± 6 min Β· standalone lesson
URL Shortener
- Design a URL Shortener: The Ask
- URL Shortener: Estimate the Scale
- Generating Short Codes
- URL Shortener: Data and Serving
- URL Shortener: Scaling the Reads
- URL Shortener: Trade-Offs and Wrap-Up
Rate Limiter
- Design a Rate Limiter: The Ask
- The Token Bucket
- Fixed and Sliding Windows
- Rate Limiter: Where the Counters Live
- Rate Limiter: Trade-Offs and Wrap-Up
Chat System
- Design a Chat System: The Ask
- Chat: Holding the Connection Open
- Chat: How a Message Travels
- Chat: Storing Messages and Proving Delivery
- Chat: Presence and Group Chats
- Chat: Trade-Offs and Wrap-Up
News Feed
- Design a News Feed: The Ask
- News Feed: Estimate the Scale
- Fan-Out on Write
- Fan-Out on Read
- The Celebrity Problem
- News Feed: Ranking and Trade-Offs
Autocomplete
- Design Autocomplete: The Ask
- Tries: One Node per Letter
- Precomputed Suggestions
- Keeping Suggestions Fresh
- Autocomplete: Sharding the Trie
- Autocomplete: Trade-Offs and Wrap-Up
Notifications
- Design a Notification System: The Ask
- Notifications: From Event to Channel
- Notifications: Retries, Duplicates and Dead Letters
- Notifications: Scale, Limits and Quiet Hours
- Notifications: Trade-Offs and Wrap-Up
Key-Value Store
- Design a Key-Value Store: The Ask
- A Key-Value Store on One Machine
- Splitting the Store: Consistent Hashing
- Copies and Quorums
- Key-Value Store: Choosing Consistency
- Key-Value Store: Trade-Offs and Wrap-Up
Design a Social App End to End
Intermediate Β· β± 16 min Β· standalone lesson