Machine Learning Engineer and MLOPs Interview Prepation Guide

Table of Contents

List of blog Ideas:

    1. First blog to speak about what is involved in the interview
    • 1.1 Topic list for interivews
      • 1.1.1 Coding
      • 1.1.2 System design
      • 1.1.3 ML Design
      • 1.1.4 Behavioral
      • 1.1.5 ML Theory
    • 1.2 Prepartion challenges
      • 1.2.1 Preparation scope: problem solving vs fluency
      • 1.2.2. Time required to prepare
      • 1.2.3. Drawaing up a methodology for preparation

Preparing for technical interview as ML engineer or MLOPs require demonstrating expertise from coding, system design, MLdesign, ML Theory, MLOPs, SQL, Behavioral and so on. There are tons of topics on these online. However, one of the fundamental problem is the availability of time.

Most of the folks start sincerly and with good intent for interview preparation. However, soon one can recognize the challenges with time management. If one is already in a job and have family, it becomes much more harder to organize and progress with one’s learning.

One of the objectives of this blog is to address this. The goal is to identify the scope of what one needs to learn, distill and curate the topics, organize the materials, design practice sessions and come up with a reinforced learning approach that ensures the learning is not lost and at the same time one is able to learn new things and revise already learned content.

This blog takes a prescriptive approach to drive home the specifics. The assumption is that if one is getting ready to prepare for interviews, maybe a prescriptive approach (with enough room for customization) may be a better choice than letting one figure out a methodology by trial and error as time is of essence here.

Interview Scope:

Though at very high level the interview format may look standard, on the ground they vary widely. In Tier 1 companies (depending on how one defines Tier 1, say FAANG type companies) one has the option to select either machine learning system design or machine learning theory. There are no take home assignments, no SQL (unless one is applying for data scientist roles), and ML coding is also less likely.

In startups, there are enough examples of interviews where questions like coding ML algos from scratch are often asked.

In many other firms, the questions revolve around data extraction using SQL and there is expectation to have some knowledge of SQL.

We have not even scratched the surface of distributed learning frameworks or cloud yet.

In small scale ML development, ML design is very limited. However, for interviews at big tech, this is important. The same goes with coding. If one is working on maintenance or simple enhancements to existing products, the probability of using data structures and algos on daily basis is limited. Not all job roles require graphs and dynamic programming. However, these are must-haves for interviews.

What these mean is that we need a framework for interview preparation that involves deliberate learning of concepts and topics that are not used in our daily job. One of the problems of learning new things is they are easily persihable. If one does not use it daily, it is hard to remember and retain all of the learnings for a long period of time. This means in our interview preparation schedule, we need to set aside time to practice, revise and reinforce what we have learned while we continue to learn new things.

Time management:

If one is preparing for the interviews while having a day job and family, at the maximum one can set aside between 2 - 4 hours daily for interview prep.

This time has to be divided among coding, system design, ML design, theory, behavioral. Within these topics, the time has to be further divided to learn new things and also to practice already learned content.