Microsoft | L62 | Hyderabad | January 2025 [Reject]

microsoft logo
microsoft
sde-2 backend rolehyderabadRejected
February 3, 202541 reads

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.

  1. The first problem asked me to rearrange a linked list from {L1, L2,... R1, R2,...} to {L1, R1, L2, R2,...}. A brute force O(n*n) solution was considered acceptable.
  2. 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 size n/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.

  1. 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.
  2. Next, I was asked to design a notification system, with a specific requirement to separate critical and non-critical notifications.
  3. 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)

Q1
Interleave Two Halves of a Linked List
Data Structures & AlgorithmsMedium

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.

Q2
Maximum Twin Sum of a Linked List
Data Structures & AlgorithmsMedium

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.

Q3
Design an Image Serving Library
System Design

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.

Q4
Design a Notification System
System Design

Design a scalable notification system capable of handling and separating critical and non-critical notifications effectively.

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!