Interview Experience - 150 - Microsoft | Software Development Engineer | SDE II
Summary
📌 Job Role: Software Development Engineer
🔢 Number of Rounds: 5
📜 Offer Status: Offer
📍 Location: Redmond
👤 Candidate Name: Not disclosing due to signed NDA
Interview Process
I was contacted by a recruiter for a hiring event for the role of SDE I/II. The recruiter provided me with an online assessment (OA) link, which I was asked to complete as soon as possible in order to secure a slot in the virtual hiring event. I completed the OA after 4 days.
Two days later, I received confirmation that I had cleared the OA and would be moving forward to the onsite interview. The onsite was scheduled as part of the hiring event, and the date was fixed in advance (this is usually mentioned in the job posting).
I got more than a month to prepare for the onsite. The onsite process had 4 rounds, each lasting 45 minutes.
Five working days after the onsite, the recruiter informed me that I had received very strong feedback. Two teams expressed interest in hiring me, and I eventually received an offer.
Preparation Guide
For the onsite, I focused on a structured preparation strategy:
Solved Blind Curated 75 questions
Worked through LeetCode Explore Card for Microsoft
Practiced Microsoft-tagged questions on LeetCode
Dedicated time to behavioral and system design questions, especially since I knew Microsoft interviews include a mix of coding, design, and behavioral discussions.
This preparation gave me confidence to handle different types of interview questions, including follow-up discussions on system design and API-level implementation.
Interview Rounds
Round 1: Online Assessment (OA)
Duration: 60 minutes
Difficulty Level: Easy
Experience:
The OA consisted of 3 coding questions to be completed in 60 minutes. I am unable to share the exact problems due to the NDA, but they were very similar to LeetCode-style questions you can find by checking the Microsoft OA section in LeetCode Discuss.
The questions were straightforward and could be solved within the allotted time. One important thing I noticed is that the OA explicitly mentions what they value in your solution — for example, whether they want correctness or optimization.
I followed the instructions closely, wrote clean code, and also added comments in my solutions. This small step often makes a difference because it shows clarity in thought and good coding practices.
Key Learnings:
Always align your solution with the problem statement requirements (correctness or optimization).
Write clear comments in your code.
Practicing similar OA questions from LeetCode can help you feel comfortable during the actual test.
Round 2: 1st Onsite Round
Duration: 50 minutes
Difficulty Level: Medium
Experience:
The first 15 minutes were focused on behavioral questions and my current project work. After that, the interviewer asked a question that combined system design and object-oriented design.
There were multiple follow-up questions, and I had to refine my solution based on the feedback. In the final 10 minutes, I was asked to implement a small API for parsing some data.
During the implementation, I discovered a bug while dry running my code. I quickly corrected it, which the interviewer appreciated. The round went slightly over 50 minutes because of the in-depth design discussion.
Key Learnings:
Be prepared for a mix of behavioral, design, and coding problems.
Always dry run your code — catching your own bugs shows ownership.
Brush up on OOP principles and basic API design patterns.
Round 3: 2nd Onsite Round
Duration: 45 minutes
Difficulty Level: Medium
Experience:
The round began with 10–12 minutes of behavioral questions. After that, I was asked a popular system design question.
There were many follow-up questions that challenged my approach. Interestingly, these follow-ups actually helped me refine and improve my design. The interviewer seemed more interested in understanding my thought process rather than just the final solution.
No coding question was asked in this round.
Key Learnings:
Be open to follow-up questions; they are meant to help you think more deeply about your design.
Focus on the reasoning behind your choices and communicate your trade-offs clearly.
System design rounds at SDE I/II level are usually simpler but still test how you structure your thoughts.
Round 4: 3rd Onsite Round
Duration: 45 minutes
Difficulty Level: Medium
Experience:
The first 10–12 minutes were dedicated to behavioral questions. After that, I was asked an array problem that required a modified binary search to solve.
Although it was a medium-level problem, I had not seen it before on LeetCode. I worked through it logically and reached the correct solution.
Key Learnings:
Be comfortable with variations of binary search and other common algorithms.
Even if you haven't seen a question before, focus on breaking it down step by step.
Behavioral questions will be a constant across all rounds — don't neglect preparing for them.
Round 5: 4th Onsite Round
Duration: 45 minutes
Difficulty Level: Medium
Experience:
This round also began with 10 minutes of behavioral questions. The main technical portion was an N-ary tree problem, which I solved using BFS.
It was a standard medium-level question, but since it involved an N-ary tree instead of a binary tree, I had to adapt my traversal logic accordingly.
Key Learnings:
Be familiar with BFS and DFS algorithms, especially their implementation in different tree structures.
Small variations in data structures (like N-ary vs. binary trees) can change the way you approach a problem.
Final Thoughts
Overall, Microsoft’s interview process was structured and fair.
Key takeaways for future candidates:
Prepare a balanced mix of coding, system design, and behavioral questions.
For coding rounds, practice medium-level questions from LeetCode, focusing on arrays, trees, and BFS/DFS.
Spend time on design fundamentals — even SDE I/II roles can include basic design discussions.
Dry run your code during the interview to catch bugs early.
Behavioral questions matter; Microsoft places strong emphasis on cultural fit and collaboration.
If you prepare methodically and practice effectively, you can confidently approach the Microsoft interview process and perform well.