Member-only story
Books I Read To Prepare For My Google and Microsoft System Design Rounds
Insights from a Google SWE.
Non-members can read this story here.
System design rounds are challenging, especially in FAANG companies, which require dedicated preparation and resources. Here, I’ve listed the books I read to prepare for these interviews, in the same order.
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

This book is the best resource available on the market for an absolute beginner in system design. It has dedicated chapters on concepts like replication and data partitioning.
Topics are discussed from scratch, making it easy for anyone to grasp these concepts effortlessly.
Additionally, at the end of each chapter, a list of research papers is referenced throughout the book, which can be used for further reading on the topics.
I cannot stress the importance of this book in clearing my distributed systems concepts and in turn shaping my software development career.
Kafka: The Definitive Guide — Real-Time Data and Stream Processing

Kafka and similar streaming systems have become indispensable in the modern big data world. They enable the asynchronous flow of data and event streaming for contemporary systems.
Cassandra: The Definitive Guide

This book provides a detailed discussion of Cassandra DB, covering its design principles and the implementation details of the technology. It also explains the replication and data partitioning techniques used in…