Microsoft Principal MLE Interview Experience
Anonymous User
2650

Hello All, want to bring to the notice of the LC community, the absolute unprofessionalism I witnessed as I interviewed with Microsoft last month, in March, 2024. Let me share my experience below:

§. Getting a call
I'm from a teir-1(non IITs) college, albeit largely associated with startups/small companies. But it took me, a good junior of mine, to reach out infact every team that was hiring. Personally pitching my resume.
Finally after an ordeal of 2 weeks, I magically get a call like a flying spear in the air that Microsoft was keen on giving in up my a$$- proferring to interview me for a "Principal Machine Learning Engineer", wherein I, carrying 9+ yoe, have largely been applying for Sr Software roles, in Data and Backend. This as well, was communicated to me by an interviews coordinator, who'd nothing otherwise to do with Microsoft.

§. the OA
Randomly, I receive a mail with link to OA. I 'd seen a lot of hue and cry about that Microsoft OA wherein 1 of those 2 questions was almost impossible to invent and crack all on one's own in that 90 or 120min window.
I understood that I will have to keep 2 work machines by my side, one to attempt the assignment in, and the other to google solution through.
Surprisingly, I had to write the answer in a language I had never worked on, on being able to chance upon the solution on the internet which was so hard-to-find.
verdit=>passed the OA.

§. R1- DS/A
the coordinator sets up my first round, stating it'll be DS/A problem solving
q1: sort a list of tuples by value and then by key.
q2. use 2 pointers to find if 2 elems in an array total up to a target sum.
q2.5: some useless improvisations of the same.
It all seemed like a piece of cake.

§. R2 - System Design
q. design something like Google Drive.
I was mentioning about FR, NFR, back of the envelope, assumptions, contracts, but all that interviewer wanted to hear was breaking a big file into chunks and maintaining those chunks in a block server and a metadata.
I wanted to elaborate further but he was already going orgasmic and wanted to conclude on a good note, which he did.

§. R3 - with th HM.
interviewer joins 5 mins late and after a brisk intro, asks me to design an "Auto ML" capability.
All the assumptions, features, were mine. an absolute free-hand. He infact wanted me to frame a problem statement/usecase and frame an answer to it.
Not sure how that went, but the next hour I received a call for my last round.

§. Final round (something they call as AA)
the interviewer asked me how my interviews have been so far. I was clueless.
next, he asks a couple of questions:

  • how do you debug memory errors/leaks in an app.
    Any answer I give, he says this is boring, not interesting.
  • How do you serve a ML model.
    gave him a very detailed answer, from pickled serving to KServe, PMML, Seldon-Core, Kubeflow, vLLM, Triton Server.
    he yawned a couple of times.
  • As if he wasnt done asking all the vague questions, he next wanted me to design something like Elasticsearch.
    I proposed a fine HLD seeking inspirations from how ES actually is architected- brought in WAL, Fail-over, redundancy, and lucene.
    he again had a few times his pet dialog mentioned "I dont buy this idea to be frank..."
    finally ended the interview giving me a chance to ask questions.

2 weeks later. I again began begging of my junior to see if there's any feedback he can chase internally for.
Junior said I have been reaching out over messages on official channels to the HM, the recruiter but to no avail.

I desperately requested him to mention that if Principal role is something I am unfit for, can they consider me for L63/L64?

Finally, the recruiter replied that my performance wasnt upto the mark even for lower levels.

And finally, to the notice of my LC community, this is how i have responded:

image

Comments (6)