Recently I’ve received many questions about Machine learning interviews. For the longest time, I couldn’t answer them well because I’ve not had a standard interview since my college days.
A quick announcement about our new publication AI³. We are getting the best writers together to talk about the Theory, Practice, and Business of AI and machine learning. Follow it to stay up to date on the latest trends.
So I started accepting some of the offers for interviews that I’ve received. After going through a few interviews, I’ve identified some common patterns that you might find useful. Many of these patterns are common among interviews for technical positions.
During this process of discovery, I found that machine learning interviews like many other technical fields are broken up into three main parts. Fact-Finding, Technical Know-how, and the coding interview.
The fact-finding interview(s) are usually exactly what the name suggests. You are asking questions about the company and the company representatives are asking you questions. I can’t stress enough that this part of the interview is not here to weed people out it is here for you to learn about the company don’t overthink it!
Acing this part of the interview is easy, be honest with what you want and are looking for, and you will do great.
Technical know-how interviews are open-ended discussions about specific technologies and projects. The most common method seemed to be Q&A on previous projects, with extended questioning on methods used to solve the problem.
This machine learning interview is pretty easy to get through assuming you followed my method of learning machine learning. When you have gone through a few projects from zero to one, you get all the knowledge you need to answer questions that interviewers would ask.
As an exercise, think about a project you completed and then try to answer the following questions:
- Why did you choose this method to solve the problem?
- How did you handle missing data?
- Can you elaborate on issues you had during this project and how you solved it?
- If you did it again, would you try a different method? If yes, why?
If you can answer these questions then congratulations you will pass this part of the interview.
I want to stress the importance of not just having projects, but having a diverse set of projects. A lot of feedback that I got was that all of my projects while technically impressive, were focused on deep learning systems and I had little experience with more traditional machine learning algorithms. In my previous blog post, I highlighted how you should do a variety of machine learning projects to build a solid machine learning portfolio.
Take away: Don’t overthink this part of the interview, if you have worked through a few problems you will have all the information you need.
I’m not a fantastic coder when I’m under the watchful eye of someone that isn’t me! Goes without saying that I bombed pretty badly on this part of the interview. Honestly, one of the most embarrassing moments of my life. Even as someone who has built a few solutions from nothing to production it is easy to get turned around in less you are prepared for the unique situation that coding interviews represent.
During common coding interviews, the interviewer will ask you to perform a simple task. It is your job to break down the problem formulate an algorithm and then implement that algorithm in your desired programming language. If you have extra time, you will improve or try to solve the problem differently.
If you are not sure about how to study for a coding interview, I highly suggest you read this blog post on how to tackle the coding interview. I have started to follow it and hopefully won’t embarrass myself next time I take a coding interview.
Takeaway: Studying for the coding interview should be your priority. There is nothing quite like it that you will experience while working. I was arrogant by refusing to study before I did the interview and I was taken to the cleaners! Don’t be me.