Interview Experience - Microsoft SDE 2(L61) | Hyderabad
Summary
I interviewed for a Software Engineer II (L61) position at Microsoft in Hyderabad and was selected. The process involved an online assessment, three technical rounds covering DSA, LLD, HLD, and a final AA round covering behavioral and another DSA problem.
Full Experience
Interview Details :
🏢 Company: Microsoft
👨💻 Role: Software Engineer II (L61)
📍 Location: Hyderabad
🗓️ Timeline: October–November 2025
💻 Mode: Online
🧪 Process: Online Assessment → 3 Technical Rounds (~1 hour each) → AA Round (~30 mins)
👨💻 Experience: 3 years
Online Assessment
2 Questions were asked one was Medium (Binary Search) and another was Medium-Hard (DP and Graph)
Cleared and got mail in 10 days for interviews.
I had all my 3 rounds on same day.
Round 1 – DSA + LLD Round (60 min)
This round focused on core problem-solving and object-oriented design.
- I was asked to solve a stack-based problem similar to the Min Stack on LeetCode, emphasizing optimal time complexity and clean API design.
- The discussion then moved into OOP concepts, where a problem was given and solved using the Factory Design Pattern, focusing on immutability, abstraction, and how these principles handle edge cases and real-world production scenarios.
Round 2 – DSA round (60 min)
This round tested algorithmic clarity and adaptability.
- I worked on an array manipulation problem similar to removing duplicates from a sorted array, which was later extended to retain duplicates with equal frequency while maintaining O(n) time and O(1) space.
- I also solved problems similar to validating parentheses and generating all valid parentheses combinations, which involved stack usage, recursion, and backtracking, along with clear explanation of trade-offs.
Round 3 – System Design(HLD + LLD) Round (75 min)
The core problem in this round was similar to designing an Distributed LRU Cache, focusing on achieving constant-time operations.
Beyond implementation, I was asked to:
- Design and write unit tests for the cache and explain a Test-Driven Development (TDD) approach.
- Walk through a High-Level Design (HLD) of the Distributed LRU Cache using diagrams and then cover Low-Level Design(LLD) as well.
- Discuss non-functional requirements such as scalability, performance, concurrency, and extensibility.
After one week, I received an email stating that I had cleared all three rounds and was shortlisted for the AA round.
Round 4 – AA round (30 min)
The final round began with a deep dive into my current organization’s business use cases, my roles and responsibilities, and a high-level design of a feature I had worked on.
- This was followed by an algorithmic problem similar to finding a duplicate number in an array, solved in O(n) time and O(1) space using cycle detection techniques.
- The round concluded with discussions around Microsoft team’s business problems, expectations from the role, and behavioral questions focusing on collaboration, ownership, and impact.
Overall Experience
The interview process was well-structured and evaluated:
- Strong DSA fundamentals within time limit
- System design & scalability
- Testing mindset (TDD)
Verdict : I was selected as a SE-II @Microsoft.
Interview Questions (7)
Design Problem using Factory Design Pattern
The discussion moved into OOP concepts, where a problem was given and solved using the Factory Design Pattern, focusing on immutability, abstraction, and how these principles handle edge cases and real-world production scenarios.
Remove Duplicates from Sorted Array with Extension
I worked on an array manipulation problem similar to removing duplicates from a sorted array, which was later extended to retain duplicates with equal frequency while maintaining O(n) time and O(1) space.
Valid Parentheses
I solved a problem similar to validating parentheses, which involved stack usage, recursion, and backtracking, along with a clear explanation of trade-offs.
Generate Parentheses
I solved a problem similar to generating all valid parentheses combinations, which involved stack usage, recursion, and backtracking, along with a clear explanation of trade-offs.
Design a Distributed LRU Cache
The core problem in this round was similar to designing a Distributed LRU Cache, focusing on achieving constant-time operations. Beyond implementation, I was asked to: 1. Design and write unit tests for the cache and explain a Test-Driven Development (TDD) approach. 2. Walk through a High-Level Design (HLD) of the Distributed LRU Cache using diagrams and then cover Low-Level Design(LLD) as well. 3. Discuss non-functional requirements such as scalability, performance, concurrency, and extensibility.
Find the Duplicate Number
This was followed by an algorithmic problem similar to finding a duplicate number in an array, solved in O(n) time and O(1) space using cycle detection techniques.
Behavioral Questions: Collaboration, Ownership, Impact
The round concluded with discussions around Microsoft team’s business problems, expectations from the role, and behavioral questions focusing on collaboration, ownership, and impact.