Microsoft L61 | SDE-2 | Selected
Summary
I successfully interviewed for an SDE-2 position at Microsoft, navigating through 5 rounds that covered Data Structures & Algorithms, Low-Level Design, and High-Level Design, ultimately receiving an offer.
Full Experience
I had a total of 5 rounds for the SDE-2 role at Microsoft, which concluded with me receiving an offer.
Round 1: Codility Test
This round consisted of two Data Structures and Algorithms questions, ranging from LeetCode easy to medium difficulty.
Round 2: Low-Level Design (LLD) Round
In this round, I was asked to explain the Low-Level Design of my current project. Following that, the interviewer posed a question about writing an LLD while considering SOLID principles and Object-Oriented Design. I don't recall the exact question, but it involved implementing sorting classes and printing logs.
Round 3: DSA + High-Level Design (HLD) Round
This round was a mix of DSA and HLD. First, I was asked to solve the Container with Most Water problem. After that, we moved to an HLD question where I had to design a system and define its storage mechanism for billions of records in the form of nodes.
Round 4: High-Level Design (HLD) Round
This round focused entirely on HLD. Initially, I was asked to design the complete HLD of my current project on a whiteboard. The second HLD question involved designing a feature flag system for an existing application. The system needed a front-end for developers to add new features or control existing ones based on the feature flag's status.
Round 5: Hiring Manager Round
The final round was with the Hiring Manager. I was again asked to explain the HLD of my current project. This was followed by a DSA question: Longest Palindromic Substring.
The result was an offer of selection!
Interview Questions (4)
Given n non-negative integers a1, a2, ..., an where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find two lines, which together with the x-axis forms a container, such that the container contains the most water. Notice that you may not slant the container.
I was asked to design a system to handle billions of records represented as nodes. The challenge involved defining an efficient storage mechanism and overall system architecture for such a large dataset.
I had to design a feature flag system for an existing application. The system should allow developers to enable or disable new features conditionally, controlled by feature flags, and include a front-end interface for managing these flags.