Microsoft | L60 | Interview experience
Summary
I shared my complete interview experience with Microsoft for an L60 position. I cleared the OA round but was ultimately rejected after the LLD and DSA rounds, learning valuable lessons about implementation speed and system design flexibility.
Full Experience
Hi LeetCode community,
I’ve used this discuss section extensively for my preparation, and I think it’s finally my turn to contribute. Below is my complete interview experience.
OA Round: Two questions on HackerRank, medium difficulty. Verdict: Solved both, passed all test cases.
I was ghosted for about two weeks after clearing the OA. Eventually, an HR representative called and scheduled the next two rounds: LLD and DSA.
Round 1: LLD
The interviewer was a Tech Lead with 17 years of experience. He was very pleasant and created a comfortable environment with some initial chit-chat. We started by discussing my projects—specifically the problems we were solving and my individual contributions. He asked about the most challenging aspect and how I solved it. He wasn't particularly impressed with my first answer, so I pivoted to a different technical challenge which I explained more effectively. He then did a deep dive into another project from my resume, focusing on the technical impact and how specific results were achieved. With 35 minutes left, we switched to the LLD question: "Design a notification module that can be used by other services to notify targeted users."
I asked clarifying questions and began implementing the solution. Seeing "notifications," I immediately jumped into the Observer Pattern. However, as I was writing the classes and methods, he raised several edge cases. I realized he was looking for a different architecture. We spent the remaining time discussing requirements and correcting my code, but the session ended before I could fully wrap it up.
Self-Verdict: Neutral or Negative.
Round 2: DSA
The interviewer was a Senior Developer with 10 years of experience. After brief introductions, we jumped straight into the problems.
Question 1: Count Perfect Pairs
I immediately suggested the brute-force approach but knew it would TLE. I then proposed an optimized approach using sorting and two pointers. He agreed, and I started coding. While implementation, I realized my logic had a missing piece. I struggled with a bug in the implementation, and although I nearly had it, we had to move to the next question to save time.
Question 2: Heaters (LeetCode)
After thinking it through, I proposed a Binary Search solution. We discussed the logic of how to apply binary search to find the minimum radius. He agreed the approach was correct, but we ran out of time before I could code it.
I asked the interviewer for feedback. He mentioned that while my problem-solving and optimization logic were correct, I needed to work on my implementation speed for efficient solutions.
Self-Verdict: Neutral or Positive.
Final Result:
After not hearing back for a while, I followed up with HR. They informed me the verdict was "No Hire" for both rounds. It was definitely a disappointing outcome, but a great learning experience regarding implementation speed and LLD flexibility!
Interview Questions (3)
Design a Notification Module
Design a notification module that can be used by other services to notify targeted users. I was asked clarifying questions and began implementing the solution. I immediately jumped into the Observer Pattern. However, as I was writing the classes and methods, the interviewer raised several edge cases, indicating he was looking for a different architecture. We spent the remaining time discussing requirements and correcting my code, but the session ended before I could fully wrap it up.
Count Perfect Pairs
I was asked to count perfect pairs. I immediately suggested the brute-force approach but knew it would TLE. I then proposed an optimized approach using sorting and two pointers. The interviewer agreed, and I started coding. While implementing, I realized my logic had a missing piece and struggled with a bug, and we had to move to the next question.
Heaters
The problem was LeetCode's 'Heaters'. After thinking it through, I proposed a Binary Search solution. We discussed the logic of how to apply binary search to find the minimum radius. The interviewer agreed the approach was correct, but we ran out of time before I could code it.