Microsoft Interview Questions and Experience
Summary
I recently completed a Microsoft interview consisting of DSA, OOD, and System Design rounds, but unfortunately, I was rejected. Despite encountering challenges with the DSA and OOD questions, the experience provided valuable lessons.
Full Experience
I recently had my Microsoft interview, which comprised a standard three-round process, each lasting one hour, covering Data Structures & Algorithms (DSA), Object-Oriented Design (OOD), and System Design. Regrettably, I was rejected after the interviews.
During the DSA round, I faced a medium-difficulty Lowest Common Ancestor (LCA) problem. Although I had solved it previously and felt confident, the interviewer challenged my initial BFS/DFS approach by stating that no tree structure was explicitly given. After struggling for about 10 minutes to understand, the interviewer provided a specific code structure, which simplified the task but also felt like a negative point. Time ran out before I could implement all test cases, though I did discuss the relevant edge cases.
The OOD round began with a very lengthy discussion, leaving me with only 20 minutes to address the main question: a standard Parking Lot design problem involving multiple levels and slots. Despite clarifying requirements and discussing various conditions, time expired, and I was only able to establish the basic class structure.
The System Design round focused on designing a subscription service that included a family invitation feature. I found this round relatively straightforward and felt confident that I performed well.
A key learning for me from this interview experience is the importance of concise communication. I need to keep my answers brief to move quickly to the core problems, as time is always a critical factor. I plan to apply these insights in my upcoming Amazon interview.
Interview Questions (3)
Given a custom code structure, rather than a traditional tree node, find the Lowest Common Ancestor (LCA) of two nodes. Initially, the interviewer emphasized that no tree was provided as direct input, requiring an adaptation of standard LCA approaches. Additionally, I was asked to discuss various edge cases for the problem.
Design a parking lot system that must accommodate multiple levels and various types of parking slots. The problem involved clarifying initial requirements and discussing various conditions for implementation.
Design a comprehensive subscription service that includes a specific feature allowing users to invite family members to their subscription plan.