MLOps Engineer Interview Prep: Questions and a Mock Test
MLOps is the discipline that exists because a trained model is not a shipped product. The interview reflects that: it is mostly a platform engineering interview with a specific set of extra problems, all of which come from the fact that the system's behaviour depends on data you do not control and that changes without telling you. This page covers what the rounds test, the frameworks interviewers expect you to know by name, and ends with a graded mock across six areas.
How the process is structured
| Round | Length | What it tests |
|---|---|---|
| 1.Platform and infrastructure[4] | Not published | Containers, orchestration, CI/CD and cloud resources, plus the ML-specific parts: GPU scheduling, large artefact handling, and startup behaviour for servers that load multi-gigabyte weights. Kubernetes probe semantics come up frequently here. |
| 2.ML pipeline design[1] | Not published | Designing an automated training pipeline. The maturity framing is the usual scaffold: level 1 automates the pipeline for continuous training, which requires automated data and model validation rather than only a scheduler. |
| 3.Serving, monitoring and incidents[2] | Not published | Inference architecture, rollout via shadow and canary, and detecting degradation when labels arrive late. Expect a scenario where a model is silently wrong and you must say what would have caught it. |
| 4.Reproducibility and governance[2] | Not published | Versioning across the three axes CD4ML identifies, "the code itself, the model, and the data", plus what the model registry records and how a production decision is reconstructed months later. |
Bracketed markers point to the dated sources at the end of this article. Loops change; check the retrieval dates before relying on a round count.
Three axes of change, not one
The framing that most reliably marks a strong candidate is that machine learning systems change along more axes than software does. The 2019 article Continuous Delivery for Machine Learning by Sato, Wider and Windheuser puts it directly: ML applications "are subject to change in three axis: the code itself, the model, and the data".
That is the whole difficulty in one sentence. Ordinary continuous delivery assumes that the same input to the same code produces the same output, so versioning the code is enough to reproduce a release. Here, an identical pipeline run against different data produces a different model, and an identical model against shifted data produces different behaviour. Reproducing a production incident therefore requires knowing which code, which data snapshot and which trained artefact were involved.
The article's definition of the practice is worth being able to paraphrase: "a software engineering approach in which a cross-functional team produces machine learning applications based on code, data, and models in small and safe increments that can be reproduced and reliably released at any time, in short adaptation cycles". Note that reproducibility is stated as a property of the release process rather than of the model's output, which is the right distinction to make when an interviewer points out that training is often non-deterministic.
The practical answer to that objection: pin seeds and library versions where you can, and where you cannot, version the artefact itself so the exact model that served traffic can always be retrieved and re-evaluated.
The maturity levels, and what they actually mean
Google Cloud's MLOps guidance defines levels that interviewers use as a shared scale, so it is worth being able to place a team on it.
Level 0 is described as a manual, script-driven and interactive process, where every step including data analysis, data preparation, model training and validation is done by hand. The characteristic symptom is that only one person can produce the model, and the notebook that produced the current production version may no longer run.
Level 1 automates the pipeline itself, with the stated goal of continuous training so that new data produces a new model without a human running the steps. Crucially it requires more than a scheduler: automated data validation and automated model validation, plus pipeline triggers and metadata management. That combination is the point. Automated retraining without automated validation is a mechanism for shipping a regression on a schedule.
Level 2 adds continuous integration and delivery for the pipeline itself, so changes to the pipeline code are built, tested and deployed automatically.
The distinctions the guidance draws are quotable and useful. Continuous integration here is "not only about testing and validating code and components, but also testing and validating data, data schemas, and models". Continuous delivery delivers "a system (an ML training pipeline) that should automatically deploy another service (model prediction service)". Continuous training is "a new property, unique to ML systems".
A good answer to "where would you start" usually rejects jumping to level 2 and picks the one manual step that breaks most often.
Serving, and the rollout patterns that differ
Serving rounds cover the same ground as any service deployment plus a few model-specific concerns.
The first is the shape of inference. Batch scoring writes predictions ahead of time and is cheap and simple, but the prediction is as fresh as the last run. Online inference computes on request and needs a latency budget, autoscaling and a plan for the cold start of loading a large model into memory. Streaming sits between them. Choosing correctly from the freshness requirement, rather than defaulting to an endpoint, is the expected reasoning.
The second is rollout. The standard progression is shadow, then canary, then full. Shadow mode sends real traffic to the candidate model without its predictions affecting anyone, which surfaces skew, latency and error behaviour at zero user risk, and is more valuable here than in ordinary services because it can also compare predictions against the incumbent on identical inputs. Canary then exposes a slice of users and measures the business metric, since a model can be more accurate offline and worse in production.
The third is that health checking a model server has a trap. A liveness probe should establish that the process is stuck, not that a dependency is slow: Kubernetes documentation warns that "incorrect implementation of liveness probes can lead to cascading failures", including restarts under high load. For a model server whose startup includes loading several gigabytes of weights, a startup probe is what prevents the platform from killing a container that is merely still initialising.
Monitoring when the labels arrive late or never
This is the question that most reliably separates candidates who have operated a model from those who have deployed one.
Accuracy is usually not computable in real time, because ground truth arrives weeks later or never. So production monitoring is built from proxies. Input distribution monitoring compares recent feature values against a reference window and alerts on divergence. Prediction distribution monitoring watches the model's own output, which is cheap and catches a surprising amount, because a model whose positive rate doubles overnight is telling you something even if you do not yet know what. Feature health, nulls, ranges, cardinality, catches upstream pipeline breakage, which is the most common cause of a model appearing to degrade.
Be precise about drift types. Data drift is a change in the input distribution. Concept drift is a change in the relationship between inputs and target, which is worse because inputs look normal while the model becomes wrong. Only the former is detectable without labels.
The judgement half is what an alert means. A distribution shift is a prompt to investigate, not evidence of degradation: a legitimate product launch changes the input mix without harming the model, and retraining reflexively on every alert is how teams end up chasing noise.
CD4ML frames the goal as closing the loop, capturing production data to "adapt models based on learnings taken from real production data, creating a process of continuous improvement". The design consequence is that logging predictions and their eventual outcomes is part of the serving system, not an afterthought.
Testing something that is allowed to be wrong
Testing rounds probe whether you can define a pass condition for a system that is probabilistic by design.
The reframing that works is to test everything that is deterministic normally, and to test the model behaviourally rather than by asserting an exact output. Deterministic parts include feature transformations, the serving contract, schema conformance and preprocessing, and these deserve ordinary unit tests. The model is then covered by threshold tests on a fixed evaluation set, comparison against the current production model rather than against an absolute number, and slice-based checks that catch a model whose aggregate improved while a segment that matters got worse.
Data tests are the other half, and are frequently the higher-value ones because pipeline breakage causes more incidents than modelling regressions. Schema and type conformance, null rates, range checks, cardinality, and volume checks that catch a source silently halving. Google's Rules of Machine Learning gives the specific prescription for the skew case: "the best way to make sure that you train like you serve is to save the set of features used at serving time, and then pipe those features to a log to use them at training time".
The governance question usually follows. What is recorded about a model that served a decision: the training data version, the code version, the hyperparameters, the evaluation results, who approved promotion and when. In regulated settings that lineage is the deliverable, and being able to say that a model registry exists to hold it, rather than to store files, is the right level of answer.
What they actually ask
1.A model in production is producing worse business outcomes than a month ago. Labels take six weeks. How do you diagnose it?
What a strong answer coversStrong answers start by ruling out the boring causes, because pipeline breakage is more common than genuine model decay: a feature arriving null, a schema change upstream, a join that silently started dropping rows, a version mismatch between training and serving code. Then the proxies: compare recent input distributions against the training reference, watch the prediction distribution for a shift in the positive rate, and check per-segment behaviour since aggregate stability can hide a broken slice. They separate data drift from concept drift and note only the former is visible without labels. The best answers reach for the serving feature log, comparing what the model actually received against what training assumed, because training-serving skew is both the most common real cause and the cheapest to check.
2.Design an automated retraining pipeline for a recommendation model.
What a strong answer coversExpected coverage: what triggers a run, scheduled, data-volume based, or drift-triggered, with a reasoned choice rather than a default of nightly. Then the stages: data extraction with a pinned snapshot, validation of that data before training, training with recorded hyperparameters and seeds, evaluation against a fixed holdout, and comparison against the incumbent rather than an absolute threshold. Then promotion, which must be gated rather than automatic, plus registration of the artefact with its lineage. Strong answers state explicitly that automating retraining without automated data and model validation is a way of shipping regressions on a schedule, which is precisely why the maturity guidance pairs continuous training with those validation steps. They also cover rollback: the previous model must remain deployable.
3.How would you make a training run reproducible?
What a strong answer coversThree axes need pinning, not one: code by commit, data by an immutable snapshot or a versioned table with a timestamp, and the environment by a container image referenced by digest. Then the training-specific parts: random seeds for initialisation, shuffling and any augmentation, plus recorded hyperparameters. Strong candidates raise the honest limits, that GPU non-determinism and non-deterministic reductions mean bitwise reproduction is often unattainable, and that the practical target is what the CD4ML article describes, a release process that is reliable and reproducible with automation, backed by versioning the resulting artefact so the exact model that served traffic can be retrieved. Saying that a notebook is not a reproducible pipeline, and why, is a good concrete close.
4.Your team wants to introduce a feature store. What questions do you ask first?
What a strong answer coversThe strongest answers treat this as a problem statement rather than a product decision. What is going wrong that this would fix: is it training-serving skew from features computed twice, is it duplicated feature logic across teams, is it the latency of computing features at request time, or is it discovery. Each of those has a cheaper answer than a feature store, and the skew case in particular can be addressed by logging serving features and training from those logs. Then the costs: another system to operate, consistency between the offline and online stores, point-in-time correctness when building training sets so a feature value from after the label is never used, and the migration path for existing pipelines. A candidate who asks what breaks today is doing the job.
5.How do you decide between batch scoring and an online inference endpoint?
What a strong answer coversThe deciding question is how fresh the prediction must be relative to the inputs, and whether the input is known in advance. If the entities are enumerable and the features change slowly, batch is cheaper, simpler to operate and trivially retryable, and the prediction can be served from a lookup. Online inference is required when the input is only known at request time or when features change within the freshness window. Strong answers cost both out: online adds a latency budget, autoscaling, model load time and a new availability dependency in the request path. They also mention the hybrid that is often correct, precomputing candidates in batch and applying a light online model for ranking, which is the shape most large recommendation systems converge on.
6.What would you record about every model that reaches production?
What a strong answer coversExpected: the artefact itself, addressed immutably; the training code version; the training data version or snapshot identifier; the environment image; hyperparameters and seeds; evaluation results including per-slice metrics; and the approval record, who promoted it and when. Strong answers explain why each entry exists in terms of a question it answers later: which model made this decision, what was it trained on, was it better than what it replaced, and who signed it off. They note that this lineage is what makes rollback meaningful and what regulated environments actually require, and that a model registry is the place this lives, with the artefact store being an implementation detail beneath it.
Three sample questions, answered
These three show the level the mock is pitched at, with the answer and the reasoning in the open. The graded paper keeps its answer key server-side.
- The code, the model, and the data
- The code, the infrastructure, and the team
- The features, the labels, and the metrics
- The training pipeline and the serving pipeline
Why: The article states that ML applications "are subject to change in three axis: the code itself, the model, and the data". This is why versioning code alone is insufficient for reproducibility: the same pipeline on different data yields a different model, and the same model on shifted data behaves differently.
- A separate serving cluster for each model version
- Manual sign-off before every training run
- Automated data and model validation, plus pipeline triggers and metadata management
- Continuous integration and delivery for the pipeline code itself
Why: Level 1's goal is continuous training, and it requires automated data and model validation steps along with triggers and metadata management. Automating retraining without those validations is a way of shipping a regression on a schedule. CI/CD for the pipeline itself is what defines level 2.
- Endpoint request latency
- The distribution of the model's predictions compared with a reference window
- CPU utilisation of the serving pods
- The number of predictions served per day
Why: The prediction distribution is computable immediately, requires no ground truth, and shifts when either the inputs or the model's behaviour change. A doubling of the positive rate overnight is actionable information even before you know its cause. Latency, CPU and volume are service health signals that say nothing about whether the model is right.
An 18-question knowledge check
This is a knowledge check, not a simulation. The real loop happens on a whiteboard, in an editor, and in conversation. What this paper does measure is the underlying knowledge those rounds draw on: each question is tagged with a topic, grading happens per topic, and a weak topic points you at the course that fixes it.
- 1.Why is versioning the training code insufficient to reproduce a model?Reproducibility and versioning
- 2.An interviewer objects that GPU training is non-deterministic, so reproducibility is impossible. What is the best response?Reproducibility and versioning
- 3.Which artefact is most important to version so a production decision can be explained a year later?Reproducibility and versioning
- 4.A team trains models by hand in notebooks and deploys by copying files. Which maturity level is that?MLOps maturity and automation
- 5.In the MLOps framing, what does continuous integration cover that it does not in ordinary software?MLOps maturity and automation
- 6.What is continuous training, as distinct from continuous delivery?MLOps maturity and automation
- 7.A team automates nightly retraining with no validation gate. What is the predictable failure?Automated training pipelines
- 8.Why should a candidate model be compared against the current production model rather than a fixed accuracy threshold?Automated training pipelines
- 9.What is point-in-time correctness when building a training set from a feature store?Automated training pipelines
- 10.What does shadow deployment of a model provide that a canary does not?Serving and progressive rollout
- 11.A model server loads eight gigabytes of weights at startup and Kubernetes keeps restarting it. What is the likely misconfiguration?Serving and progressive rollout
- 12.Which inference architecture best suits predictions whose inputs are known in advance and change slowly?Serving and progressive rollout
- 13.Which drift type is undetectable without ground-truth labels?Monitoring and drift
- 14.A drift alert fires the morning after a large marketing campaign launches. What is the right response?Monitoring and drift
- 15.Why does CD4ML emphasise capturing production data as part of the system design?Monitoring and drift
- 16.What is a slice-based evaluation, and why does it matter at promotion time?Testing ML systems
- 17.Which part of an ML system should be covered by ordinary deterministic unit tests?Testing ML systems
- 18.Rules of Machine Learning prescribes which specific method for avoiding training-serving skew?Testing ML systems
Sources
Hiring loops change. Every claim above carries a retrieval date so you can judge how current it is.
- [1]Google Cloud, MLOps: Continuous delivery and automation pipelines in machine learning · retrieved 2026-08-13
- [2]Sato, Wider and Windheuser, Continuous Delivery for Machine Learning, September 2019 · retrieved 2026-08-13
- [3]Google, Rules of Machine Learning: Best Practices for ML Engineering · retrieved 2026-08-13
- [4]Kubernetes Documentation, Liveness, Readiness, and Startup Probes · retrieved 2026-08-13
Refresh your memory
Free learning paths covering the ground this loop tests, whatever your score. Each one ends with a shareable certificate.
- AIMLOps: Keeping a Model Working After You Ship It
Training a model is the part that works. The system around it is what decays, and it decays quietly: no exception, no alert, just answers that are slowly less right. This path covers what actually breaks. Why changing one feature moves every weight, the three levels of automation and which one you need, the skew between training and serving that no isolated test can see, and the monitoring that decides when a model has stopped earning its place.
4 lessons - ProgrammingObservability: Knowing Why Production Is Slow
Monitoring answers the questions you wrote down in advance; production fails in ways you did not. This path builds observability from its raw materials: the three telemetry signals and their very different bills, the percentile and cardinality arithmetic that decides what your data can honestly say, tracing and the craft of throwing spans away, and the SLO machinery that turns reliability into a number a team can actually spend.
4 lessons - ProgrammingKubernetes: Orchestration as a Set of Control Loops
Kubernetes looks like a pile of object types until you notice it is one idea repeated. Store a description of the desired state, and run loops that compare it to reality and act on the difference. Because those loops read the current state rather than react to events, missed and duplicated messages are harmless and an interrupted controller simply resumes. This path builds the loop, shows every object as a controller joined by label matching, covers the two resource numbers that drive most cost and latency bugs, and ends with the failures the design itself creates.
4 lessons - ProgrammingDeployment Strategies: Shipping Without Breaking Things
A deploy replaces a working system with a different one while people are using it. This path covers how teams make that routine: the four strategies as answers to how many users meet a bad version, canary releases as controlled experiments, feature flags separating deploy from release, and the compatibility discipline that decides whether the rollback you are counting on actually works.
4 lessons - ProgrammingTesting Strategy: What Is Worth Testing
Tests are a purchase, not a virtue: you spend writing time, run time and maintenance time to buy confidence about specific breakages. This path works out how to spend that budget. What each level of test can and cannot catch, how test doubles buy speed by trading away fidelity, how property-based testing finds the inputs you would never have imagined, and why flakiness destroys a suite faster than any missing test.
4 lessons

