I recently received a job offer from Microsoft. The interview process was smooth and comprised of four rounds. No online assessment was required.
Round 1: I began with a brief self-introduction, after which the interviewer expressed interest in my project and asked several detailed questions. This segment lasted approximately 10-15 minutes. Subsequently, the interviewer posed a question on trees. I provided various solutions, outlining their respective space and time complexities before implementing the optimal solution. The interviewer was satisfied with my response.
Round 2: Similar to the first round, a significant portion of this interview involved a discussion of my project (15-20 minutes). The interviewer then presented a question on linked lists, followed by several operating system questions. I believe my performance in this round also indicated a strong likelihood of being hired.
Round 3: This round was conducted by a senior-level interviewer. I was presented with a multi-threaded C++ code and asked to debug it, providing the expected output. I performed a step-by-step dry run of the code and explained my answer. I then identified and explained several issues within the code, including the critical section problem and how to address the producer-consumer problem. I provided solutions to these issues, and the interviewer was pleased with my performance.
Following this, the interviewer presented a scenario and asked me to design a suitable data structure. We discussed the optimal solution, which involved using a bitmap. The interviewer expressed satisfaction with my response.
Round 4: This final round was with the hiring manager. We focused on an in-depth discussion of my project, exploring various scenarios and design options. The interviewer also asked several behavioral questions. I felt the interview went well.
The first two rounds were conducted on consecutive days. I requested a break before the third round, and the final round was scheduled one week after that. I received the offer three days after the final round.