Candidate Information:
- Status: Selected
- Experience: 3 years of relevant experience
- Target Position: Software Development Engineer II (Level 61)
- Location: Noida, India
- Interview Date: 1st to 8th August 2025
Overview of Interview Process:
Initial Screening (Online Test):
- Duration: 90 minutes
- Method: Online assessment on Hackerank
- Focus: Data Structures & Algorithms fundamentals, combinatorics
Experience & Approach:
I applied through Microsoft’s career portal because the referral queue is very long. To maximize my chances, I crafted a strong resume and applied roughly 20 times. I received test links 3 times, but fortunately succeeded on the first one, so interviews for the other two were not required.
I cannot recall the exact questions, but they were harder than the actual interview questions — understandable for initial screening. For example:
- One problem required Dijkstra’s algorithm and DFS.
- Another was a combinatorics problem involving C(n,k) with modular arithmetic.
I completed the first test fully and solved around 80% of the second test cases.
Obstacles: The difficulty level was high due to time constraints and the complexity of the questions, especially the combinatorics one with modular constraints.
Technical Rounds
Round 1 – DSA Interview:
Duration: 60 minutes
Method: Video interview
Focus: Data Structures & Algorithms fundamentals
Key Questions:
- Rotten Oranges (Link )
- Check if a binary tree is a BST (Link)
- Find the two nodes swapped in a BST(Link)
Obstacles: Standard questions, Nothing as such.
Round 2 – Low-Level Design (Post Office System)
Duration: ~60 minutes
Method: Video interview
Focus: Object-oriented design, system flow, and handling multiple real-world scenarios
Key Discussion Points:
Designing a system that consumes letters from one end and delivers them to multiple postmen efficiently
Modeling core entities such as PostOffice, Letter, DeliveryPerson, and Route
Handling delivery flow, selecting data structures, concurrent processing of letters, and assignment of letters to multiple delivery personnel
Obstacles: This question was not covered in my preparation, but I leveraged a telemetry logger code that I had written during my preparation.
Round 3 – Low-Level Design (Elevator System)
Duration: ~60 minutes
Method: Video interview
Focus: System modeling, class design, concurrency handling
Key Discussion Points:
Designing elevator scheduling logic (handling multiple requests, direction algorithms)
Discussing class responsibilities and communication between controller and elevator objects
Obstacles: Standard question; no major obstacles.
AA Round (Analytical/Applied Problem-Solving)
Duration:~ 60 minutes
Method: Video interview
Focus: Problem-solving approach and debugging mindset
Questions:
- Write code to make a machine sluggish (performance degradation problem)
- Pseudo code for Google Docs LLD (real-time collaboration, document sync, conflict handling)
- Personal project discussion: Rate Limiter Design (token bucket approach, scalability, caching)
Reflection:
I approached the first task (writing code to make a machine sluggish) incorrectly, but the interviewer guided me and discussed alternative approaches. The idea was to utilize CPU utilization across different cores.
Post-Interview Reflections:
Company Culture Insights: Interviewers were professional yet friendly, emphasizing clarity of approach and thought process.
Work Environment: The process was seamless and well-coordinated despite being virtual — reflecting Microsoft’s structured workflow.
Evaluator Feedback: Received encouraging feedback on structured thinking and clarity in design discussions.
Additional Information:
- Recruiters sometimes map your application to different job IDs, but ultimately you get only one consolidated offer, which streamlines the process.
Closing Note:
- Overall, the experience was a well-balanced mix of DSA, design, and applied problem-solving.If anyone has queries or wants to connect, feel free to reach out on Linkedin Url: https://www.linkedin.com/in/dev-gyanendra-singh/