Microsoft | SDE-2 | India | Dec 2025 | Rejected

microsoft logo
microsoft
sde-2indiaRejected
December 23, 202529 reads

Summary

I interviewed for an SDE-2 role at Microsoft in India in December 2025 and was ultimately rejected. While I performed well in system design and managerial rounds, my initial coding performance on a string permutation problem in the first DSA round was a significant drawback.

Full Experience

Round 1: DSA & Problem Solving (1 Hour)

This round ultimately cost me the offer. I faced two questions:

  1. Permutation in String: I was quite nervous and unfortunately missed the optimal Sliding Window approach (Fixed size window). Instead, I implemented a Brute Force solution, generating all permutations of s1 (O(N!)) and checking their existence in s2. The interviewer expected an optimized solution immediately, which I realized was a major red flag for an SDE-2 role.
  2. IP Address Management (LRU Cache Logic): I recovered well here. I explained my approach using a Doubly Linked List coupled with a HashMap, which is standard LRU logic. We had a detailed discussion on the time complexity for add, delete, and update operations. The Low-Level Design (LLD) discussion likely saved me from a harder rejection, but my coding in the first question was definitely a weak point.

Round 2: System Design & LLD (1 Hour)

This round involved a detailed discussion on projects from my resume, focusing on aspects like scaling and database choices. I felt very confident here, achieving what I believe was about 90% accuracy in my responses. The coding/LLD part required me to design a Cache Service with pluggable eviction strategies. I implemented the Strategy Pattern, creating a Cache class that accepts an EvictionType interface, and I fully coded the LRUEvictionStrategy. The interviewer seemed quite happy with the extensibility of my code.

Round 3: Senior Engineering Manager (1 Hour)

This round started with a deep dive into my current work projects. We drew out the architecture, and the manager was very satisfied with my answers regarding design trade-offs. For the coding part, I was asked about Bishop Moves on a Chessboard. Given coordinates (x, y) for a Bishop on an 8x8 board, I needed to print all valid moves. My initial thought was to use four separate while loops for each diagonal direction, but I quickly optimized it to a single loop using a direction array like [(-1,-1), (-1,1), (1,-1), (1,1)] to make the code cleaner and more maintainable.

Round 4: Engineering Manager (1 Hour)

This round was split into behavioral questions and a coding problem. The behavioral questions were standard: "Why are you looking for a change?" and "How do you handle work you don't like?". The coding question was Sort Colors, also known as Dutch National Flag, which required me to sort an array of 0s, 1s, and 2s without using a sort function and in O(1) space. I solved it using the classic 3-pointer approach (Low, Mid, High). Although I arrived at the correct solution, the interviewer mentioned that I "could have coded it faster."

My final verdict was a rejection. I cleared 3 out of 4 rounds positively, but it seems they had a strong pool of candidates who cleared all rounds, which led to me being dropped from the process. I felt disappointed, as the competition is incredibly tough nowadays.

Interview Questions (5)

Q1
Permutation in String
Data Structures & Algorithms

Given two strings s1 and s2, return true if s2 contains a permutation of s1.

Q2
IP Address Management (LRU Cache Logic)
Data Structures & Algorithms

Manage a list of IPs that expire if a heartbeat isn't received.

Q3
Design Cache Service with Pluggable Eviction Strategies
System Design

Design a Cache Service that allows for different pluggable eviction strategies.

Q4
Bishop Moves on a Chessboard
Data Structures & Algorithms

Given coordinates (x, y) for a Bishop on an 8x8 board, print all valid moves.

Q5
Sort Colors / Dutch National Flag
Data Structures & Algorithms

Sort an array of 0s, 1s, and 2s without a sort function and in O(1) space.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!