
Microsoft Software Engineer candidates report a recruiter or manager screen, LeetCode-style coding at roughly easy-to-medium level, resume deep dives, behavioral questions, and sometimes low-level or system design rounds.
$148K
Avg. Base Comp
$220K
Avg. Total Comp
2-4 rounds
Typical Rounds
21 days
Process Length
Candidates describe the Microsoft Software Engineer interview as a coding-centered loop with more variety than the label suggests. Most reports include LeetCode-style problems, usually described as easy to medium, with a harder, more time-pressured round in a few accounts. Reported problems include LRU Cache, validating a binary search tree, linked-list palindromes, Find All Anagrams in a String, and string-splitting implementations.
The second consistent theme is that coding alone rarely covers the loop. Several candidates report low-level design, high-level design or both, with examples such as a movie ticket booking system, a ride service and multiplayer tic-tac-toe. Others describe behavioral questions about conflict, ambiguous decisions, being wrong and why Microsoft, often within the same session as coding.
Resume and project discussion comes up repeatedly, including technical decisions, distributed systems, REST and computer-science fundamentals such as OOP and databases. A few candidates also mention follow-ups after a working solution, such as asking how to improve it or explaining time and space complexity.
Structure varies. Some candidates describe two back-to-back sessions, others three or four loop rounds, and one reports a first screen that was entirely behavioral despite coding-focused guidance. Outcomes are mixed, with both offers and rejections. For preparation, practice explaining solutions aloud, rehearse one or two design prompts at both levels of detail, and be ready to defend every project on your resume.
Synthesized from 236 candidate reports by our editorial team.
Had an interview recently?
Share your experience. Unlock the full guide.
Real interview reports from people who went through the Microsoft process.
What stood out most to me was how little of my process involved a whiteboard. The first hurdle was a HackerRank online assessment, which I worked through without much trouble. After that I had two interviews back to back, each with a different engineer, and neither one put a LeetCode-style problem in front of me. The conversations were almost entirely about my own work: the projects I'd built and the ones I'd done during internships. They wanted to hear how I thought as an engineer, not just what I had shipped.
The question I remember best came up while we were looking at one of my finished projects. The interviewer asked what I wished I had changed during the process and what I would add to it if I had more time. I hadn't prepared a specific answer for that, so I had to think out loud about the tradeoffs I'd made and where the project fell short. Being honest about the gaps seemed to matter more than sounding polished.
I received an offer. My main advice is to be able to walk through every project on your resume in real depth, including the decisions you would revisit, because that is where these conversations went.
Prep tip from this candidate
Be ready to walk through each resume project in depth, including the design decisions you would revisit and the features you would add next, since that reflective questioning drove the interview.
Share your own interview experience to unlock all reports, or subscribe for full access.
Sourced from candidate reports and verified by our team.
Topics based on recent interview experiences.
Featured question at Microsoft
Given two sorted lists, write a function to merge them into one sorted list.
| Question | |
|---|---|
| Random SQL Sample | |
| Raining in Seattle | |
| Find the Missing Number | |
| Minimum Change | |
| Scrambled Tickets | |
| Download Facts | |
| Employee Salaries (ETL Error) | |
| Employee Project Budgets | |
| Bagging vs Boosting | |
| Find the First Non-Repeating Character in a String | |
| Lowest Paid | |
| Find Bigrams | |
| P-value to a Layman | |
| The Brackets Problem | |
| Project Budget Error | |
| Google Maps Improvement | |
| Level Of Rain Water In 2D Terrain | |
| Real-Time Transaction Streaming | |
| N-gram Dictionary | |
| Cyclic Detection | |
| Precision and Recall | |
| Binary Tree Conversion | |
| Longest Increasing Subsequence | |
| Find Duplicate Numbers in a List | |
| Target Indices | |
| Good Grades and Favorite Colors | |
| Hurdles In Data Projects | |
| Swapping Nodes | |
| Production Model Monitoring |
Synthesized from candidate reports. Individual experiences may vary.
Candidates report different entry points. Some start with a recruiter conversation about their background, others with a hiring manager screen focused on projects, and some with an online assessment of LeetCode-style problems. One candidate's first technical screen was entirely behavioral, so prepare for both formats.
Several candidates report a coding challenge before live interviews, described as two easy-to-medium problems or a medium-difficulty question. Another candidate reports a 100-minute test with two problems. Not every process includes it, so treat it as a common but not universal stage.
Candidates typically describe live coding sessions of about 45 minutes. Reported topics include LRU Cache, BST validation, linked-list palindromes, anagram search and string manipulation. Interviewers often ask for spoken reasoning, complexity analysis and possible improvements after a working solution. Some mix in OOP, database or data structure fundamentals.
Several candidates report design rounds, though not all do. Examples include a movie ticket booking system, a ride service, multiplayer tic-tac-toe and a test framework. Some accounts describe separate low-level and high-level discussions, so you may need to work with classes and interfaces as well as overall architecture.
Behavioral questions appear either as a dedicated round or alongside coding. Candidates report being asked about conflict with a colleague, decisions with incomplete information, a time they were wrong, failure, the hardest bug and why Microsoft. Expect detailed questions on your projects, technical choices and listed skills.