Skip to content

Resources

Youtube

Important Books

  • System Design Interview -- An Insider's Guide eBook: Xu, Alex: Kindle Store
  • Operating Systems: Three Easy Pieces eBook: Arpaci-Dusseau, Remzi, Arpaci-Dusseau, Andrea: Kindle Store
  • Web Scalability for Startup Engineers: Ejsmont, Artur
  • Understanding Distributed Systems: What every developer should know about large distributed applications: Vitillo, Roberto
  • Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems: Kleppmann, Martin
  • Kafka: The Definitive Guide: Real-Time Data and Stream Processing at Scale
  • Distributed Algorithms -- An Intuitive Approach 2e (The MIT Press)
  • Elasticsearch: The Definitive Guide: A Distributed Real-Time Search and Analytics Engine eBook: Gormley, Clinton, Tong, Zachary
  • Cassandra -- The Definitive Guide, 3e: Distributed Data at Web Scale

Keywords

  • Write ahead logging
  • SSL passthrough / termination on load balancers
  • Clock vectors
  • Hinted handoff
  • Bloom filters
  • Gossip protocols
  • Merkle trees
  • Two phase commit
  • Two phase locking
  • Consistent hashing
  • Data replication
  • Total order broadcast
  • Isolation levels (read uncomitted, read comitted, repeatable read, serializable)
  • Quad trees (GeoHashin)
  • Inverse indexing - Google search/any search indexing
  • Gaming ranking - rank players based on score and faster.
  • Word search in trie - auto suggestions system design
  • Sort 5gb data in 1gb memory - merge sort
  • Paxos algo
  • Merkle Tree
  • Backpressure
  • Circuit breaker
  • Raft
  • Service discovery
  • Saga
  • Hyperloglog

Important algorithms

Cloud design patterns

LEETCODE all system design problems

Other interesting post about specific component design

OOP design