microsoft logo
Microsoft· Senior Software Engineer L63

Microsoft India Senior Software Engineer L63

Result
Rejected
Location
India
Experience
4.5 years
Posted
4 Nov 2025
432 reads

Summary

I applied directly for a Senior Software Engineer L63 role at Microsoft and underwent several technical and managerial rounds. Despite successfully navigating algorithm-based coding, system design, and behavioral questions, the hiring manager raised concerns about my years of experience, ultimately suggesting a role downgrade.

How it went

Microsoft India Senior Software Engineer L63 Interview Experience

I applied directly via the portal for a Senior Software Engineer (L63) role. The interviews were scheduled to be conducted within a single day. The recruiter initially shared invites for the first two interviews, and upon clearing those, I received invites for the remaining rounds.

Round 1: Data Structures & Algorithms and System Design Discussions

This round started with a coding problem:

  • Problem: Given a list of packages with dependencies, where dependency[i] = [a, b] means package 'a' requires package 'b' to be installed before it. I needed to provide the order in which these packages would be installed.

Since I finished the coding problem early, the interviewer moved on to some open-ended system design discussions. We covered:

  • How to reduce system latency.
  • Strategies to handle high throughput.
  • Techniques to improve scalability and fault tolerance.

Round 2: Custom Trie Problem

The interviewer spent the first 15 minutes discussing a complex problem I had solved previously, focusing on how I identified the issue and arrived at the solution. Following this, I was given a coding problem:

  • Problem: Implement two functions: addWord(string word) to add a word to the dictionary, and getWords(string pattern) to return the three lexicographically smallest words that start with the given pattern.
  • Follow-up: Handle cases where the pattern contains a dot (.), representing a wildcard where any character (a–z) can appear at that position. The solution still needed to return the three smallest lexicographical matches efficiently.

Round 3: High-Level System Design (HLD)

This round focused on High-Level Design. I was asked to design a Key-Value store similar to DynamoDB. The interviewer was excellent, engaging in a collaborative discussion rather than a direct interrogation. He listened closely to my responses, asked probing questions, and explored alternative approaches and in-depth concepts. I truly enjoyed this round, despite feeling nervous with all the questions. The interviewer gave me positive feedback, mentioning I had good knowledge of system design, which made my day.

Round 4: Hiring Manager Round

The hiring manager reviewed my resume and noted that I had less experience for the L63 role. They quickly asked if I was open to a downgrade. I was asked to describe my strengths and weaknesses from the perspective of my manager, peers, and myself. Additionally, I had to draw a detailed diagram for one of my current projects, including its throughput, latency, and other relevant details. We also discussed the project in depth. Generic questions were asked, such as the difference between a thread and a process, an explanation of the CAP theorem, and some network protocol-related questions.

I felt I answered all questions fairly well. However, at the end of the interview, the hiring manager provided feedback that I might not meet the bar for L63 and reiterated the question about considering a downgrade. This felt quite disheartening after performing well in all the preceding rounds, to be low-balled due to my years of experience.

Questions asked (9)

  1. 01

    Course Schedule II / Package Installation Order

    Data Structures & Algorithms

    Given a list of packages with dependency on other packages. You need to provide the order in which you would install these packages. The list of package was such that dependancy[i] = [a, b], which meant that package a requires package b to be installed before it.

    Problem link provided for reference: https://leetcode.com/problems/course-schedule-ii/

    Open the problem
  2. 02

    Reduce System Latency

    System Design

    Discussion on techniques and strategies to reduce system latency.

  3. 03

    Handle High Throughput

    System Design

    Discussion on methods to handle high throughput in a system.

  4. 04

    Improve Scalability and Fault Tolerance

    System Design

    Discussion on techniques to improve system scalability and fault tolerance.

  5. 05

    Trie with Wildcard Pattern Matching and Lexicographical Smallest

    Data Structures & Algorithms

    Implement two functions: addWord(string word) which adds the word to the dictionary, and getWords(string pattern) which returns the three lexicographically smallest words that start with the given pattern.

    Follow-up: If the pattern contains a dot (.), it represents a wildcard where any character (a–z) can appear at that position. We need to handle this case efficiently and still return the three smallest lexicographical matches.

    A similar problem link was mentioned: https://leetcode.com/problems/implement-trie-prefix-tree/

  6. 06

    Design a Key-Value Store (DynamoDB-like)

    System Design

    High-Level Design (HLD) for a Key-Value store similar to Amazon DynamoDB. The discussion focused on the design principles, alternatives, and in-depth aspects of such a system.

  7. 07

    Strengths and Weaknesses

    Behavioral

    Discuss strengths and weaknesses from the perspective of my manager, peers, and myself.

  8. 08

    Difference between Thread and Process

    Other

    Explain the difference between a thread and a process.

  9. 09

    CAP Theorem

    System Design

    Explain the CAP theorem.

Know someone preparing? Send it to them:WhatsAppLinkedInX

Interviewed at Microsoft recently?

Write up your rounds while you still remember the questions. It helps the next person more than you would think.

Share your experience
Discussion 0

Questions for the author, or how your own interview compared.

Join the discussion

Sign in with Google to comment or ask the author a question.

No comments yet

Be the first to share your thoughts and start the discussion!