Microsoft SDE 2 | L61/62 | Interview Experience

microsoft logo
microsoft
· SDE 2· 4y exp
February 2, 2026 · 36 reads

Summary

I shared my experience interviewing for an SDE 2 role at Microsoft, which included an OA, DSA, LLD, HLD, and a particularly challenging and unprofessional Hiring Manager round. Ultimately, I did not receive an offer, which I later found myself glad about.

Full Experience

Hey all! I have 4 years of experience as software developer (Fintech and Finance).

I gave more than 50+ interviews (15+ companies) in last 4 months and would love to share my interview experiences one by one to give back to the community.

I started preparing for a switch in Sept and soon Microsoft reached out to me.


Microsoft

Round 1 - OA Hackerrank
There were two questions. Both of them of medium level.
Do not remeber the exact questions now but one was basic greedy, bitwise problem.

Second one was a DFS question.

I was able to solve both the questions on time.

Verdict: Cleared

Microsoft took two weeks to come back with the result. It was positive and then they scheduled all the rounds virtually in a single day.

Round 2 - DSA
The interviewer was super friendly and asked me a single DSA question with a followup. I wanted to code in Python but since my work in resume was mostly in Java he requested me to use Java if possible.

Question: Variation of Minimum Meeting Rooms Required.

I was able to solve it in Java but there was some bug with the followup part which I could not fix during the call. As soon as the call I ended I was able to fix it lol.

Verdict: Cleared

Round 3 - LLD
Interviewer asked me to give LLD of music playing app like Spotify.
I was able to come up with the classes, interfaces, enums etc. Code was not expected here just the pseudocode.

Verdict: Cleared

Round 4 - HLD
I was asked to design a URL shortener with deep dive on multi region deployments, id generation process etc.
I had a really good discussion with the interviwer specially on the ID generation part. I talked about Twitter Snowflake, ID Generation Service, Base62 encoding of auto increment IDs etc.

Verdict: Cleared

Round 5 - HM Round
This is where sh*t happened. My round was rescheduled at the very last moment to 7pm with someone else in the team with short name as - K I_I !_ O
This is by far the most unprofessional and biased person I have ever met in my 4.5 years of experience. This fellow asked a question around idempotency since I work in Fintech. He wanted me to write pseduocode and tell exactly where I would handle idempotency during checkout.
This is very standard for us and I came up with a solution using both cache as an optimization and a DB column with unique index to handle idempotency key.

This guy lashed out at me out of nowhere and started saying things like - "your code will crash the server", "you have not been battle scarred" "This code is good for someone with 2YOE, not you" and some other random shit.

I was caught off gaurd and thought maybe I have missed something, then he asked me to take some more minutes and fix it.

At the end I added a transaction block though it was not required in this case since it was a single upsert command.

I explained to him how this solution will prevent duplicates and serve our purpose but he completely changed the expectations towards the end. He asked me where I have handled other things that are needed to maintain the lifecycle of this transaction etc. He kept on rambling and then asked me to confirm if he was being fair or not with his expecatations. By this time I had lost hope and the confidence in my solution.

Then he had the audacity to tell me to look elsewhere and continued blabbering about some standard, boring features his team was building which apparently would "completely blow my mind". (Memories just like in google photos, chatgpt type LLM interface over company docs etc).

In the hindsight I feel I should have called him out for his behaviour and how he was not ready to accept a correct solution. This incident taught me to back myself and call out people's bullshit behaviour.

Later on I faced a similar situation with one more company and thankfully I handled that a lot better! Looking back I am glad I did not land a job there for multiple reasons.

But all the folks out there, never let any such person push you around no matter which company it is or how much they can pay, its not worth it.

PhonePe - https://leetcode.com/discuss/post/7539137/phonepe-backend-software-engineer-3-5-ye-n5mi/
OnePay - https://leetcode.com/discuss/post/7543963/onepay-sde-2-backend-interview-experienc-7iej/
VISA - https://leetcode.com/discuss/post/7377280/visa-sse-interview-experience-reject-by-6oha4/

Interview Questions (4)

1.

Minimum Meeting Rooms Required (Variation)

Data Structures & Algorithms

The interviewer asked me a single DSA question with a followup. It was a variation of Minimum Meeting Rooms Required. I wanted to code in Python but was requested to use Java. I was able to solve it but there was some bug with the followup part.

2.

Low-Level Design of a Music Playing App

System Design

Interviewer asked me to give LLD of a music playing app like Spotify. Code was not expected, just the pseudocode.

3.

High-Level Design of a URL Shortener

System Design

I was asked to design a URL shortener with a deep dive on multi-region deployments, ID generation processes, and other aspects.

4.

Handling Idempotency During Checkout

System Design

This question was around idempotency in the context of Fintech. I was asked to write pseudocode and explain exactly where I would handle idempotency during a checkout process.

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!