· MLOps · 12 min read
📋 Prerequisites
- Comfort with Linux, scripting, and CI/CD fundamentals
- Working knowledge of Docker and container orchestration basics
- Some exposure to how ML models are trained and evaluated
🎯 What You'll Learn
- Anticipate and answer the core categories of MLOps Engineer interview questions
- Design an ML platform end to end using a repeatable systems-design framework
- Answer monitoring, drift, and incident-response questions with concrete, specific answers
- Handle infrastructure and scaling questions the way interviewers actually grade them
- Avoid the most common mistakes that eliminate otherwise-strong MLOps candidates
- Build a two-week interview prep plan tailored to MLOps Engineer loops
Why the MLOps Engineer interview is different
An MLOps Engineer interview loop sits between two established traditions — DevOps/platform engineering (CI/CD, containers, infrastructure-as-code, on-call) and ML engineering (training pipelines, model evaluation, data quality) — plus a layer that’s unique to ML systems: they degrade silently, in ways a normal software service doesn’t. A web service either works or throws an error. A model can keep returning HTTP 200 with confidently wrong predictions for months.
Interviewers are evaluating whether you can:
- Automate the full path from a training run to a production model, reliably and repeatably
- Design infrastructure that scales, without over-engineering for traffic that doesn’t exist yet
- Detect that a model has degraded before the business notices, without always having real-time ground truth
- Debug a production incident where the code didn’t change but the data did
- Balance the platform-engineer instinct (“make it robust and general”) against the reality that ML systems change constantly and need to stay easy to iterate on
If you prepare only as a DevOps engineer, you’ll miss the ML-specific failure modes (drift, training/serving skew, silent degradation). If you prepare only as an ML engineer, you’ll stall on infrastructure depth (Kubernetes, IaC, scaling, cost). This guide covers both.
The typical MLOps Engineer interview loop
| Stage | What it tests | Typical length |
|---|---|---|
| Recruiter screen | Background, motivation, logistics | 20-30 min |
| Coding / scripting screen | Python or Go, scripting, sometimes light DS&A | 45-60 min |
| Systems & infrastructure | Linux, networking, containers, CI/CD fundamentals | 45-60 min |
| ML platform system design | Designing an end-to-end training-to-serving platform | 45-60 min |
| Take-home or case study | Build a small pipeline: train, containerize, serve, monitor | 4-8 hours (untimed) or 90 min (timed) |
| Onsite: monitoring & incident response | Drift detection, debugging a production incident | 45-60 min |
| Onsite: behavioral / on-call readiness | Ownership, cross-team collaboration, incident handling | 45-60 min |
| Hiring manager / team fit | Motivation, role alignment, culture fit | 30-45 min |
Platform-heavy companies (large tech orgs building internal ML platforms) weight infrastructure and system design most heavily. Smaller companies often compress the loop into a strong take-home plus one deep technical conversation.
Category 1 — Motivation and background questions
Sample questions:
- “Walk me through an ML system you’ve taken from a notebook to production.”
- “Why MLOps specifically, rather than a general DevOps/platform role or an ML engineering role?”
- “Tell me about the worst production ML incident you’ve dealt with.”
What strong answers do: lead with the operational outcome — uptime, latency, incidents avoided — not the tools used. “I set up Kubernetes and MLflow” is weaker than “I cut our model deployment time from two days to twenty minutes and caught three drift incidents before they affected the business metric.”
Category 2 — Linux, scripting, and systems fundamentals
Sample questions:
- “Write a bash script that finds all log files older than 7 days and archives them.”
- “Explain the difference between a process and a thread, and why it matters for a Python inference server.”
- “How would you debug a service that’s consuming increasing memory over time?”
- “Walk me through what happens, step by step, when a request hits a load-balanced inference API.”
- “Write a script to parse a large log file and count error rates by endpoint, without loading the whole file into memory.”
What strong answers include: for Q5, streaming the file line by line rather than loading it fully — naming the memory trade-off unprompted. For Q3, a structured diagnostic order: check for unbounded caches or growing in-memory queues first, then check for connection/file-handle leaks, then profile with a memory profiler rather than guessing.
Category 3 — CI/CD and automation
Sample questions:
- “Design a CI/CD pipeline that trains, tests, and deploys a model automatically on every merge to main.”
- “What should block a model deployment automatically, versus require human sign-off?”
- “How do you test ML code differently from regular application code?”
- “How would you set up automated retraining, and what would trigger it?”
- “A deployment just broke production. Walk me through your rollback process.”
A strong answer, worked example (Q3): “Regular unit tests check that code does what it’s supposed to. ML testing needs three additional layers: data tests (schema, distribution, null rates on incoming data), model tests (performance on a held-out slice doesn’t regress below a threshold, and doesn’t regress on any critical subgroup), and pipeline tests (the trained artifact actually loads and produces predictions in the serving format). I’d gate the CI pipeline on all three before promoting a model candidate.” Notice the shape: names the ML-specific test categories explicitly, not just “we write more tests.”
Category 4 — Containerization and orchestration
Sample questions:
- “Why containerize a model at all — what does it solve that a virtual environment doesn’t?”
- “Walk me through writing a Dockerfile for a PyTorch model serving API. What do you optimize for image size?”
- “Explain the difference between a Deployment, a Service, and an Ingress in Kubernetes.”
- “How would you autoscale an inference service that has a bursty, unpredictable traffic pattern?”
- “How do you handle GPU scheduling for training jobs in a shared Kubernetes cluster?”
What strong answers include: for Q2, specific image-size techniques — multi-stage builds, slim base images, only installing inference dependencies (not training-time libraries) in the serving image. For Q4, distinguishing horizontal pod autoscaling on custom metrics (queue depth, request latency) from naive CPU-based autoscaling, which reacts too slowly for bursty ML inference traffic.
Category 5 — Model serving and infrastructure design
This is the round that differentiates MLOps loops from generic platform engineering loops — you’ll be asked to design a serving system end to end.
Sample prompts:
- “Design a serving system for a model that needs to return predictions in under 50ms at 10,000 requests per second.”
- “Design a batch inference pipeline that scores 100 million records nightly.”
- “How would you serve multiple model versions simultaneously for a gradual rollout?”
- “Design a feature-serving system that keeps training and serving features consistent.”
The framework to use, narrated out loud:
- Clarify latency, throughput, and freshness requirements first. Real-time vs. batch changes the entire design.
- Decide where compute happens. Precomputed and cached vs. computed on request — and the staleness trade-off that implies.
- Design for training/serving consistency. Name the specific risk (a feature computed differently in the training pipeline vs. the serving path) and how your design prevents it — this is the single highest-signal thing you can say in this round.
- Plan for safe rollout. Canary or shadow deployment before full traffic cutover, with a clear rollback trigger.
- Design the failure path. What happens when the model service is down — fallback to a simpler model, cached prediction, or a clear error?
- Name what you’re deferring. “I’m not detailing the feature store’s storage engine right now — happy to go deeper if that’s the bottleneck you want to explore.”
What gets you eliminated in this round: designing a system with no mention of rollback or fallback behavior; ignoring training/serving skew entirely; treating this as a pure infrastructure question with no acknowledgment that the artifact being served is a model that can be silently wrong.
Category 6 — Monitoring, drift, and incident response
Sample questions:
- “How do you detect data drift without access to real-time ground-truth labels?”
- “A model’s prediction distribution shifted overnight, but no code changed. Walk me through your investigation.”
- “What’s the difference between monitoring a service (uptime, latency) and monitoring a model (accuracy, drift)? Do you need both?”
- “Design an alerting strategy that doesn’t page someone for every minor fluctuation.”
- “How do you decide when a drifted model needs immediate rollback versus scheduled retraining?”
A strong answer, worked example (Q2): “First I’d check for an upstream data pipeline change — a schema change, a new data source, a timezone bug — before suspecting the model itself, since that’s the most common cause and the fastest to rule out. I’d compare the current input feature distributions against a recent baseline using something like population stability index or KL-divergence, feature by feature, to localize which inputs shifted. If the shift traces to a real upstream change, I’d assess whether it invalidates the model’s training assumptions before deciding between a hotfix, a rollback, or an emergency retrain.” Notice the structured elimination order — pipeline first, then localized distribution comparison, then a graded response, not a guess.
Category 7 — Cloud and infrastructure-as-code
Sample questions:
- “Why manage infrastructure with Terraform instead of clicking through a cloud console?”
- “How would you estimate and control the cost of a GPU-heavy training pipeline?”
- “Walk me through the trade-offs between running inference on CPU vs. GPU for a given model.”
- “How do you manage secrets (API keys, model registry credentials) securely in a CI/CD pipeline?”
What strong answers include: for Q2, concrete cost levers — spot/preemptible instances for training (not serving), right-sizing instance types instead of defaulting to the largest available, and shutting down idle dev environments automatically — rather than a vague “we’d monitor costs.”
Category 8 — Behavioral and on-call readiness
Sample questions:
- “Tell me about a production incident you were on-call for. Walk me through what happened.”
- “Describe a disagreement with a data scientist or ML engineer about what’s ‘production-ready.’”
- “Tell me about a time you had to say no to a launch because the infrastructure wasn’t ready.”
- “How do you balance building robust, general infrastructure against a team that wants to move fast and iterate constantly?”
A strong STAR answer, worked example (Q3):
Situation: A model was ready to ship per the ML team, but the serving infrastructure had no rollback path and no drift monitoring in place yet. Task: Decide whether to support the launch on the original date or push back. Action: I proposed shipping to 5% of traffic behind a feature flag with basic logging, while I finished the rollback and monitoring work in parallel — rather than either blocking the launch entirely or shipping with no safety net. Result: The partial rollout shipped on schedule, the monitoring landed three days later, and when the model did show a drift issue two weeks in, we caught it and rolled back within minutes instead of it running unnoticed. What I’d do differently: I’d push for monitoring to be a launch requirement earlier in the project timeline, not something added under time pressure.
Category 9 — Company-specific patterns
| Company type | Emphasis |
|---|---|
| Large tech / internal ML platform teams | Heavy infrastructure depth: Kubernetes, IaC, multi-tenant platform design |
| Mid-size product companies | Balanced loop: CI/CD, serving, monitoring, with a practical take-home |
| Startups | Broader scope per person — a single engineer often owns training through serving; heavier weight on “can you build the whole pipeline alone” |
| Regulated industries (finance, healthcare) | Heavier emphasis on auditability, reproducibility, and governance/access control |
Full question bank
Motivation / background
- Walk me through an ML system you took from notebook to production.
- Why MLOps specifically?
Linux & scripting 3. Write a bash script to archive log files older than 7 days. 4. Explain process vs. thread and why it matters for an inference server. 5. Debug a service with growing memory usage over time. 6. Parse a huge log file for error rates without loading it fully into memory.
CI/CD 7. Design a CI/CD pipeline that trains, tests, and deploys automatically. 8. What should block a deployment automatically vs. require human sign-off? 9. How do you test ML code differently from regular application code? 10. Design an automated retraining trigger. 11. Walk through your rollback process after a bad deployment.
Containers & orchestration 12. Why containerize a model at all? 13. Write a Dockerfile for a model-serving API, optimized for image size. 14. Explain Deployment vs. Service vs. Ingress in Kubernetes. 15. Autoscale an inference service with bursty traffic. 16. Handle GPU scheduling in a shared Kubernetes cluster.
Serving & infrastructure design 17. Design a serving system for sub-50ms latency at 10K RPS. 18. Design a nightly batch inference pipeline for 100M records. 19. Serve multiple model versions simultaneously for a gradual rollout. 20. Design a feature-serving system that avoids training/serving skew.
Monitoring & incident response 21. Detect data drift without real-time ground-truth labels. 22. A model’s prediction distribution shifted overnight with no code change — investigate. 23. Monitoring a service vs. monitoring a model — do you need both? 24. Design an alerting strategy that avoids alert fatigue.
Cloud & IaC 25. Why Terraform over the console? 26. Estimate and control GPU training costs. 27. CPU vs. GPU inference trade-offs.
Behavioral 28. Tell me about a production incident you handled. 29. Describe a disagreement about what’s “production-ready.” 30. Tell me about pushing back on a launch date for infrastructure reasons.
Common mistakes that eliminate candidates
- Designing serving systems with no rollback or fallback path. This is the single most common gap in the system design round.
- Ignoring training/serving skew. Not naming this risk explicitly in a serving-system design reads as missing ML-specific judgment.
- Treating monitoring as “just add logging.” Panels want drift detection, alerting thresholds, and a graded response plan — not a generic observability answer.
- No mention of cost in infrastructure questions. MLOps engineers are expected to reason about GPU/compute cost, not just correctness.
- Debugging answers that jump straight to “retrain the model.” Strong answers rule out data pipeline and upstream issues first — retraining is often not the right first move.
- Weak behavioral answers with no specifics about the actual incident. “We fixed it and moved on” without naming the root cause or the process change reads as rehearsed.
- Over-indexing on tools, under-indexing on trade-offs. Naming Kubernetes, MLflow, and Terraform is not the same as explaining why and when to use each.
A two-week prep plan
Week 1 — Systems and automation foundations
- Days 1-2: Refresh Linux fundamentals, scripting, and debugging techniques (memory leaks, process inspection, log analysis).
- Days 3-4: Refresh CI/CD and containerization — write a Dockerfile from scratch, design a CI/CD pipeline on paper, and drill Kubernetes core concepts (Deployment, Service, Ingress, autoscaling).
- Days 5-6: Refresh monitoring and drift — practice explaining the drift-detection framework and a structured incident-debugging order out loud.
- Day 7: Write 3 STAR stories covering a production incident, a “not production-ready” disagreement, and a launch-readiness trade-off.
Week 2 — Systems design and simulation
- Days 8-9: Practice 3-4 ML platform system-design prompts out loud, timed at 45 minutes each, using the 6-step framework above.
- Days 10-11: Do a full timed take-home simulation — train a small model, containerize it, serve it via FastAPI, and add basic monitoring.
- Day 12: Run a mock interview covering one systems/infrastructure round and one monitoring/incident-response round back to back.
- Days 13-14: Research the specific company’s platform maturity (see the company-specific table above), review your notes, and rest before the loop.
Go deeper
This tutorial covers the interview itself. If you want to build the underlying skills — from experiment tracking through CI/CD, serving, registries, monitoring, and Kubernetes — follow the structured learning path:
MLOps Engineer roadmap — the complete stage-by-stage path from MLOps foundations through a capstone pipeline, with free courses and tutorials at every stage.
Relevant free course to go deeper on the full pipeline:
- MLOps Foundations — CI/CD, containerization, serving, registries, monitoring, and Kubernetes basics in one structured course
