
Software Development Engineer II Interview Experience
In my binary tree round, I was not even leaning on BFS or DFS terminology, and they still liked my solution because I kept reasoning it out. That was the moment where Microsoft felt more about logical thinking than memorized interview patterns.
Interview process
I went through a pretty long Microsoft process for an SDE II role compared with other companies. It started with a HackerRank, then a one-hour recruiter screen that was very focused on motivation and culture fit, and then a loop of three back-to-back interviews on coding, system design, and low-level design. What stood out to me was how vague several prompts were, because I had to keep asking questions to uncover the requirements instead of just jumping into a textbook answer. In the coding round, they seemed to care more about how I reasoned through the binary tree problem than whether I used the exact BFS or DFS terminology. Overall, it felt about the same difficulty as Google or Amazon, but a little more focused on logical thinking and culture.
- Online assessment
- Recruiter screen
- Technical interview
Interview rounds
7 questions across 5 roundsOnline assessment
2 questionsOverview
I started with a HackerRank that felt pretty black-box. There were two coding problems, and I couldn't see the real test cases, so I had to infer a lot from the examples and just trust my interpretation.
Question types asked
Specific questions asked
I had to write my own conversion logic instead of using language helpers. The hard part was that the constraints and test cases were hidden, so I had to infer behavior from the examples. I remember reading the examples as if they were encoding the real requirement, and I believed the expected byte order was little-endian even though they never stated it directly.
Solve a graph problem around connected components using a union-set style approach and graph traversal.
I remember it being a connected-components style problem on an edge list. I think I had to return some kind of list of connected components, and to make it efficient I was thinking in terms of union set plus BFS or DFS. I do not remember the exact prompt, but that was the core of it.
Recruiter screen
2 questionsOverview
The recruiter call was about an hour and felt more culture-heavy than I expected. We talked about my experience, why I wanted Microsoft, and how I handle conflict, so it definitely felt like they were screening for motivation and fit, not just resume match.
Question types asked
Specific questions asked
I treated it as a pure motivation question about why I wanted to work there. It did not feel like they were pushing me toward one specific product or team. They mostly wanted to understand my interest in Microsoft itself.
I answered with a technical disagreement and explained how we worked through it and found a common solution. The focus was less on blame and more on how I handled the situation with the other person and got to a workable outcome together.
Technical interview (1)
1 questionOverview
The coding round was just one binary tree problem, but it was more open-ended than I expected. I had to keep asking clarifying questions because they did not really pin down constraints or even exactly what output they wanted, and the interviewer mostly gave hints instead of steering too hard.
Question types asked
Specific questions asked
They gave me a very open prompt and did not add constraints, so I kept asking for direction. I ended up returning the length of the shortest root-to-leaf path. I was really reasoning through it logically more than naming textbook BFS or DFS, and they seemed fine with that. The interviewer mostly gave hints and sometimes said it did not matter as long as I could justify my choices.
Technical interview (2)
1 questionOverview
The system design round was the hardest one for me. The interviewer gave a very vague prompt and expected me to drive by asking questions, and most of the discussion ended up being about networking choices and reliability details for a large update flow.
Question types asked
Specific questions asked
The update is very large and cannot be sent in one package. How would you split and deliver it?
What would you do if some packages get lost?
I first tried to understand the problem because the prompt was very vague. We spent most of the time on the protocol and reliability side, especially how to send a very large update in multiple pieces. I discussed chunking the update, thought through TCP versus UDP, and proposed that the server first tell the car how many packages are coming so the car can count them and send back a warning if something is missing. We ran out of time before getting into security.
Technical interview (3)
1 questionOverview
The low-level design round was also ambiguous. They gave me C++ function headers and I had to reverse engineer what the underlying system was supposed to do, so it felt like they were testing how I reason through incomplete requirements.
Question types asked
Specific questions asked
Given three C++ function headers, implement the underlying cache or buffer behavior they describe.
I only got the headers, so I had to ask questions to figure out what they actually wanted. The functions were roughly about writing bytes into a buffer, checking whether space was left, and reading data back. I suggested using an LRU-style structure for the implementation, and they seemed happy with that direction. After I coded it, there were no real follow-ups and we used the remaining time to talk about the team.
Interview tips
I would study the company culture and not just grind data structures. Be ready to talk about uncomfortable situations, especially conflict with colleagues, and explain how you solved them. Also, keep asking questions and stay engaged with the interviewer the whole time, because a lot of the prompts are vague on purpose and you have to drive.
Company culture
I felt Microsoft put real value on culture fit and logical thinking. A lot of the interview prompts were intentionally ambiguous, so they seemed to care about whether I could ask good questions, stay calm, and reason my way forward. Compared with Google and Amazon, it did not feel easier or harder, but it felt a little less about knowing data structures and algorithms in perfect detail and a little more about how I think. Even when I was not using textbook terminology, they still appreciated a logical approach.
Get full access with a membership, or share your experience to try it free.
More Microsoft interview experiences

“It was basically graphs in the OA, then two back-to-back coding rounds where I didn't even run my code, just walked through an interval merge problem and a first-occurrence string question.”

“The so-called system design round totally threw me off. He was like, "let's code it out," and wanted me to build a file system with four use cases in 45 minutes, and then the recruiter just ghosted me for a month.”
See all 27 Microsoft Software Engineer interview experiences →