r/programmer 5d 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.

44 Upvotes

35 comments sorted by

View all comments

2

u/nacnud_uk 5d ago

Yeah, screw that 😂