It absolutely sucks to be rejected yet again but we just have to keep chugging along and improving. This was my first "on-site". I've been rejected by many FAANG interviews over the years before getting to this round so I know I'm getting closer to that elusive offer. It hurt not being able to type [Offer] instead :'(
One major difference in my prep is using this website. In previous years I used to study data structs and learn the nifty algorithms like KMP / Knapsack etc. This was clearly the wrong way to approach the technical interviews. Doing the problems on Leetcode and the 30-day challenges with a contest here and there really helped me track my progress. As the weeks went on, the problems got easier and I was able to do them faster. Over time you'll pick up tips and tricks on handling various problems and you'll be able to spot them easily in interviews.
Phone Interview 1: https://leetcode.com/problems/word-search-ii/
Phone Interview 2: Variant of https://leetcode.com/problems/two-sum/
Interview 1: ML + Algorithms
Lots of LP questions
Talk about research process and how I handle working with various teams
Talk about scalable ML and how ML looks in prod
Coding problem: something similar to
https://leetcode.com/problems/edit-distance/
Interview 2: ML
Indepth ML discussion
Tested ML Breadth with pros and cons of various models for various situations, datasets, objectives
Pros and cons of various loss functions
Lots of LP questions
Interview 3: Bar Raiser
This interviewer was extremely nice! Clearly far more experienced than most other interviewers both at Amazon and all of the other places I've had interviews. It felt like a friendly light conversation with lots of positive feedback.
Lots of LP questions.
Session 4 - Tech Talk:
30 minute presentation of my PhD work followed by 30 mins of Q&A focused on ML.
Why use certain models and why tune certain params etc.
Justify the decisions made during the research.
Interview 5: ML with Hiring Manager
30 mins LP questions
30 mins technical ML questions.
Dive deep into a few models to test my understanding of the underlying datastructures and why certain decisions are made when constructing the underlying structs.
Self ratings
Interview 1 went extremely well. I knew all of the technical questions and solved the problem using the optimal time/space complexity quickly. I rate my performance on this 10/10.
Interviews 2 and 5 were rough. There was plenty I didn't know and plenty I did know. They could tell where I was unsure and drilled into it to expose my lack of knowledge in a very specific topic. I rate myself 6/10 for each.
Interview 4 (bar raiser) is hard to call. Given that it was mostly LP questions and I felt like we both enjoyed the chat, I'd say it went well. I didn't have stories that fit to the questions perfectly so I had to mold some of my prep.
Tech talk went smoothly as I just had to read some of my papers to refresh my justifications of why I did certain things.
About me:
PhD Machine Learning (graduating later this year depending on COVID)
Masters CS
BSc CS
LeetCode : Easy 80, Med 50, Hard 10
Other algorithms websites: I completed LOTS. I like doing algos for fun.
The recuiter said that most interviews were positive but overall you need a lot of DEEP ML knowledge for the RS/AS positions. They instead suggested I try for a ML Engineer position.