I participated in a Microsoft hiring drive, after receiving a call from a recruiter. The process consisted of three 45-minute rounds with 15-minute breaks in between.
Years of Experience - 3
ROUND 1 Q1: Serialize and Deserialize N-ary Tree I provided a solution and wrote approximately 70% of the code when the interviewer indicated satisfaction and that the solution would work.
With remaining time, the interviewer asked some CS fundamentals. I was asked how to implement a system that handles REST API requests to fully utilize system resources. This was a vague question, so I asked clarifying questions. The interviewer asked many follow-up questions, and I was able to answer most.
ROUND 2 This was a system design round. I was not expecting system design and was surprised, but I believe I provided a decent approach. I was asked to design the REST API structure for a popular mobile app. The round involved considerable discussion.
I struggled slightly with implementing thread locks on one part, which I felt I did not fully answer.
ROUND 3 This round went very well. The interviewer asked a graph question based on Depth-First Search (DFS), and I developed an approach and wrote the code in 15-20 minutes. I ran the code with sample tests, and it worked correctly.
With remaining time, the interviewer asked how I would implement a system to obtain heap storage allocated to my application. Again, the question was vague, but I believe I answered well, and the interviewer seemed pleased with my approach.
All rounds took place. I have not yet heard back from the recruiters. I called to inquire about the status of my application, and they indicated they would provide an update if one becomes available.