How to ace your next ML interview

By: Allen Lu, CTO & co-founder at Adaptilab

Tech interview. Just hearing these two words is enough to send a shiver down most people's spine. The thought of having to come up with the solution to a complex problem in under an hour, all while being evaluated by a complete stranger, is terrifying.

For software engineers, the frightening nature of tech interviews is largely mitigated by the hundreds of books and guides that give insight and tips on how best to prepare for an interview. However, there are not nearly as many guides on preparing for machine learning interviews, and the ones that are out there tend to focus too much on theory or minute details.

With this blog post, I'll be shedding some light on how to really prepare for machine learning interviews. Much of this advice comes from personal experience, as well as insight from machine learning engineers at tech corporations like Google and Microsoft. Therefore, this post is intended for prospective machine learning engineers, rather than researchers or data scientists.

Less theory, more concepts

A common theme I see in most ML interview advice guides is the heavy focus on linear algebra and theorems. After reading these guides, you'll probably be preparing for an ML engineering interview the same way a Master's student prepares for a theoretical ML final.

While the theoretical content may be important for research and academia, it is pretty useless when preparing for an industry ML engineering interview. Not only does theoretical ML rarely come up in an engineering job, the engineer interviewing you will likely have forgotten all the theoretical stuff they learned in college. Sure, they'll know basics like matrix multiplication and dot product, but advanced topics like quadratic programming and Hessian matrices?

Most ML engineers don't even remember what a Hessian matrix is, let alone how to derive one.

Instead of theoretical topics and formulas, what you really should focus on are the main concepts in machine learning. An ML engineer's job is largely centered around building models for specific tasks using frameworks like TensorFlow. They don't need to know the calculus behind backpropagation and gradient descent; they can just call an API function. Instead, they need to know things like which models to use for certain tasks, how they might improve training speed or model accuracy, and above all else, how to code machine learning models.

In an interview, you'll be asked to code simple machine learning models for tasks like classification or regression. You'll also be asked to identify problems with certain machine learning approaches, and how you would fix them. All these interview topics are conceptual rather than theoretical because an ML engineer's job is based on concepts, not theory.

Know the domain

Along with focusing on general machine learning concepts, you'll want to really prepare for questions specific to the job's domain. For example, if you're interviewing to be a self-driving car engineer, you'll definitely need to prepare for questions on image recognition and convolutional neural networks. On the other hand, if you're interviewing for a text analysis position, you'll want to know concepts related to natural language processing.

All the concepts I mentioned in this blog post can be found in our Labs. Unlike online ML courses or university lectures, our Labs will directly prepare you for an ML interview in the tech industry.

By: Allen Lu, CTO & co-founder at Adaptilab

Show Comments