Skip to content

wuyichen24/system-design-interview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

system-design-interview

Knowledage

For system design knowledge, please find system-design-knowledge repo.

Interview

Problems

Social Media System

Problem Examples
Follower Feed System
  • Twitter
  • Friend Feed System
  • Facebook
  • Messaging System
  • Facebook Chat
  • Whatapp
  • Slack
  • Photo Sharing System
  • Instagram
  • Flickr
  • Picasa
  • Privacy Setting System

    Location System

    Problem Examples
    Proximity System
  • Yelp
  • Nearby Friends System
    Map system (System design interview vol2) Google map

    Video processing system

    Problem Examples
    Video Distribution System
  • Youtube
  • Netflix
  • Vimeo
  • Storage system

    Problem Examples
    File Storage System
  • Google Drive
  • Microsoft OneDrive
  • Dropbox
  • Object Storage System Done
  • AWS S3
  • Key-value Store*
    Distributed message queue (System design interview vol2)

    Booking system

    Problem Examples
    Hotel Reservation System
  • Airbnb
  • Priceline
  • Ticket Selling System*
  • Ticketmaster
  • Finance system

    Problem Examples
    Payment System
    Stock Exchange System Robinhood

    Support system

    Problem Examples
    Rate Limiter
    Unique ID Generator
    Notification System
    Web Crawler Done
    Search System
    Typeahead/Autocomplete System
    URL Shortening System
  • TinyUrl
  • Metrics Monitoring and Alerting System Done
  • Datadog
  • New Relic
  • Prometheus
  • Graphite
    • distributed email system (System design interview vol2)

    Other system

    Problem Examples
    Ad Click Event Aggregation System Done
    Live Commenting System
    Recommendation System
    Flash Sale System
    Auction System* eBay

    * = incomplete

    More topics will be added

    • Build a real-time gaming leaderboardboard (System design interview vol2)
    • Build a currency exchange system
    • Build a traffic control system
      • Requirements
        • A group of traffic lights has two components: main lights and pedestrian lights.
        • Main traffic lights have three colors: red, yellow and green.
        • Pedestrian lights have two colors: red and green.
        • Pedestrian lights' colors are reversed from main lights:
          • Main: red/yellow - pedestrian's: green
          • Main: green - pedestrian: red
        • There is a button for pedestrian lights if the button is pushed in advance, pedestrian's lights change colors according to the main ones if the button isn't pushed, pedestrian's lights remain red.
        • A typical junction has 4 groups of lights.
        • Additional question: design the system in a way that allows cars which start from one junction after a red light don't have to stop at the next one.
      • Key points in solution
        • Cnosider all phase transitions (from red to green, red to orange to green, and so on)
        • Be clear on the conditions in which a certain transition will take place
        • Consider pedestrian crossing requirements
        • Determine cycle length
        • Determine clearance time
        • Apportion green light approriately
    • Build a counter system for online services
    • Build a game of chess
    • Build a parking garage
    • Build an online bookstore
    • Build an e-commerce website
      • How to handle transactions?
    • Build an elevator system
    • Build a vending machine
    • Build a task management system - Trello
      • Requirement
        • User can move tasks from one lane to the other and move it back.
        • This should have a state diagram with many end states.
    • Build a card game
      • There should be more than one method of cards distribution such as even distribution, uneven distribution, etc.
      • There are multiple situations which could be considered as a winning situation:
        • One who finishes all his cards early.
        • One who earns the maximum points at the last.
    • Build a restaurant management system.

    More problems

    Education platform comparison

    System Design Interview

    • Design A Rate Limiter
    • Design A Key-value Store
    • Design A Unique ID Generator In Distributed Systems
    • Design A URL Shortener
    • Design A Web Crawler
    • Design A Notification System
    • Design A News Feed System
    • Design A Chat System
    • Design A Search Autocomplete System
    • Design YouTube
    • Design Google Drive
    • Proximity Service
    • Nearby Friends
    • Google Maps
    • Distributed Message Queue
    • Metrics Monitoring and Alerting System
    • Ad Click Event Aggregation
    • Hotel Reservation System
    • Distributed Email Service
    • S3-like Object Storage
    • Real-time Gaming Leaderboard
    • Payment System
    • Digital Wallet
    • Stock Exchange

    Exponent

    • Design a URL Shortener
    • Design Instagram
    • Design Amazon Prime Video
    • Design YouTube
    • Design TikTok
    • Design Uber Eats
    • Design Facebook Messenger
    • Design ChatGPT
    • Design a Parking Garage
    • Design a Rate Limiter
    • Design the Payment System for the Amazon Kindle
    • Design a Landmark Recognition System
    • Design Typeahead for Search Box
    • Design a Hotel Booking Service
    • Design a Web Crawler
    • Design a Distributed Message Queue

    Design Gurus | Grokking Modern System Design Interview

    • Designing a URL Shortening Service like TinyURL
    • Designing Pastebin
    • Designing Instagram
    • Designing Dropbox
    • Designing Facebook Messenger
    • Designing Twitter
    • Designing Youtube or Netflix
    • Designing Typeahead Suggestion
    • Designing an API Rate Limiter
    • Designing Twitter Search
    • Designing a Web Crawler
    • Designing Facebook’s Newsfeed
    • Designing Yelp or Nearby Friends
    • Designing Uber backend
    • Designing Ticketmaster

    Educative | Grokking Modern System Design Interview for Engineers & Managers

    • Design YouTube
    • Design Quora
    • Design Google Maps
    • Design a Proximity Service / Yelp
    • Design Uber
    • Design Twitter
    • Design Newsfeed System
    • Design Instagram
    • Design a URL Shortening Service / TinyURL
    • Design a Web Crawler
    • Design WhatsApp
    • Design Typeahead Suggestion
    • Design a Collaborative Document Editing Service / Google Docs
    ByteByteGo - System Design Interview Exponent Design Gurus - Grokking Modern System Design Interview Educative - Grokking Modern System Design Interview for Engineers & Managers
    a URL Shortener (TinyURL) Yes Yes Yes Yes
    Chat system (WhatsApp, Facebook Messenger) Yes Yes Yes Yes
    Newsfeed (Facebook) Yes Yes Yes
    Typeahead Yes Yes Yes Yes
    Web crawler Yes Yes Yes Yes
    Proximity (Yelp) Yes Yes Yes
    Rate limiter
    Photo sharing (Instagram)
    Video watching (Youtube, Netflix)
    Food delivery (DoorDash, Uber Eats)

    Presentation

    Topic Source 1 Source 2
    Scaling Instagram Infrastructure InfoQ Youtube
    How Slack Works InfoQ Youtube
    Scaling Slack - The Good, the Unexpected, and the Road Ahead InfoQ Youtube
    Scaling Slack InfoQ Youtube
    Twitter: Timelines at Scale InfoQ
    How We Learned to Stop Worrying and Love Fan-In at Twitter Youtube
    Scaling Pinterest Youtube
    Scaling Redis at Twitter Youtube
    Systems at Facebook Scale Youtube
    Building Real Time Infrastructure at Facebook Youtube
    Lessons of Scale at Facebook Youtube
    The Evolution of Reddit.com's Architecture Youtube
    Scalable and Reliable Logging at Pinterest Youtube
    Facebook and memcached Youtube

    References

    About

    The study note for system design problems in interviews.

    Resources

    License

    Stars

    Watchers

    Forks