How do you make a model training run reproducible?
What the interviewer wants to hear
- Version code, data and configuration
- Pin dependencies and use containers
- Fix random seeds and record hardware
- Track runs with parameters, metrics and artifacts
Model answer
I make sure every input to training is recorded and fixed. Code is in Git and every run logs its commit. Data is versioned, either as snapshots with a tool like DVC, as table versions in a lakehouse, or as a query with a fixed time range, and the version is logged. Hyperparameters live in a config file, not hard-coded. The environment is fixed with a lock file and a Docker image, so library versions do not change silently. I set random seeds for Python, NumPy and the ML framework, and note the hardware type, since GPUs can still introduce tiny differences. An experiment tracker such as MLflow records all of this along with metrics and the output model. With that, anyone on the team can rerun a past experiment and get the same or nearly the same result.
Can you answer it under time pressure?
Take a timed easy round and get scored on every answer.
More easy MLOps Engineer questions
- What is MLOps, and how is it different from traditional DevOps?
- Why does a team need a model registry? What information should it store?
- How would you deploy a trained scikit-learn model as a REST API?
- What would you monitor for a model running in production?
- What is training-serving skew, and how do you prevent it?
- How do you decide between batch predictions and a real-time model API?
- Explain the difference between data drift and concept drift, and how you would detect each.
- What makes a good Docker image for a model-serving service?
- Which Kubernetes concepts matter most when you deploy a model service, and why?