← Back to Blog
Article

Is DDIA Enough for System Design Interviews?

Is DDIA Enough for System Design Interviews?

No. Designing Data-Intensive Applications (DDIA) teaches the deep-dive half of a system design interview better than any other book. It does not teach the other half: how to run a 45-minute design from a one-line question to a defended answer.

The book explains how databases, replication and distributed systems work. The interview asks you to apply that knowledge to a product you have not seen, inside a fixed time, while explaining your choices out loud. Those are related skills, and only the first one is in the book.

This article maps each part of DDIA to the interview questions it helps you answer, lists what the book leaves out, and gives a study plan for three different timelines.

What DDIA covers well

DDIA, by Martin Kleppmann, is a textbook about the systems that store and move data. The second edition, written with Chris Riccomini, runs to about 670 pages. It covers how data is modeled and stored, how it is copied and split across machines, what goes wrong in distributed systems, and how data flows through batch and stream pipelines.

Its strength is the reason behind each design choice. When an interviewer asks why you chose leader-based replication, or what happens to your writes during a network partition, DDIA is the book that prepares you to answer. A network partition is a failure where some machines can no longer reach others, even though each one is still running.

Those questions come late in the interview, in the deep dive. The deep dive is the part where the interviewer picks one piece of your design and asks how it behaves under load or failure.

What a system design interview asks for

A system design interview has a sequence of stages, and DDIA helps with some of them far more than others. The diagram below shows each stage and how much of it the book covers.

The stages of a system design interview and how much of each one DDIA covers

Requirements. You agree on what the system must do and how fast and reliable it must be. DDIA's opening material on reliability and scalability gives you the vocabulary, but not the practice of scoping a vague question in five minutes.

Estimation. You calculate rough numbers, such as requests per second and storage per year. DDIA does not teach this.

API. You define the operations the system offers. DDIA does not cover API design.

High-level design. You draw the main services, data stores and the flow between them. DDIA explains the data stores in depth, but it does not cover load balancers, CDNs, or the shape of common products such as a news feed. A CDN (content delivery network) is a set of servers placed close to users that serve copies of static content.

Deep dives and trade-offs. You explain how one part behaves under load and failure, and what each choice costs. This is where DDIA is strongest.

The DDIA chapters that matter, mapped to interview questions

The table lists each major topic in the book, the first edition chapter that covers it, and the interview questions it prepares you for. The second edition adds two new chapters at the front, on trade-offs in data systems architecture and on nonfunctional requirements, so find each topic below by name rather than by number.

Topic1st edition chapterWhat it lets you answerPriority
Replication5How read replicas work, what replication lag breaks, what happens when the leader failsRead first
Partitioning (sharding)6How to split data across machines, how to pick a shard key, how to handle a hot keyRead first
Transactions7How a payment or booking stays correct when two requests arrive at the same timeRead first
Consistency and consensus9What strong consistency costs, how leader election and distributed locks workRead second
The trouble with distributed systems8Why timeouts are guesses, why clocks cannot be trusted for orderingRead second
Storage and retrieval3Why a write-heavy system might choose an LSM-tree store, how indexes speed up readsRead second
Data models and query languages2When to choose a relational, document or graph databaseRead second
Stream processing11How event-driven systems, message logs and change data capture workFor data roles
Reliable, scalable and maintainable applications1How to state nonfunctional requirements such as latency and availabilitySkim
Encoding and evolution4How to change a schema without breaking older clientsSkim
Batch processing10How large offline jobs process dataFor data roles
The future of data systems12Broader design philosophySkip before an interview

A shard key is the field used to decide which machine stores each record, and a hot key is one value that receives far more traffic than the rest. An LSM-tree (log-structured merge-tree) is a storage design that makes writes fast by appending them and merging files in the background.

The first three rows are the core. Replication, partitioning and transactions come up in almost every design question that stores data, and an interviewer can ask about them in any deep dive.

What DDIA does not teach

These are the parts of the interview you have to prepare from other sources, because the book does not aim to cover them.

  • The structure of the interview. The order of stages, and how much time to spend on each.
  • Scoping a vague question. Turning "design Instagram" into a short list of features and numbers you can design against.
  • Capacity estimation. Rough calculations of traffic, storage and bandwidth.
  • API design. The operations, request and response shapes, and error handling.
  • Common building blocks at the application level. Load balancers, CDNs, caches in front of services, and rate limiters.
  • Product case studies. Complete designs for systems such as a URL shortener, a chat service, or a ride sharing service.
  • Explaining out loud. Describing a design clearly while someone interrupts with questions.

Interview-focused material is built around exactly this list. Grokking the System Design Interview, for example, teaches a step-by-step framework and applies it to 15 case studies, which covers the stages DDIA leaves out.

How to combine DDIA with interview practice

The right mix depends on how much time you have before the interview.

Time before the interviewDDIAInterview practice
Two weeksReplication and partitioning only, two chaptersMost of your time: a framework plus 6 to 10 practice questions
Six weeksThe three "read first" chapters, then consistencyHalf your time, starting in week one
Three months or moreAll the "read first" and "read second" chaptersWeekly practice questions alongside the reading

In every plan, start the practice questions early. Reading a chapter on replication is useful, but explaining replication inside a design you are building is the skill the interview grades, and it improves only with practice.

For Senior and Staff roles, the deep dive goes further, and interviewers expect you to know how real systems such as Dynamo, Kafka and Cassandra work internally. DDIA explains the ideas those systems use. Advanced System Design Interview, Volume II applies those ideas to the systems themselves and to harder design problems.

Frequently asked questions

Can I pass a system design interview by reading only DDIA? It is unlikely. DDIA prepares you for the deep-dive questions, but the interview also grades how you scope the problem, estimate scale, and structure a complete design in the time given. Those skills need practice on interview questions.

Which DDIA chapters should I read first for interviews? Read replication, partitioning and transactions first. In the first edition these are chapters 5, 6 and 7. They come up in almost every design that stores data.

Should I read the first or the second edition of DDIA? Either works for interviews, because the core chapters teach the same fundamentals. The second edition adds chapters on trade-offs and nonfunctional requirements and covers newer systems, so it is the better choice if you are buying a copy now.

Is DDIA good for beginners? It is demanding for a beginner. If terms such as replica, shard and cache are new to you, start with an introductory course or guide, then read DDIA once the basic vocabulary is familiar.

Can I skip DDIA entirely? Yes, for many interviews. Interview-focused material covers the fundamentals at the depth most rounds require. DDIA is most valuable for Senior and Staff roles, where deep dives go further, and for engineers who want to understand data systems beyond the interview.

DDIA is the best reference for the deep-dive half of a system design interview, and a few of its chapters are worth reading before almost any loop. The rest of the interview is a separate skill, built by practicing on real questions. Grokking the System Design Interview is built to teach that half.