The process was fairly standard: one technical screen followed by a four-interview loop. Unfortunately, several problems in the process impacted my ability to succeed.
The preparation guidance provided was incorrect. The recruiter told me to study LeetCode for the first screening. In that interview, no coding questions were asked, only behavioral questions. The interviewer said I should work on my behavioral question responses in the next round. Having focused my time on LeetCode questions, I hadn't polished my answers for behavioral questions.
Again, for the next four interviews, I was told to focus on LeetCode. Two of the four interviews had no coding. Not only did they have no coding, the first interview in the four-interview loop was with the same person who interviewed me for the tech screen, and both were fully behavioral. I wonder if there was some mix-up there.
During the interviews with coding, only 15 minutes was given to solve the coding questions (these normally have at least 30 minutes). Additionally, one of the interviews was an interrogation to verify what's on my resume. That wasn't so bad because if it's on my resume, I can answer questions about it, but I wasn't prepared for a deep dive on every aspect of REST. There was also a system design interview; I expected this even though the recruiter didn't actually tell me there would be one.
The final thing that made this a negative experience was the pressure from the hiring team. I was told I had to schedule my final round interviews within two weeks or the position would close. For further context, I had applied to this position two months prior and had no idea if they would ever get back to me or when. I had to move a non-trivial personal obligation to make these interviews work.
Then, one of the interviewers didn't show up. I was told the recruitment team accidentally put the wrong interviewer on the loop. I guess they didn't check for an acceptance. I couldn't move my personal obligation, so I told them it would have to be pushed out two weeks. Apparently, that was fine. So much for the position closing within those first two weeks.
I'm rating the overall difficulty as average. If I had known what to prepare for, the interviews were of reasonable difficulty.
Design an LRU cache solution.
What is REST and how do you secure REST APIs?
There is an operational issue. How do you mitigate it?
The following metrics were computed from 19 interview experiences for the Microsoft Principal Software Engineer role in United States.
Microsoft's interview process for their Principal Software Engineer roles in the United States is extremely selective, failing the vast majority of engineers.
Candidates reported having negative feelings for Microsoft's Principal Software Engineer interview process in United States.