Microsoft | Senior Software Engineer (SSE) | L63 | India | Dec 2025 | Selected

microsoft logo
microsoft
Senior Software Engineer (SSE) | L63India
December 30, 202515 reads

Summary

I successfully interviewed for a Senior Software Engineer (SSE) L63 position at Microsoft in India and received an offer. The interview process included rounds on DSA, System Design, LLD, and behavioral questions, culminating in a positive final verdict.

Full Experience

Hi everyone — sharing my Microsoft interview experience as a small give-back to the LeetCode community. Really grateful for all the help I’ve received here.

Round 1: Online Assessment (OA) | HackerRank | 135 mins

I received a HackerRank link on my registered email. There were 2 questions, and I was able to solve both within the time limit. I don’t remember the exact problems, but they were DP- and graph-based.

Round 2: DSA & Problem Solving | 1 hour

This round mainly tested coding + problem-solving depth.

Question: Binary Searchable Numbers in an Unsorted Array https://leetcode.com/problems/binary-searchable-numbers-in-an-unsorted-array/description/

Follow-up: What if duplicates are allowed? Does your logic still work?

The interviewer asked me to explain brute force → better → optimal approaches, and we discussed multiple edge cases / variations.

We also had a short discussion about my current project and day-to-day responsibilities.

Round 3: System Design + LLD | 1.5 hours

System Design: Deep dive into my resume projects (scaling, DB choices, Kafka, architecture). I explained my current system end-to-end and answered several follow-up questions.

Coding (LLD style): Each node in a binary tree represents a skill with a score. We need to select any root-to-leaf path with the maximum total score.

This is essentially: Maximum Root-to-Leaf Path Sum in a Binary Tree.

I implemented the optimal solution and discussed test cases.

Round 4: HLD + DSA | 2 hours

Coding: Rotting Oranges https://leetcode.com/problems/rotting-oranges/description/

Project Deep Dive: We drew the architecture of my current work. The manager was satisfied with my design trade-offs and reasoning.

HLD Design: Job Scheduler / Orchestrator Design a service to manage n job types. For every incoming job request, generate a unique jobRunId. For some job types, ensure no two runs of the same job execute simultaneously.

We discussed:

  • parallel job execution scenarios

  • avoiding single points of failure

  • distributed fault tolerance

  • Redis-based locking / leader election considerations

  • observability, tracing, and auditability

Round 5: Engineering Group Director | 1.5 hours

This round was scheduled by HR ~3 days after earlier rounds. The director shared a brief overview of the team, culture, and projects.

Behavioral questions:

  1. What is your motivation for changing jobs?
  2. Why not move within your current organization?
  3. What do you expect from Microsoft?
  4. Tell me one instance where you failed to do what you were supposed to do — and how you handled it.

Code Review: Reviewed a Java/SQL connection related snippet. I had to point out issues and add comments (resource handling, error cases, correctness, etc.).

Coding: Implement a Java PriorityQueue (min-heap) without using any library.

Final Verdict

All rounds went positive, and I received the congratulations email the same day.

Interview Questions (9)

Q1
Binary Searchable Numbers in an Unsorted Array
Data Structures & Algorithms

Binary Searchable Numbers in an Unsorted Array

Q2
Maximum Root-to-Leaf Path Sum in a Binary Tree
Data Structures & Algorithms

Each node in a binary tree represents a skill with a score. We need to select any root-to-leaf path with the maximum total score. This is essentially: Maximum Root-to-Leaf Path Sum in a Binary Tree.

Q3
Rotting Oranges
Data Structures & Algorithms

Rotting Oranges

Q4
Design a Job Scheduler / Orchestrator
System Design

Design a service to manage n job types. For every incoming job request, generate a unique jobRunId. For some job types, ensure no two runs of the same job execute simultaneously. We discussed: parallel job execution scenarios, avoiding single points of failure, distributed fault tolerance, Redis-based locking / leader election considerations, observability, tracing, and auditability.

Q5
Motivation for Changing Jobs
Behavioral

What is your motivation for changing jobs?

Q6
Why Not Move Within Current Organization?
Behavioral

Why not move within your current organization?

Q7
Expectations from Microsoft
Behavioral

What do you expect from Microsoft?

Q8
Instance of Failure and Handling
Behavioral

Tell me one instance where you failed to do what you were supposed to do — and how you handled it.

Q9
Implement Java PriorityQueue (min-heap) without library
Data Structures & Algorithms

Implement a Java PriorityQueue (min-heap) without using any library.

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!