Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Part 8 — System Design Practice

The previous seven parts taught you to build. This one teaches you to talk.

They are different skills, and interviews test the second one. You can have shipped a working agent and still fall apart when someone says “design me an AI meeting assistant” — because the interview is not asking you to build it, it is asking you to reason about it out loud, in forty-five minutes, while someone probes for the bottom of your knowledge.

So these nine chapters contain no implementation code. What they contain is the reasoning: the questions you ask before you draw anything, the architecture you sketch, the forks in the road and the honest case for each direction, the failure modes you name before the interviewer names them, and a long list of the follow-ups that actually get asked.

The nine

Each is a real product that companies have built, and each gets asked as an interview question.

The thing that separates good answers from bad ones

There is a rule of thumb worth carrying into every one of these: roughly 20% of the work is AI and 80% is ordinary software engineering. Ingestion, storage, permissions, retries, integrations, the user interface, monitoring, the long tail of formats nobody warned you about.

Candidates fail these questions by spending the whole session on model selection and prompt design, which is the part a strong team would settle in an afternoon. The interviewer is listening for whether you know where the actual difficulty lives.

Every chapter here has a section called Where the AI actually is, and every one of those sections includes an explicit list of what you would deliberately not use a language model for. Saying that out loud — “I wouldn’t use an LLM for the arithmetic, I’d use arithmetic” — is one of the clearest competence signals available to you, because it demonstrates that you are choosing the tool rather than reaching for the fashionable one.

Two of these nine are not LLM problems at all. Predictive maintenance is a classical machine learning problem and supply chain forecasting is a time-series problem, and in both the language model belongs in the explanation layer rather than the prediction layer. Recognizing that on the spot is worth more than any amount of fluency about transformers.

How to practice

Read the brief, then close the page and give the answer aloud for fifteen minutes before reading further. You will discover that the parts you skip are always the same: the clarifying questions at the start, the failure modes, and how you would evaluate the thing. Those are exactly the parts that distinguish a senior answer, and they are only learnable by noticing yourself omitting them.

Then work the follow-ups. Those sections are deliberately hard — they are written as the questions an interviewer asks once your first answer has landed and they want to find out how deep the understanding goes.