Microsoft Interview experience for L61 | SSE | SDE2

microsoft logo
microsoft
SDE II4.5 yearsOffer
November 18, 20251 reads

Summary

I successfully navigated through 4 rounds for an SDE2 position at Microsoft, which included system design, algorithms, and a multithreading problem, ultimately leading to a job offer.

Full Experience

On November 7th, 2025, I participated in an interview drive for an SDE2 position at Microsoft. I had 4.5 years of experience at the time. The interview process consisted of four rounds, with three conducted on the first day and the fourth two days later.

Round 1

The first interviewer asked me to design a Photocache. This was essentially an LRU cache where the key was an SHA-256 encoded string representation of a photo, and the value was the original photo name. It was a straightforward string-to-string LRU Cache problem. I implemented the solution, and after running it with multiple test cases, I had to resolve some bugs.

Round 2

Round two began with an introduction and some project-related discussions. The interviewer then moved on to questions about distributed caches versus single-machine caches. He then asked me to design an LRU Cache, but since I had already covered that in the first round, I informed him. He acknowledged it and moved to a tree question: Reverse Odd Levels of Binary Tree. He mentioned that pseudocode would suffice, so I wrote out the code without running it. Although it wasn't the most optimized solution, he seemed content with my approach.

Round 3

In the third round, after introductions and discussing my projects, I was asked to design an online Snake and Ladder Game. I clarified if he wanted a High-Level Design (HLD) with diagrams or a Low-Level Design (LLD). He instructed me to start with the LLD, and then we would discuss HLD. I wrote a working code for the LLD, which he tested. Time ran out, and we didn't get to the HLD discussion.

Round 4 | AA Round

The fourth round, an 'AA' round, was with a very senior person, likely a Manager or Director. After introductions, I explained my current company's project, and we had a few counter-questions on it. Then, I was asked a Java question: to create a producer-consumer setup, which is a standard multithreading problem. My code was adequate; I used synchronized methods and initially didn't use wait() or notify(), but when he questioned it, I explained that I understood how to incorporate them. Following that, there were a few questions related to AI, which I didn't fully grasp, so I provided some generic answers. Finally, some behavioral questions were asked, such as 'Why Microsoft?' and 'Tell me three qualities of a good employee.'

Overall, this last round was just 'ok-ok' as my code wasn't fully optimized, but I felt very good about my performance in the first three rounds.

Interview Questions (4)

Q1
Design LRU Photocache
Data Structures & Algorithms

Design a Photocache, which is essentially an LRU cache where the key is an encoded representation of a photo (string → SHA-256) and the value is the original photo name. It should be a straightforward string-to-string LRU Cache. The solution needs to handle multiple test cases and be debugged.

Q2
Reverse Odd Levels of Binary Tree
Data Structures & AlgorithmsMedium

Given the root of a binary tree, reverse the values of the nodes at each odd-numbered level of the tree. For example, level 1, 3, 5, etc. The root is at level 0. I was told that pseudocode would be acceptable.

Q3
Design Online Snake and Ladder Game (LLD)
System Design

Design an online Snake and Ladder Game. The interviewer requested a Low-Level Design (LLD) first, with a discussion of High-Level Design (HLD to follow).

Q4
Producer-Consumer Problem
Other

Implement the standard Producer-Consumer problem using multithreading in Java.

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!