SDE 2 Microsoft Interview Experience

microsoft logo
microsoft
· SDE-2
August 15, 2026 · 1 reads

Summary

I interviewed for a Microsoft SDE-2 role, completing DSA, LLD, HLD, OS/C++ and hiring manager rounds, and eventually received an offer.

Full Experience

Microsoft SDE-2 Interview Experience

I recently interviewed for a Microsoft SDE-2 position as part of a hiring drive conducted that day. It was for windows team so sharing my experience and the overall process.

Round 1 — DSA

I was asked two coding questions.

The first one was a variation of Longest Repeating Character Replacement. We discussed both the brute-force and optimal approaches, and I was able to solve it.

The second one was a medium-level tree traversal problem. I don't remember the exact question, but I was able to solve that as well.

Apart from these, we also had some discussion around basic DSA concepts during the round.

Round 2 — LLD (AI-assisted)

I was asked to design a notification system for Windows, where different applications can generate and display notifications.

This round was a little different because the interviewer asked me to use AI during the interview.

There were a few parts of the design where I was not completely sure about the best approach. I discussed my thought process with the interviewer first and then used AI to explore possible alternatives.

The interviewer seemed more interested in how I was framing my prompts, refining them, and evaluating the response instead of just using whatever AI suggested.

It was my first time giving an AI-assisted LLD round, and overall it went well.

Round 3 — HLD

The question was around proximity search.

The interviewer asked how I would find restaurants within a 10 km radius for a food delivery use case.

We discussed the design in detail, and there were multiple follow-up questions as the problem expanded. Towards the end, I was also asked to code part of the approach we had discussed.

Hiring Process Paused

After Round 3, my hiring process got paused. I followed up with HR multiple times regarding the next round.

At one point, the interview was scheduled, but it was later cancelled because the hiring manager was unavailable. After a few more follow-ups, I was informed that the position had been closed. She mentioned if later in future , they will be hiring for this position they will contact me.

I thought that was the end of the process.

However, almost two months later, another HR contacted me for a different team. They had gone through my previous interview feedback and were interested in moving ahead with my profile.

I was asked to give two more rounds.

Round 4 — OS and C++

This round was mostly based on my resume and previous experience.

There were a lot of questions around Operating Systems, C++, low-level concepts, and the work I had mentioned on my resume.

One of the main questions was how I would implement the Linux cp command. From there, the discussion went quite deep into OS and C++ concepts.

This round was a bit challenging for me, but overall it went okay.

Round 5 — Hiring Manager Round

This round was mainly around my resume, achievements, and previous work.

The interviewer asked detailed questions about my projects, technical decisions, individual contributions, challenges I faced, and the impact of my work.

It was more of a detailed discussion rather than a typical question‑answer round, and the interviewer was quite friendly throughout.

Later on next day , HR gave me offer. All the interviewers were very friendly. I almost lost hope but with gods grace made it to the end.

Interview Questions (4)

1.

Longest Repeating Character Replacement (Variation)

Data Structures & Algorithms·Medium

Given a string, find the length of the longest substring where you can replace at most k characters to make all characters in the substring identical. The interview asked a variation of this classic problem.

2.

Design a Notification System for Windows

System Design

Design a notification system for the Windows platform where different applications can generate and display notifications to the user. Consider APIs, priority handling, persistence, and how the system interacts with the OS shell.

3.

Proximity Search for Food Delivery

System Design

Design a service that, given a user's location, returns restaurants within a 10 km radius for a food‑delivery use case. Address indexing, geo‑spatial queries, scalability, and real‑time updates.

4.

Implement Linux `cp` Command

Other

Implement the core functionality of the Linux cp command, handling file copying, metadata preservation, permission checks, and efficient data transfer.

📣 Found this helpful? Please share it with friends who are preparing for interviews!

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!