Machine Learning Engineer interview questions:
The role of machine learning engineer is highly technical which makes it appealing to companies that have data-driven components in their product line. Additionally, machine learning engineers’ practical skills resemble those needed for a data scientist role, however, are more particularly interested in tackling real-world challenges through the creation and deployment of machine learning models. Therefore, this requires the machine learning engineer to have both the academic background and practical hands-on experience of machine learning and be specifically well-versed in fields such as; statistics, optimization, data mining and algorithmic design.
They are aware of the steps they need to take to choose the right type of model to solve the problem at hand amongst a wide range of multiple models at their disposal. Their observation and analysis of each model, allows them to understand the limitations and assumptions of each model and to be able to develop specific aspects to improve model performance by utilizing the right metrics to measure and advance model accuracy. One of the core important skills for this role is having a strong research background which comes with having a PhD in the field and this why a PhD degree is an asset. On the other hand, the practical aspect of the role requires candidates to be well versed in using specialized tools and packages for machine learning. For instance, scikit-learn (Python), Spark ML, R, Mahout and so on. An important note is that candidates will most likely utilize a lot of their computer science or statistics background.
You could start and develop the technical conversation by asking your candidates to describe how a specific model that used previously works. Furthermore, technical interviews can be quite stressful and overwhelming for prospective candidates and this is why it is important to create a comfortable environment for them by giving them the opportunity to speak about something they are well versed in and have experience working with. Even if the model chosen by them is very simple, it is fine because the goal of the technical conversation is to check if the candidate is fully aware of the model they are talking about and not only the basics. Therefore, diving deep into describing a model as simple as k-nearest neighbors or linear regression can disclose a lot of information about a candidate.
Role-specific questions:
- What is the problem that the model will be used to fix?
- Can it tend to be over-fitting? If yes, then what would you do about it?
- What are the assumptions that the model makes regarding the data? When would they become unrealistic? What are the methods you would use to measure the data to evaluate if we can satisfy these assumptions?
- Is there a problem with the model’s convergence? Is there a random component to it, or will the same training data produce the same model every time? In training, how do we cope with random effects?
- What is the control level of the model when it comes to examining different types of data (numerical, categorical, etc.)?
- Is the model capable of handling missing data? What are our options if we discover missing fields in our data?
- What is the model’s interpretability?
- What are some of the substitute models that can be used for the same problem we wanted to solve in the first couple questions and what are the differences that exist between the initial model used and these substitute ones?
- Can the model be updated without an initial retraining?
- In comparison to other models, how fast can prediction be made? And how quickly does training take?
- Is there any meta-data in the model that needs to be tuned? How are we going to accomplish this?
Deeper machine learning questions:
- How do you explain the EM algorithm? Give us some examples of applications.
- Identify deep learning and go through some of the main features that make them distinct from other traditional machine learning.
- What do you consider to be linear in a generalized linear model?
- Explain a probabilistic graphical model, and the ways it functions. How are Markov and Bayesian networks different?
- Provide us with an example of an application that utilizes non-negative matrix factorization.
- A random forest is based on what type of ensemble technique? What are the problems and limitations being addressed here?
- What dimensionality reduction approaches are you familiar with, and how are they comparable with each other?
- Go over some methods that are good and non-exhaustive in order to perform feature selection that does not include exhaustive search?
- What criteria would you use to assess the quality of clusters formed by a K-means run?
Tools and research:
- Do you have any machine learning or related research experience? Have you published any articles or journals?
- How did you train and evaluate your models? What tools and environments did you use in your previous positions?
- What is your knowledge level in regards to Spark ML other platforms for building and developing machine learning models using enormous datasets?