Microsoft SDE Intern Interview Experience
💼 LTIMindtree Interview Experience (On-Campus) | Fresher | 2026
Salesforce SMTS | Interview Experience | Rejected
JPMC | SDE2 (Associate) - Java Backend - Interview Experience + Compensation
Microsoft - SDE2 - Coding Round
Microsoft | L62 | Hyderabad | January 2025 [Reject]
Summary
I recently interviewed with Microsoft for an SDE-2 backend role in Hyderabad, which consisted of three rounds: DSA, Low-Level Design, and High-Level Design combined with a managerial discussion. Despite receiving positive feedback for my technical rounds, I was ultimately rejected, likely due to my project discussions in the final round.
Full Experience
I currently work as an SDE-2 at Amazon and had the opportunity to interview with Microsoft for an SDE-2 backend role (L62) in January 2025, facilitated by a friend's referral.
Round 1 (DSA)
This round involved an in-depth discussion about my projects. Following that, I was given two data structures and algorithms problems.
- The first problem asked me to rearrange a linked list from
{L1, L2,... R1, R2,...}to{L1, R1, L2, R2,...}. A brute forceO(n*n)solution was considered acceptable. - The second problem involved a linked list of even size, where the task was to find the maximum sum of twins, defined as
list(i) + list(n-1-i). Initially, I proposed reversing the second half, but list modifications were disallowed. With a hint to use extra space, I suggested an approach using two pointers and an array of sizen/2. I would use the two pointers to reach the middle of the list, storing elements in the array. Then, I would move the slow pointer towards the end, adding values from the array to calculate the twin sums. The verdict for this round was 'Hire'.
Round 2 (LLD)
This round focused on designing an image-serving library to be integrated into various Microsoft products. The library needed to accept an HTTP URL for an image and manage its downloading. What initially seemed vague became a deep dive into several critical aspects, including resiliency (retries, different retry strategies), optimizations (caching strategies, various cache eviction policies, where I proposed a custom one), input-output modeling, design patterns, and naming conventions. The interviewer was very supportive throughout the discussion. The verdict for this round was 'Hire'.
Round 3 (HLD + Manager)
This round was conducted by a Principal Manager.
- We started with an in-depth discussion about my current roles, responsibilities, and ongoing projects. I felt the manager wasn't entirely convinced by my projects, though I'm still unsure why.
- Next, I was asked to design a notification system, with a specific requirement to separate critical and non-critical notifications.
- During the High-Level Design discussion, the manager inquired about rate-limiting algorithms. I could only recall the Token Bucket algorithm at that moment.
Overall, I thought the HLD discussion went well, but I suspect the project discussion might have been the reason for not moving forward. The verdict for this round was 'No Hire'.
My overall verdict for the interview process was 'No Hire'.
Interview Questions (4)
Given a conceptual linked list structure where elements are divided into two halves, L1, L2,..., and R1, R2,..., rearrange them to interleave as L1, R1, L2, R2,.... A brute force O(n*n) solution was stated to be acceptable.
Given the head of a singly linked list with an even length n, return the maximum twin sum of the linked list. The twin of list[i] is list[n - 1 - i]. For example, if n = 4, then list[0] is the twin of list[3], and list[1] is the twin of list[2]. These are the only two pairs of twins.
Design and implement an image-serving library intended for integration with various Microsoft products. The library should accept an HTTP URL for an image and manage its downloading process. Key discussion points included resiliency (retries, retry strategies), optimizations (caching, eviction policies), input-output modeling, design patterns, and naming conventions.
Design a scalable notification system capable of handling and separating critical and non-critical notifications effectively.