Current Status
Company: One of the top Investment Banks Position: Associate (equivalent to SDE 2) Current Years of Experience: 4 years and 10 months
Interview Details
Company: Microsoft Position: SDE II (L62) Date: June 2024 Years of Experience: 4 years and 10 months
I applied online through Microsoft's careers page. I applied to many job openings on Microsoft's careers page. I received an email for an online coding assessment and a call from HR after approximately 30 days. The HR representative explained the interview process and asked some introductory questions. I was informed that I needed to pass the online assessment to proceed to the on-site rounds.
In total, there was 1 online assessment + 4 on-site interviews.
Online Coding Assessment
Time limit: 1 hour Platform: Codility Type: Online coding assessment Self-Verdict: Strong Hire
Two medium-level DSA questions were given. Several domain-related MCQ questions were given.
Then, there were 4 on-site rounds. Rounds 1, 2, and 3 were scheduled for the same day, with two in the morning and one in the afternoon. The fourth round is called the AA round (a Microsoft term).
Round 1
Time limit: 1 hour Platform: Microsoft Teams Type: Problem-solving Self-Verdict: Strong Hire
There were open-ended questions about my current responsibilities, technical questions related to my current work, and questions on how certain issues were handled. These initial questions took about 15 minutes. Then, we moved to a problem-solving (sort of LLD) question on the Codility platform. It was based on Trees.
I believe this question was an LLD question, but I approached it using a DSA style. I did not prepare specifically for these Microsoft interviews as I was focused on other interviews. Therefore, I did not have any dedicated preparation or revision for Microsoft. There were multiple open-ended questions that I asked throughout the interview to help make code design decisions. Throughout the interview, the interviewer raised questions about how my code would handle different scenarios. Towards the end of the interview, I was able to provide a working solution. The interviewer had me run the code for two test cases, and it worked flawlessly.
Round 2
Time limit: 1 hour Platform: Microsoft Teams Type: DSA Self-Verdict: Lean Hire
The interviewer was calm and supportive. One medium question was given: Minimum Time to Collect All Apples in a Tree
I had never seen this question before. Initially, I misunderstood the question and thought the algorithm had to find the time in minimum time complexity. After the interviewer clarified the expectations, I was able to come up with the correct and working code. The interviewer had me run the code, and it produced the correct output for all the test cases.
Round 3
Time limit: 1 hour Platform: Microsoft Teams Type: System Design Self-Verdict: Strong Hire
A system design question was given, to design something similar to Messenger. I addressed all aspects in detail: requirements, NFR, scale, estimates, data modeling, database strategy, constraints, bottlenecks, etc. No specific platform was given; I could choose any platform I wanted. The interviewer asked about flaws and challenges in my design, and I was able to handle them and provide convincing solutions.
Round 4 - AA Round
Time limit: 1 hour Platform: Microsoft Teams Type: Open-ended + LLD Self-Verdict: Strong Hire
I don't remember much from this round, but it was very open-ended. The interviewer asked about my current work, my role, and some questions on my projects. Then, an LLD question was given. The interviewer was not expecting a complete written solution; they were only interested in the core design of the problem, which I was able to provide and address any challenges pointed out in my design. The interviewer seemed convinced. They were the hiring manager as well.
Offer: Offer received.