I interviewed with Microsoft for a Principal Machine Learning Engineer position in March. My experience is detailed below:
Initial Contact: I received a call from a Microsoft interview coordinator after proactively reaching out to various teams.
Online Assessment: I completed a challenging online assessment, requiring me to use a programming language unfamiliar to me to solve a difficult problem.
Round 1 - Data Structures and Algorithms: This round involved solving two relatively straightforward problems: sorting a list of tuples and using two pointers to find elements in an array that sum to a target value.
Round 2 - System Design: I was asked to design a system similar to Google Drive. While I attempted to discuss various aspects of the design, the interviewer focused primarily on the file chunking and storage mechanisms.
Round 3 - Hiring Manager: This round involved designing an AutoML capability. I was given significant freedom to define the problem statement, features, and solution.
Final Round (AA): This round included questions on debugging memory errors, serving machine learning models (I provided a detailed response covering various methods), and designing a system similar to Elasticsearch. The interviewer seemed disengaged and critical of my responses.
Outcome: After two weeks of waiting and following up, I received feedback that my performance was not sufficient for the Principal Machine Learning Engineer role or lower-level positions.