Microsoft Detailed Interview Experience

microsoft logo
microsoft
Offer
September 12, 202512 reads

Summary

I recently went through a detailed interview process at Microsoft, which culminated in an offer. The interview included multiple rounds covering online coding, data structures and algorithms, low-level system design, and a final hiring manager discussion that delved into high-level design and behavioral questions.

Full Experience

My interview journey at Microsoft consisted of four comprehensive rounds.

Round 1: Online Codility Test

This round lasted 60 minutes and featured two coding questions. The first problem involved calculating total final prices after applying a specific discount: given item prices, I had to apply a discount based on the first later item with a lesser-or-equal price. The second question challenged me to efficiently maintain token expiries, prioritizing the use of expired tokens before each operation, for which I considered a hash map coupled with a min-heap approach.

Round 2: Data Structures & Algorithms (DSA)

The second round was a 60-minute DSA session with two questions. The first question was related to hashing and circular search concepts, while the second involved a linked list structure where each node possessed both a standard 'next' pointer and an additional 'recommend' pointer.

Round 3: Low-Level Design (LLD)

This 60-minute round focused on the low-level design of Tic Tac Toe. I began by outlining the object requirements and the flow of requests, then created a UML diagram. Following the design, I proceeded to the coding part, implementing key components like the Main function, Player, PlayingPiece, PlayingPiece0, PlayingPieceX, PieceType, and Board. I initially assumed a 3x3 board and two players, with an eye towards future scalability.

Round 4: Hiring Manager - High-Level Design + Behavioral

The fourth and final round, also 60 minutes, was a combination of high-level design and behavioral questions. For the high-level design portion, questions touched upon scaling, bottlenecks, distributed systems, databases, and general data structures, though I cannot recall the exact problems. The behavioral segment aimed to assess my character and thought process. I was asked about my interest in joining Microsoft, experiences with team conflicts in my current organization, work distribution strategies, past mistakes, and challenges I've encountered.

Interview Questions (6)

Q1
Apply Discount to Item Prices
Data Structures & Algorithms

Given a list of item prices, for each item, apply a discount equal to the price of the first item appearing later in the list that has a price less than or equal to the current item's price. If no such later item exists, no discount is applied. Compute the total of all final prices after applying discounts.

Q2
Token Expiry Management
Data Structures & Algorithms

Design a system to maintain token expiries. Before each operation, prioritize using tokens that have already expired. The suggested approach involves using a hash map combined with a min-heap.

Q3
Low-Level Design of Tic Tac Toe
System Design

Design a Low-Level Design for a Tic Tac Toe game. I started by outlining object requirements and the flow of requests. I then created a UML Diagram before proceeding to the coding part. For the initial implementation, I focused on a 3x3 board and 2 players, with plans to scale it later. I wrote code for the Main function, Player, PlayingPiece, PlayingPiece0, PlayingPieceX, PieceType, and Board.

Q4
Motivation for Microsoft
Behavioral

Why are you interested in joining Microsoft?

Q5
Team Conflict Experience
Behavioral

Have you faced team conflicts in your current organization? Describe the situation and how you handled it.

Q6
Work Distribution and Challenges
Behavioral

Questions were asked regarding work distribution, past mistakes, and challenges faced.

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!