MIcrosoft | SDE-2 | Interview
Summary
I interviewed for an SDE-2 role at Microsoft. The interview process consisted of four rounds: LLD, DSA, HLD, and AA, covering system design, data structures and algorithms, and an advanced design round. I was ultimately selected.
Full Experience
Interview Experience:
YOE: 3.5
It was a hiring drive, contacted by the recruiter over mail after completing the OA.
Two Rounds were scheduled on the day of Drive
- Round 1: LLD
Started with a brief intro, Interviewer asked a vague HLD/LLD question to Design a Chat application.
I started with clarifying the problem statement to understand if the HLD or LLD is expected. Interviewer wanted a brief discussion on the HLD not all the components and everything but how the application will actually work, connection with server, updates when offline etc.
We discussed the DB schema design, classes and wrote the code for the client side application.
Note: Executable code was not expected.
- Round 2: DSA
The expectation in this round was to complete 2 DSA questions(medium level) in 60 minutes. It should be executable, we need to write the main func with the testcases and discuss the edge cases too.
i don't exactly remmember the questions, but one was related to string and other was arrays. Standard Leetcode questions.
Recruiter contacted after an hour to schedule the third Round
- Round 3 - HLD
Standard HLD question - Design Rate Limiter
Discussed the requirements then explained the different algorithms, components, discussion around scalibility and reliabiliyt
This round had some behavioural questions too - situation based.
Recruiter contacter after half an hour to schedule the AA round.
- Round 4 - AA
Started with basic intro, the work i do in my current org. Discussed different projects. Discussion went around 25 mins.
After this asked me to implement Extensible Rate Limiter with multitenancy with different pluggable algorithms, expectation was to write all the classes, interfaces and a algorithms completely in 20 mins.
After this a DSA question (medium) - it was a MATH question.
expectaion was the same as round 2 - executable with tests.
Verdict - Selected
Got the mail after half an hour from the last interview, asking for the documents.
Comp Offered: https://leetcode.com/discuss/post/7518122/microsoft-sde-2-l61-by-anonymous_user-fp25/
Interview Questions (3)
Design Chat Application
The interviewer asked a vague HLD/LLD question to Design a Chat application. I started with clarifying the problem statement to understand if HLD or LLD was expected. The interviewer wanted a brief discussion on the HLD, focusing on how the application would work, connections with servers, and updates when offline. We discussed the DB schema design, classes, and wrote code for the client-side application. Executable code was not expected.
Design Rate Limiter
A standard HLD question to design a Rate Limiter. I discussed the requirements, explained different algorithms, components, and discussed scalability and reliability. This round also included some situational behavioral questions.
Implement Extensible Rate Limiter
I was asked to implement an Extensible Rate Limiter with multitenancy, supporting different pluggable algorithms. The expectation was to write all the classes, interfaces, and algorithms completely within 20 minutes.