System Design Interview Course
Published in
2 min readMar 13, 2022
Table Of Contents
Please find the complete table of contents developed for your system design interview preparation. We would suggest bookmarking this page and visit from time to time to see updated contents and materials.
System Design Interview Questions
- URL Shortner
- Friends in Proximity
- Web Crawler
- Scalable Unique ID Generator (Twitter Snowflake or a similar service)
- A Two-Player Online Chess Game
- Elevator System For A Multi-Storey Building
- Notification Service
- LinkedIn (or similar professional social network)
- BookMyShow, Fandango (or similar movie ticketing application)
- A Garbage Collection System
- Search Engine
- Recommendation System Design (As Used By YouTube, Netflix etc.)
- ATM Machine Design
- Autocomplete/Type-ahead System for a Search Box
- Parking Lot System
- Amazon/ Flipkart/ Ebay or Similar E-commerce Applications
- Airbnb or Similar Online Marketplace for Lodging
- Yelp or Nearby Proximity Service
- Dropbox or a Similar File Storage & Sharing Service (Google Drive/ OneDrive) Design
- Video Streaming Service e.g. Netflix or YouTube Design
- Uber or a Similar App (Grab, Lyft or Ola) Design
- Instagram or a Similar App (Snapchat, Flickr, Picasa) Design
- Facebook Messenger, WhatsApp, Slack, Discord or a Similar Messaging Application’s Design
- Twitter or Facebook Feed
Replication
- Introduction
- Single leader replication
- Asynchronous vs synchronous replication
- Followers in replication
- Log replication
- Issues in single leader replication
- Multi leader replication
- Issues in multi leader replication
- Multileader topologies
- Leaderless replication
- R + W > N
- Quorum variations
- Concurrent writes
- Video streaming queue: a concurrent writes example
Partitioning
Transcations
- Introduction
- More on transactions
- Isolation levels
- Read skew and snapshot isolation
- Concurrent writes and lost updates
- Write skew
- Serializability
- Two phase locking
- Serializable Snapshot Isolation
Issues in Distributed Systems
Consistency & Consensus
- Introduction to linearizability
- Implementing linearizability
- Broadcast order
- Implementing causality
- Total order broadcast
- Distributed Transactions
- Two Phase Commit
- Leader Election
- Membership and Coordination Services
Miscelleanous
- Strongly Consistent vs Eventually Consistent
- Bloom Filters
- CAP Theorem
- PACELC Theorem
- Fault Tolerance Techniques
- Websockets
- Server Sent Events (SSEs)
- AJAX Polling
- HeartBeat
- Data
- Version Vectors
- Structured data, Semi-structured data and Unstructured data
- Why is TCP Slow