09 · Interview preparation
Approaching the interview
11 min read
An ML system design interview is a 45-minute conversation about one product problem, such as recommending videos or catching fraud. The interviewer hands you the problem and watches how you turn it into a working design. The round grades how you frame the problem, what you do with the data, how you choose and judge a model, and how clearly you explain each choice. Knowing which kind of round you are in and what it grades decides where your minutes go before you draw a single box.
An everyday example
An architect meets a family who want to extend their house, and the meeting lasts 45 minutes. The family already owns the plot, the water and power already reach the street, and a builder is already hired, so none of those things are the architect’s problem today. The architect’s job is to find out what the extension is for, sketch something that fits, and explain the trade-offs in words the family understands.
An architect who names a brand of window in the first minute, before asking how many people will eat in the kitchen, loses the family’s trust. An architect who asks about the morning routine, sketches two options, and says what each one costs in light and money earns it. The ML design interview has the same shape, with the interviewer in the family’s chair and the computers and databases standing in for the pipes in the street.
A family cannot measure whether the extension worked once it is built, while a product can, and that is the point where the comparison stops matching, because an ML design has to include how its success will be measured. That measuring part has no equivalent in the architect’s sketch and is the part newcomers most often leave out.
Find out what the round evaluates
There are three common kinds of ML interview round, and they reward different things. The applied ML design round, which is what this section prepares you for, connects data, a model, evaluation and serving around one product feature such as search or recommendations. The ML infrastructure round treats the model as given and asks about the machines, storage and scheduling that train and serve it, and the research or model depth round examines one architecture or training method in detail.
Coding is usually assessed in a separate round, so a design round rarely asks you to write a function. Ask the recruiter which kind of round you have before the day, and if the prompt on the day sounds like a different kind, confirm it in your first sentence. Thirty seconds spent confirming the kind of round saves ten minutes of preparing the wrong answer.
| Kind of round | What the prompt sounds like | Where the minutes go |
|---|---|---|
| Applied ML design | “Design the home feed for a video app.” | Framing, data, model, evaluation and serving decisions for one product feature. |
| ML infrastructure | “Design the training platform that fifty teams share.” | Compute, storage, scheduling and reliability, with the model treated as a given. |
| Research or model depth | “Improve the ranking quality of this architecture and tell us how you would test the change.” | One architecture or training method, the maths behind it and the experiments that would test it. |
What the interviewer writes down
An applied design round is graded on five areas, and most interviewers carry a sheet with those five headings. The first is framing, meaning whether you turned a vague product wish into a specific prediction with a clear input and output. The second is data and features, meaning where training examples come from and which signals the model receives. The third is the model and its training, the fourth is evaluation and production, meaning how you would know the model works and what happens when it does not, and the fifth is communication.
Communication is graded on its own because the interviewer can only grade decisions they heard the reason for. A candidate who picks the right model in silence earns less than a candidate who picks a simpler model and says why it fits the data volume and the deadline. The figure shows the grade as the meeting point of the decisions and the explanation, because neither one earns much alone.
A useful habit is to say the reason in the same breath as the decision. Instead of saying that you would use a two-stage system, say that you would use a two-stage system because scoring 800 million videos for every request is impossible within a 200 millisecond deadline. The number is what turns an opinion into a design decision the interviewer can write down.
Agree on the problem before drawing
Before drawing anything, find out what the person using the product is trying to do. A prompt about video recommendation could mean the home feed, the list of related videos beside the one playing, or the next video in an autoplay session, and each of those has different information available at the moment of the prediction. Asking about the intended outcome, the data that already exists, the size of the catalog, how fresh the results must be and the response deadline gives you a scope the interviewer can confirm or correct.
With the scope agreed, say what the model will receive and what it will predict. For the home feed, one honest task is to estimate whether a person will watch a candidate video for at least 30 seconds in the current session, because 30 seconds is long enough to mean interest and short enough to be observed quickly. Naming the input and the target this precisely lets you connect the data needed for training with the information available when a prediction is requested.
The infrastructure is assumed to exist. The interviewer will accept that a queue, a database of saved input values and a fleet of serving machines are available, so a sentence each is enough for them. Say “a queue” or “a simple lookup store” rather than a product name you could not explain if asked, because the round grades the ML decisions in the middle of the figure and treats the boxes around them as already built.
Choose where to go deeper
Once the first sketch connects data collection, training and prediction, the requirements tell you which part deserves the extra minutes. A catalog of 800 million videos raises the question of how to find a few hundred likely candidates without scoring everything. A deadline of 200 milliseconds raises the question of which calculations can happen ahead of time. Following the hardest constraint into the design gives the discussion a direction the interviewer can see.
Comparing a simple starting approach, called a baseline, with one plausible alternative gives you room to explain the expected gain and how you would measure it. A baseline for the home feed is to show the most watched videos of the day to everyone, and the alternative is a personalised model, so the question becomes how much more watch time the personalised model must earn to pay for its cost. When a component is unfamiliar, describing the behaviour it must have and admitting the missing detail keeps the discussion anchored to what the design needs.
For a 45-minute round, roughly five minutes go to scope, ten to the learning task and data, fifteen to the main design, ten to evaluation and operating trade-offs, and five to further discussion. The next topic, the interview framework, turns that rough allocation into six phases with a clock. The interviewer’s questions decide how the real conversation develops, and the allocation is there so that you notice when a phase is running long.
Where people get confused
Newcomers believe the round grades the model they choose, so they spend the first ten minutes on architectures. The sheet the interviewer holds has four other headings, and a candidate who frames the task well, finds the training examples and says how they would measure success passes with an ordinary model, while a candidate with an impressive model and no evaluation plan does not.
Candidates also behave as if the diagram had to be complete and tidy. The diagram is a way to talk, and a box labelled “ranking model” with an arrow from a box labelled “candidate videos” is enough for the interviewer to follow the next sentence. Minutes spent redrawing arrows are minutes not spent on the data or the metrics.
Naming a well-known product for every box is taken to show experience. It shows the opposite when the follow-up asks why that product and the answer is thin. Describing the behaviour you need, such as a store that returns a user’s saved values in a few milliseconds, is both safer and more useful to the design.
Practise decisions, then defend them
Pick a product you use, take a blank page and connect its requirements to the data, model and serving decisions from the earlier sections. Trace how one request receives a prediction and how a new model is produced, saying out loud why each part is needed. A partner who changes one requirement, for example cutting the deadline from 200 to 50 milliseconds, lets you practise saying which other decisions must change with it.
After each attempt, check whether your explanation covered the data available at the moment of the prediction, how quality is measured, and what happens when part of the system fails. Where the reasoning was thin, return to the topic that covers it, then redo that part of the design before trying another problem. Each attempt then closes one specific gap instead of repeating the same comfortable parts.
In the interview
The kind of round, the grading sheet and the agreed scope are all settled in the first two minutes, and after that the topic lives in the way you phrase every decision. Open by confirming the kind of round and the surface of the product in one or two sentences, then move into framing. If the interviewer interrupts to say that infrastructure is out of scope, thank them and move the saved minutes to data and evaluation, which is where the grade is decided.
Interview questions
A reported Meta prompt asked for a recommendation system for Instagram Reels. How would you open?
I would start by confirming the surface, because Reels can mean the main vertical feed, the Reels tab or suggestions inside someone’s profile, and each one has different information available at the moment of the request. I would also ask how many videos exist and how quickly a new upload needs to be eligible, since those two numbers decide whether I need a cheap first stage before the model.
Then I would say the task in one sentence, something like estimating the chance that a person watches a candidate reel for at least a few seconds and does not skip it, and I would check that the interviewer agrees before I draw anything. A commenter reported this prompt without a full question or rubric, so these opening moves are preparation suggestions rather than details from the report.
The interviewer says the serving infrastructure already exists and you should not worry about it. What does that change?
It tells me where the grade is. I would say that I will treat the queue, the store of saved input values and the serving fleet as given, and I would mention each in one sentence so the picture is complete. The time I saved would go to where the training examples come from and how I would measure whether the model helps.
I would still keep one serving number in view, because the deadline shapes the model. If every request must finish in 200 milliseconds, I would say so when I choose the model, since that constraint is the reason to score a few hundred candidates rather than the whole catalog.
You have ten minutes left and have only discussed models. What do you cover next?
I would stop and draw the smallest complete picture, meaning the path a request takes to a prediction and the path a logged outcome takes back into training, because the interviewer needs to see that I know the system is more than the model, and that takes about two minutes.
With the remaining time I would name the decisions I have not made, which are how labels are created, how I would measure quality offline and online, and what the product shows when the model is down. Then I would ask the interviewer which of those they want to probe. Finishing with a clear baseline and the evidence that would justify replacing it is worth more than naming one more component in the last minute.
The recruiter has not said what kind of round this is. How do you find out?
I would ask the recruiter beforehand whether the round is applied ML design, ML infrastructure or model depth, because the preparation is different for each. On the day I would listen to the first sentence of the prompt, and if it asks me to design a feature for a product I would treat it as applied design.
If the prompt instead asks about a platform shared by many teams, or about one architecture in detail, I would say which kind of round I think it is and ask the interviewer to confirm. A reported Spotify loop had a design round with a shared drawing tool and separate discussions of training data and model internals elsewhere, which is a reminder that one loop can hold more than one kind.