Today the system design interview is the dividing line between junior, senior, and staff+ engineering candidates, and even between frontline managers, senior managers, and directors. Candidates for the highest engineering roles must have a solid command of modern system design, and even candidates for higher-level management must be able to demonstrate a grasp of it.
This book is designed around the key concepts one needs to be familiar with before walking into a system design interview. Each chapter uses real-world examples to establish a mnemonic concept designed to aid one's recall in the stressful interview environment.
Table of Contents Chapter 1. S is for Sharding Chapter 2. L is for Load-Balancing Chapter 3. C is for Consistent Hashing Chapter 4. R is for Replication Chapter 5. Q is for Quorum Chapter 6. O is for Order-of-Magnitude Estimation Chapter 7. M is for Merkle Trees Chapter 8. A is for Availability Chapter 9. G is for GeoHashing Chapter 10. P is for PN-Counter Chapter 11. N is for NoSQL Chapter 12. D is for Distributed Consensus Chapter 13. Z is for ZooKeeper Chapter 14. F is for Fault Tolerance Chapter 15. K is for Kafka Chapter 16. U is for UUID Chapter 17. H is for HTTP Chapter 18. I is for Idempotence Chapter 19. E is for Event Sourcing Chapter 20. T is for Transactions Chapter 21. W is for WebSockets Chapter 22. B is for Bloom Filter
Hello! I’m X. Fang. I am a visual artist and maker of books for young readers. I was born in Taiwan, raised in Atlanta, Georgia, bounced around Brooklyn and Philly before settling down in Midcoast Maine with my husband, son, and dog.