Skip to content

System Design Topics

There is no end to what you can know about designing systems. However when preparing for interviews, make sure you are aware of most commonly asked questions/concepts

Concepts

Fundamental Concepts

  • Networks & Protocols (IP, DNS, HTTP, TCP etc)
  • Storage, Latency & Throughput
  • Availability
  • Caching
  • Proxies
  • Load Balancing
  • Consistent Hashing
  • Databases
  • Leader Election
  • Polling, Streaming, Sockets
  • Endpoint Protection
  • Messages & Pub-Sub

Advanced Concepts

  • Database Internals

Papers Published

System to Design

Fundamental

  • Design a Rate Limiter
  • Design Consistent Hashing
  • Design a key-value store
  • Design a Unique ID Generator in distributed system
  • Url Shortener

Intermediate

  • Design a Typeahead (search auto-complete)

Advanced

  • Design a Web Crawler
  • Design a Notification System
  • Design a News Feed System
  • Design a Chat System
  • Design YouTube/Netflix
  • Design Google Drive

References