Microsoft - SDE II Interview experience
- Experience
- 5 years
- Posted
- 2 Mar 2026
Summary
I recently completed a 3-round interview process at Microsoft for the SDE II role, which focused heavily on Low-Level Design (LLD) and the reasoning behind architectural choices. I am currently waiting for the results.
How it went
Round 1: DSA (60 min) - Feb 27, 2026
Problem: Meeting Rooms II (Finding the minimum rooms required) - https://leetcode.com/problems/meeting-rooms-ii/description/.
Discussion: We explored three approaches: Priority Queue, Two-Pointer, and an Array-based solution (for specific time ranges). I was asked to implement both the PQ and Two-Pointer versions.
Round 2: System Design/LLD (75 min) - Feb 27, 2026
Task: Design a Multi-floor Parking Lot.
Focus: After a project deep-dive, we spent the bulk of the time on the implementation details and class structures.
Round 3: System Design/LLD (60 min) - March 02, 2026
Task: Design an Undo/Redo mechanism for a text editor with configurable limits.
Focus: Heavy emphasis on choosing the right data structures to handle history efficiently.
Key Takeaway: The design rounds weren't just about diagrams; they were about the "why" behind DSA choices and actual code implementation.
Currently waiting for the results.
Questions asked (3)
- 01
Meeting Rooms II
Data Structures & Algorithms · Medium
Open the problemGiven an array of meeting time intervals consisting of start and end times, find the minimum number of conference rooms required. I was asked to discuss and implement solutions. We explored three approaches: Priority Queue, Two-Pointer, and an Array-based solution (for specific time ranges). I was asked to implement both the Priority Queue and Two-Pointer versions.
- 02
Design a Multi-floor Parking Lot
System Design · Hard
Design a Multi-floor Parking Lot. After a project deep-dive, the focus was primarily on the implementation details and class structures of the system.
- 03
Design an Undo/Redo mechanism for a text editor
System Design · Hard
Design an Undo/Redo mechanism for a text editor that supports configurable limits on the history. The focus was heavily on choosing the right data structures to efficiently handle the history of changes.