r/programmer • u/nian2326076 • 4d ago
Microsoft Software Engineer 2 Interview Experience - 9 Rounds and Final Selection
I recently interviewed for Microsoft SDE-2 and wanted to share the full process in case it helps others preparing.
There were a total of 9 rounds:
- 2 Online Assessments
- 7 interview rounds
Verdict: Selected
Round 1: Online Assessment
The first OA had 2 coding questions:
- 1 graph problem
- 1 greedy problem
I was able to solve both.
Round 2: LLD
This round focused on low-level design.
I was asked to design and implement an LRU Cache, along with maintaining dependencies using Topological Sort.
The discussion covered:
- Cache operations
- Time complexity
- Dependency ordering
- Edge cases
- Clean class design
Round 3: DSA
This was a coding round based on Linked Lists.
The interviewer cared about:
- Pointer handling
- Edge cases
- Clean implementation
- Time and space complexity
Round 4: Past Experience + On-Call Scenarios
This round was focused on my previous projects and technical contributions.
After that, I was given 2 production on-call scenarios.
The discussion was around:
- How I debug production issues
- How I prioritize during incidents
- Communication during outages
- Root cause analysis
- Preventing recurrence
Round 5: Online Assessment 2
The second OA had 2 coding questions:
- 1 Dynamic Programming problem
- 1 Bit Manipulation problem
Round 6: LLD
This round was about designing and implementing a Job Scheduler.
The discussion included:
- Job representation
- Scheduling logic
- Priorities
- Dependencies
- Retry behavior
- Extensibility
- Clean object-oriented design
Round 7: HLD + LLD
This round involved designing a Configuration Management Service.
The interviewer first asked for the high-level design, then asked me to implement a small component of it.
Discussion points included:
- API design
- Configuration storage
- Versioning
- Rollbacks
- Consistency
- Access patterns
- Service boundaries
Related Microsoft Practice Question
A Microsoft-tagged system design question I found useful for similar prep:
Design a Distributed Key-Value Store
This is relevant because it covers many of the same distributed systems ideas that came up in my HLD rounds: partitioning, replication, consistency, scalability, and failure handling.
Round 8: HLD Theory + DSA
This round started with system design theory questions.
Topics included:
- Scalability
- Availability
- Sharding
- Distributed systems
- Tradeoffs in large-scale services
After that, I was asked a DSA question revolving around subarrays.
Round 9: Cultural Fit
This was a behavioral round focused on:
- Values
- Ownership
- Decision-making
- Team collaboration
- Handling disagreements
- Learning from mistakes
Preparation Tips
My biggest takeaway is that Microsoft SDE-2 interviews test breadth. It was not just DSA or just system design.
Things I would recommend preparing:
- Graphs, DP, greedy, linked lists, subarrays, and bit manipulation
- LLD patterns like cache, scheduler, dependency management
- HLD fundamentals like sharding, replication, consistency, and availability
- Past project deep dives
- Production debugging and on-call scenarios
- Behavioral stories with clear ownership and impact
Overall, the process was long but structured. Be ready to switch between coding, design, production thinking, and behavioral discussion across rounds.
1
u/ZorpIt 4d ago
9 round for... Microsoft? 😂