The ML Engineer Interview Loop
ML engineering interviews vary widely depending on company stage, size, and domain. That said, you’ll likely go through the following interviews:
- Recruiter screen
- ML coding
- ML concepts
- ML system design
- Behavioral
Recruiter screen
Time estimate: 30 minutes
The recruiter will briefly discuss the job expectations and assesses your potential fit for the role. The screen probably won’t be question-heavy, and you might have it with the hiring manager instead of a recruiter. You may learn specific role responsibilities and have an opportunity to ask questions.
If you’re an external hire:
No one knows you yet, so the first screen aims to prove you are who your resume says you are, you know your stuff, and you’re likely to fit in culturally. You can expect:
- Behavioral questions to assess your personality and working style.
- Resume questions to understand your experience.
- Light technical questions to gauge your domain knowledge.
Good questions to ask at this stage are:
- What’s the format of the interview like? Will I be asked mostly behavioral questions? Will I be expected to go through a technical exercise?
- Can you please provide the names and any relevant background for my interviewers so that I can prepare?
Some tips on acing the first interview:
- Do research on the company so that you can display why you’re interested and how you can contribute.
- If it’s by phone, have all of your prep materials physically laid out in front of you for easy viewing. If it’s by video, it’s better to keep your prep materials on your computer so that you can make eye contact often with the video camera.
- If you can, look up the interviewer on LinkedIn so you can understand them a bit better; make references during the interview if you have something in common.
ML coding
Time estimate: 45 minutes
You’ll be asked about your understanding of an ML framework (e.g. TensorFlow, PyTorch) and a core ML concept relevant to the team's sub-field (e.g. transformers, convolutional nets). You’ll need to correctly implement a solution and explain its function within a broader system. A follow-up question may involve system extension to a more complex scenario.
Example questions include:
- Implement an attention mechanism using PyTorch.
- Implement a convolutional filter using PyTorch/TensorFlow.
- Implement k-means clustering.
- Find the common ancestors in a tree.
- Implement a depth-first search algorithm.
Some tips on acing this interview:
- Ask clarifying questions, try a few toy examples, and ensure that you understand what the inputs/outputs are.
- When applicable, decide on a particular ML framework (e.g. PyTorch or TensorFlow) and language (usually Python). Unlike other coding interviews, almost all current ML coding interviews are conducted in Python, and you will likely be at a disadvantage if you are not well-versed in Python. The exception is if you are interviewing for a team that purely builds infrastructure.
- Discuss or write out a high-level outline of your approach in pseudocode. Get buy-in/approval from the interviewer.
- Talk out loud as you write the code.
- Test your code and check back in with the interviewer about any follow-up questions.
ML concepts
Time estimate: 45 minutes
In this interview round, you’ll discuss fundamental ML concepts with an ML engineer or scientist. You may be asked about your specific ML interest areas and questions related to the company's niche.
Example questions include:
- Explain the bias-variance tradeoff.
- Explain the terms "training data" and "testing data" in the context of machine learning.
- What are the differences between stochastic gradient descent, mini-batch, and gradient descent?
- What is the importance of feature scaling and normalization in machine learning?
Some tips on acing this interview:
- Generally the interviewer will structure the interview, so you need only answer their questions with a few sentences at a time.
- Try to provide concise but thorough answers.
- Write out the equations if any are involved.
- Provide concrete examples.
ML system design
Time estimate: 45 minutes
You’ll be asked to design an ML system from end-to-end, including pre-processing the data, training and evaluating the model, and deploying the model. You’ll be expected to know some of the more practical real-world aspects of productionizing an ML model, particularly concerning efficiency, monitoring, preventing harmful model outputs, and building inference infrastructure.
Example questions include:
- Design a Spotify recommendation system
- Design a model for Netflix that predicts watch time for a user
- Design an ETA system for a maps app
- Train a model to detect bots
Some tips on acing this interview:
- Ask clarifying questions, particularly about expected inputs/outputs, the downstream use case, the scope of the question, and what acceptable tradeoffs are.
- Sketch out a high-level design of the system.
- If you’re discussing infrastructure, be sure to relate it back to foundational ML concepts (e.g. if you’re designing a monitoring system, what metrics are you using it to monitor and why?)
- Debrief and discuss what some of the main bottlenecks and tradeoffs of your overall system design are.
- If you’re interviewing at a large company, prepare to respond to follow-up questions about how you’d scale the system (e.g. How would you adjust your design if you could increase your model by 10x the current size?).
Behavioral
Time estimate: 30 minutes
In this interview, the hiring manager usually has a short discussion with you to assess whether your skills and working style align with those of the team. ML teams hire candidates who are particular matches for their team and have specialized expertise in that niche.
Before the interview, it can be useful to build a mental roster of key situations you faced including successes, failures, conflicts, and challenges. Then, in the interview, choose the example that’s most relevant.
Example questions include:
- Describe your machine learning experience.
- Tell me about a machine learning project you worked on.
- How do you manage projects under pressure?
- Tell me about trends and challenges in your machine learning specialty.
- Describe a time you overcame a difficult situation.
Some tips on acing this interview:
- Provide context to help the interviewer understand the situation, but don’t explain every detail.
- Be clear about what you did, why you did it, and what results and learnings came from it.
- Highlight your most important experiences and emphasize your strengths. Describe how they align with the job requirements.
Now that you have an overview of the ML engineer interview loop, let’s dive into the details with the upcoming lessons!