Microsoft L60 || Interview Experience

microsoft logo
microsoft
Software EngineerOffer
August 27, 202562 reads

Summary

I successfully navigated the Microsoft L60 interview process, which began with an Online Assessment, followed by three rounds of loop interviews focusing on Data Structures & Algorithms, System Design, and Behavioral aspects. I received a verbal offer within three working days, highlighting a smooth and efficient hiring process.

Full Experience

I recently completed my interview process for the L60 role at Microsoft, culminating in a verbal offer within three working days. The entire process was very streamlined and pleasant.

Round 1: Online Assessment (75 minutes)

The online assessment consisted of two coding questions:

  • One priority queue-based question (easy-medium).
  • Another involving bit manipulation, efficient precomputation of factorial and inverse, along with combinatorics (medium-hard).

I successfully solved both questions fully.

Loop Interviews

All subsequent rounds took place on the same day, about a week after my OA.

Round 2: Problem Solving (DSA) (60 minutes)

The interviewer expected me to solve two problems and write production-ready code with test cases. However, I could only complete one question within the given time.

Question: Given a string and a vector of string of random [start,end] positions, we need to place bold tags: <b> at start and </b> at end. I handled overlapping intervals by merging them, implementing an end-to-end optimal solution and devising test cases beyond those provided by the interviewer. We discussed edge cases, and my code worked for all scenarios. We also covered time and space complexity. The interviewer was silent throughout and offered no hints.

Round 3: Problem Solving (DSA) (60 minutes)

This round involved three questions:

  1. Question 1: Find the single element in a sorted array where every other element appears twice except for one. I discussed both brute force and optimal approaches in detail with the interviewer, including a dry run. After we agreed on the solution, I coded it up, wrote test cases, and discussed minor improvements for edge cases and time complexity.
  2. Question 2: Given a list of non-negative integers, arrange them such that they form the largest number. I initially discussed a lexicographical approach. The interviewer then prompted me to brainstorm and dry run several test cases. I identified the flaw in my initial strategy and discussed an optimal approach involving merge sort and heap sort. I outlined the recursive call tree for a sample case and we discussed the time and recursive call space complexity. Coding was not required for this question.
  3. Question 3: Explain BFS and DFS and discuss when to use. I elaborated on both traversal algorithms, their implementation data structures, and the issue of infinite branches in DFS. I also discussed custom traversal techniques like IDDFS for faster convergence and real-world applications, such as BFS in social network analysis.

Overall, this round had many insightful discussions, and the interviewer was very friendly and helpful. We also touched upon the impact and use cases of AI for a SWE at Microsoft.

Round 4: AA | Hiring Manager (Behavioral + System Design) (60 minutes)

The interviewer began with behavioral questions about my motivation for a job change and interest in Microsoft. We also discussed my areas of interest and past work experience.

Question: Low-Level Design of Snake and Ladder Game. The requirements included an NxM board with boundaries, K players rolling dice in a round-robin format, implementation of snakes and ladders (no overlap), a rule for starting (roll a 6), a second chance for rolling a 6, cancellation for three consecutive 6s, turn transfer for invalid rolls, and game conclusion upon reaching the last position. I implemented all requirements, structuring classes, functions, and data structures for players, position, board, and gameplay. We discussed and implemented some time and space optimizations. The interviewer helped identify and resolve edge cases. With some time remaining, I discussed the latest AI/LLM developments at Microsoft with the interviewer, who was part of the Copilot team.

Final Verdict 🎉

I received a verbal offer and document submission email within three working days, followed by the written offer a week later. The entire process was smooth, fast, and the interviewers and recruiters were very prompt and helpful.

Interview Questions (5)

Q1
Add Bold Tag in String
Data Structures & AlgorithmsMedium

Given a string s and a list of string intervals [start, end] representing positions within s, you need to place bold tags (<b> at start and </b> at end) around the specified substrings. Handle any overlapping intervals by merging them.

Q2
Single Element in a Sorted Array
Data Structures & AlgorithmsMedium

Given a sorted array consisting of only integers where every element appears exactly twice, except for one element which appears exactly once. Find this single element.

Q3
Largest Number
Data Structures & AlgorithmsMedium

Given a list of non-negative integers, arrange them such that they form the largest number.

Q4
Explain BFS and DFS
Data Structures & Algorithms

Explain Breadth-First Search (BFS) and Depth-First Search (DFS) algorithms. Discuss their operational principles, the data structures typically used for their implementation, and provide scenarios or use cases where each algorithm is more appropriate. Additionally, discuss challenges like the infinite branch problem in DFS.

Q5
Low Level Design of Snake and Ladder Game
System Design

Design a Low-Level system for a Snake and Ladder game with the following functional requirements:

  • R1: The game board has NxM positions, and players cannot move beyond its boundaries.
  • R2: Support K players, who take turns rolling a dice in a round-robin format.
  • R3: Implement the mechanics of snakes and ladders. A snake or ladder cannot start and end at the same position, nor can they overlap.
  • R4: A player must roll a 6 to start the game and enter the board.
  • R5: Rolling a 6 grants the player a second chance to roll the dice immediately.
  • R6: If a player rolls three consecutive 6s, their turn is cancelled, and it passes to the next player.
  • R7: If a roll results in an invalid move (e.g., trying to move beyond the board), the turn goes over to the next player.
  • R8: The game concludes when any player reaches the last position on the board.
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!