Microsoft L61 || Interview Process

microsoft logo
microsoft
July 7, 2025 β€’ 3 reads

Summary

I completed a multi-round interview process with Microsoft for an L61 role, covering system design, data structures & algorithms, multithreading, and behavioral aspects. I am currently waiting for the final verdict.

Full Experience

I cleared the Online Assessment (conducted on HackerRank), which included one medium and one hard-level question focused on dynamic programming and bit masking.

Round 1 – System Design + Project Deep Dive This round began with an in-depth discussion of one of my projects. The design question was: β€œGiven multiple 1GB machines and a 1PB file, how would you store, retrieve, and scale this design?” I approached it using sharding, replication, and consistent hashing, and we had several follow-up discussions exploring trade-offs and design decisions.

Round 2 – DSA + Functional Coding This was a data structures and algorithms round. The core question involved processing a stream of numbers and implementing a set of APIs β€” one of which required returning the sum of the first n smallest numbers in O(1) time. I wrote fully functional code and walked the interviewer through various corner cases and optimizations.

Round 3 – Multithreading + Project Discussion We again started with a detailed project discussion, followed by questions on multithreading. I was asked to solve the classic producer-consumer problem, which was extended to multiple producers and consumers. I provided a solution using std::unique_lock, std::mutex, and std::condition_variable, and explained the synchronization logic thoroughly.

Round 4 – Technical + Managerial + Behavioral This round combined technical and managerial aspects. We discussed my resume, followed by a technical conversation around C++ concepts such as thread_local. There was also a tree traversal DSA question with follow-up variations. The round concluded with a few behavioral questions to assess team fit and communication.

I’m currently waiting for the final verdict.

Interview Questions (3)

Q1
Design System for 1PB File on Multiple 1GB Machines
System DesignHard

Given multiple 1GB machines and a 1PB file, how would you store, retrieve, and scale this design?

Q2
Stream Processing: Sum of N Smallest Numbers in O(1)
Data Structures & AlgorithmsHard

Process a stream of numbers and implement a set of APIs β€” one of which required returning the sum of the first n smallest numbers in O(1) time.

Q3
Multithreaded Producer-Consumer Problem (Multiple Producers/Consumers)
Data Structures & AlgorithmsMedium

Solve the classic producer-consumer problem, which was extended to multiple producers and consumers.

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!