Cracking a machine learning interview at companies like Facebook, Google, Netflix, Snap etc. really comes down to nailing few patterns that these companies look for. In this article, I plan to share my experience interviewing with these companies and also how I went about preparing.
I have 6 years of
I’ve been on the job market for the past two months and attended ~10 onsite interviews and have 6 offers from Google and few others for Senior/Staff ML roles. This was my first job search attempt since graduating from my Master’s almost 6 years ago and I had to learn the landscape of ML interviews to go about strategizing my preparation.
In this article, I will share tips and tricks that could help you prepare for MLE interviews (L4 and above). I’ve attended interviews at Netflix, Google, Snap, Airbnb, Uber, Instacart, Doordash, Nextdoor and I’m going to focus this article based on the structure from these companies
Machine learning interviews are quite different from vanilla software engineering interviews and the ecosystem is evolving to make these interviews more calibrated and structured. But here are things that you can broadly expect:
Typically, big-tech companies have a 1 hour technical phone screen that comprises of 1 leetcode style question followed by 10 to 15 mins of rapid fire ML tech questions towards the end. Some of these questions include:
I’ve compiled a set of commonly asked ML Theory questions over here.
This round is quite crucial because it really tests your basic understanding of common topics in ML. Instead of approaching these questions by studying a cheat sheet, I’d really recommend spending a week or two going over the basics from a textbook. I highly recommend this text book and this Coursera course which you can watch in 1.5X speed.
This round is quite similar to the above technical assessment round and has 45 min to 1 hour dedicated to it. You can expect two kinds of questions. For example:
What does L1 and L2 regularization mean and when would you use L1 vs. L2. Can you use both?
When there are highly correlated features in your dataset, how would the weights for L1 and L2 end up being?
More similar questions over here.
Aim to spend the bulk of your preparation going back to basics and getting the concepts right. I spent >2 weeks revising machine learning concepts. Getting the derivations practiced with pen and paper makes a huge difference.
Prep-materials attached here.
Now this is the round that few companies manage to conduct well. Finding calibrated interviewers and having the right set of rubric for evaluating candidates is quite challenging for this round. Some of the companies I interviewed at, like Google, Meta, Airbnb, and Doordash had a mature process for ML System design, while others were a disaster.
For ML Design, the expectation from candidates is often not clear and I’ve found interviewers asking questions that are quite large in scope, leaving little room for going in depth. So its crucial that candidates remember to clarify expectations by asking questions like:
Do we care about Model deployment and the system design of how ML infra works?
Do we care about going deep into modeling choices?
L4 candidates don’t typically have an ML design round, for L5 you can expect 1-2 rounds and L6 there’s a minimum of 2 rounds expected.
Expect questions like
Have a good pre-defined structure for the interview. Here’s my recommended structure:
Have a good script for answering any ML Design question. Basically, pretty much every ML design question fits into the above structure and the script can also be somewhat generalized. Here’s my pdf on how I approach recommendation systems; You can also rely on online machine learning design resources like this course for help with different types of design questions.
How to salvage a derail?
Say you are 10 mins into the design interview and the interviewer asks you a question on Business metrics and you spend an excessive amount of time in that section; how do you salvage your interview?
This is something I noticed far too often especially in ML Design interviews. This is often a function of your interviewer having a pre-defined structure in their mind that collides with your structure. for e.g If you start speaking about online metrics and they want to know about Training data - Take a pause, make it explicit to the interviewer that this is the structure you intend to follow and get back on track.
Design interviews should typically be led by the candidate with minimal interruptions from the interviewer. So, take ownership here fully knowing that the interviewer on the other end is probably not calibrated and hence its entirely up to you to utilize your 45 mins to give as much as signal as possible.
4) The best way to prepare for ML design rounds are to take as many mock interviews as possible. I took 5 ML mock interviews with my friends which really helped shape my runbook for this round.
This brings me to the end of Part 1. In Part 2, I plan to deep dive into types of ML Design questions and the rubric that differentiates an L4 candidate vs. L5 and L6 (Meta levels).
I also provide free mock interviews for folks who are currently in the job market. Head over to my website to schedule yours now!