NewoVhY14

MLE - Interview preparation that led to successful offers

As giving back to this amazing community, I wanted to share the list of resources that recently gave me really good preparation that eventually led to 4 offers after 4 onsites: Apple, Meta, LinkedIn, and pre IPO startup. I canceled 6 onsites after I found out I was getting these offers. Old TC: 215k New TC: 450k A bit of background: bay area, 5YoE, PhD. I was only targeting MLE roles and E5/IC5 levels. I will mostly describe the materials I used for ML Design/ML panels, but will mention what I used for coding, design and behavioral. --- ML Design / ML * What I liked and what I recommend: - http://www.mlebook.com/wiki/doku.php Machine Learning Engineering by Andriy Burkov This is a great resource. I read the entire book and I recommend doing the same. It provides a great overview of theory and practice for MLE. Being strong in aspects such as data drift, model monitoring, etc are essential. - https://huyenchip.com/machine-learning-systems-design/toc.html https://huyenchip.com/ml-interviews-book/ These materials authored by Chip Huyen are quite nice and give a reasonably good take on variety of topics. I found them to be a bit more shallow than the previous source, but overall good materials to follow. - http://patrickhalina.com/posts/ml-systems-design-interview-guide/ ML Systems Design Interview Guide by Patrick Halina This is one of the best resources in a very compact format. I used a very similar design process/format as the author describes in this post. ML design questions are really very streamlined and can be approached in a very systematic way. The author here introduces a great framework on how to solve them successfully. He introduces a perfect framework, in my view, to decompose these problems into smaller areas, and execute in these. - https://developers.google.com/machine-learning/guides/rules-of-ml The Rules of ML by Martin Zinkevich Great resource that talks about very useful aspects such as when to start with heuristics, watching for silent failures, etc. * What I have mixed feelings about: - https://www.educative.io/courses/machine-learning-system-design I tried this course, but it was kind of meh. It gives a good overview on how to approach the ML design problems (candidate generation + ranking in most of them), but it does not go deep in any of the areas. My recommendation is if you are very fresh and really need a lot of guidance, it might be worth it. Otherwise, the ones I included above are enough. * What else to read: - embedding: I found it essential to have a crisp and perfect understanding of embedding aspects. Word2vec, skip gram vs cbow, negative sampling, etc. - A/B, model/data shift: This is something that often comes up a lot. You get extra points if you bring these topics by yourself (shift). MLE book above (1st position) gives a great overview on these topics. - Basic algorithms: Linear/Logistic regression, Trees (bagging/boosting), SVM, Naive Bayes, deep learning. Knowing how they work and knowing when to choose which if it's preferred. Be prepared to provide side-by-side comparison any of the two. - Model debugging: under/overfitting, regularization, etc. These are must. Some phone screens involved flash questions on these topics. - Problem formulation. Practice and be very clear on formulating a problem as a machine learning problem. Be very clear about it. * A few tips: - When you are driving the design, check with interviewer often whether they would like to jump to section you are about to jump. I found all interviewers to be very open and allowing me to drive my way. Also, when you ask this question, if interviewer is missing something, they will probably ask for it. - Similar to generic system design, never ever dive into the actual design right away. Clarification in the beginning is the key. Formulate the problem, discuss the requirements and expectations. Patrick's material above provides a great overview on this. - Interviewers are looking at breadth and depth. Don't just say something, and immediately jump into details and go very deep. If interviewer will be interested in something specific, they will probably ask. Give alternatives and give your reasoning on trade-offs. Interviewers love discussing trade offs. - Be positive: treat it like a discussion with a teammate on something you are working on, but you are driving the design. Don't just say things to impress the interviewer in any way. This will usually not work, and interviewers will spot this behavior right away. --- System Design I only did Grokking System Design and read DDIA. I found this to be enough, and not all of the places ask for generic design. --- Coding Invest in annual Leetcode subscription :) The best investment. I started with Blind 75, then I started practicing leetcode. I would say easy/medium/hard 15/75/10. Focus on being able to solve easy in 5-10 minutes and medium in 20-25 minutes. I only did the most popular hard ones. I used the company tagged questions to practice. --- Behavioral Read the Behavioral section from Cracking the Coding Interview. Then, create a table of 3 projects (3 columns), for each project, have these aspects (rows) described. In short, bullet-point form: - challenges - mistakes/failures - what you enjoyed - leadership - conflicts - what you'd differently The idea is that you want to be ready to talk about any of these. I had many questions about how I solved conflicts, about what failed, what could have been done better, etc. Apply STAR method: Situation Task Action Result. This is really just a guidance. You need to be able to give a formulation of a situation, describe what needed to be done, what was done, and the result. The STAR method is just a nice framework to always answer questions in a streamlined, systematic way. #machinelearningengineer #machinelearning #mle #interview

ML Systems Design Interview Guide · Patrick Halina
ML Systems Design Interview Guide · Patrick Halina
PatrickHalina.com
ByteDance BERT. Mar 31, 2022

The greatest post I've seen this month. Thanks OP Mind sharing which offer you picked in the end and why?

New
oVhY14 OP Mar 31, 2022

Thanks! The comp was very close between them. I chose based on the fact that I liked the team and org, can share more in a DM.

Mailchimp crybabies Mar 31, 2022

Thanks OP. I know Patrick he is super solid person imo

LinkedIn FIil02 Mar 31, 2022

Thank you for putting it all together, OP. I'm in the same boat - applying for MLE E5 at FAANG. Can I DM you to discuss a bit?

New
oVhY14 OP Mar 31, 2022

Thanks! Sure, feel free to DM, will help as much as I can

Meta bruhI Mar 31, 2022

Did you have ML PhD? This tc seems low

Ushur __Missin__ Mar 31, 2022

How to learn which models to use in which case ? I've heard, boosting models are state of the art, so why / when would someone prefer simple models over them ?

New
oVhY14 OP Apr 2, 2022

Usually LR is good to set the baseline and see what a simple algorithm can do. Then talking about under and over fitting makes sense. Then you either move to more complex model or regularize if it's over fitting. Tree models are great and powerful. Bagging for minimizing variance while boosting for minimizing bias. Trees are great because they can address non linearly separable problems, and are relatively easy to understand (feature importance etc). Neural nets are powerful but needs vast amount of data. Need techniques to address over fitting and are relatively hard to understand. A lot of research does goes into making these black boxes transparent in how they provide their predictions. I recommend reading MLE book I linked. It gives some of these very practical hints and points.

New
oGuY27 Apr 1, 2022

Thank you! this is really really helpful!

Zillow Group studscpd Apr 3, 2022

Hey OP - DM’d you about tips for Linkedin and Meta. Thanks for writing this up!

SanDisk rafaeln Apr 4, 2022

Thanks for the suggestions

New
starts Apr 5, 2022

Can I DM you, mate ?

New
oVhY14 OP Apr 5, 2022

Sure

LinkedIn zQCt57 Apr 9, 2022

Thanks for sharing this great resource. Which company asks generic system design? I am just wondering how much time I should take studying ML design vs general design

New
oVhY14 OP Apr 9, 2022

Meta asked generic system design. Overall I found that it's better to prioritize ML system design and just do basic preparation for generic system design.