Microsoft Interview Experience SE2 | L61
Anonymous User
1897

Background
3.5 YOE with a top tier PBC

This was on a very high level, i know i missed some details but im sharing whatever i remember.

Round1:
15-25 min resume based questions and project based questions, walking through current projects etc
10-12 min Coding
Top k frequent elements
Rest of the time
HLD of a rate limiter, more intrested in rate limiting algos and which one i prefer and tradeoffs in each algo and why i choose one over other ( I chose token bucket to support spikes during rush)
A very broad and highlevel ask of how i would implement in code, i dont remember exactly but have done through some a dictionary or something and he was satisfied.

Round2: (LLD)

Interviewer was very perfectionist, the obvious choices we sometimes make during design interviews were not taken for granted he was questioning everything.

Design a file upload/download system.

Thats all nothing more, i have to literally dissect to know all the expectations and outcomes ( looking at the question i first thought it was an hld question similar to that of dropbox in hello interview but it wasn’t)

Upload and download apis were provided ( he said not to worry about up/download apis)
More intrested in entities and how we can trigger and upload and download
Sync files across local and host

These are some of the high level requirements i arrived at after asking a bunch of questions.

Finally after asking and really dissecting i was able to answer using State+Chain of responsibilites patterns with some suitable entities.
State-> state of the file which describes whether a file needs to be uploaded/downloaded
COR-> to handle sync across host and local with a variable filtered across states

I said ill follow a 3 tier approach of MVP to support scale and concurrency.

There are some more patterns like Manager SingleTon etc i followed i dont remember exactly.

He was very satisfied, we had a constructive discussion.

Finished with drawing class and relationship diagrams( i was not asked to implement) and a sequence diagram for a subpart.

Round3: (HLD)

Design a scalable OTP system.

Support methods like simple SMS,watsapp,gmail etc
Take multiple clients into account for same user(gmail opened on both mobile and web)
OTP’s has to be unique per user per request.

Asked a bunch of questions again and arrived at required/ below the line FR,NFR’s he looked ok.

Started with entities and API design.

For HLD, i have to deep dive on how i chose a mechanism to support multiple clients mainly and a batch based universal counter for OTP generation etc.

It was a healthy discussion, he was more intrested at modular level like seperate services for otp generation, otp validation, notification service etc.

Followed CQRS pattern, virtual waiting queue to support scale, TOTP’s and their generation on high level etc.

Round4: (Tech+HM)

15-20 min Resume and project based questions
15-20 min A Domain based LLD question (solved using strategy pattern)
10-15 min OS Producer and Consumer problem and its high level implementation
10-15 min Behavioral and Q&A

Final verdict: Selected.

Overall it was a good experience and i enjoyed the process.

Comments (5)