Microsoft

Microsoft Software Engineer Interview Questions

1633+ questions from real Microsoft Software Engineer interviews, reported by candidates.

1633
Questions
6
Round Types
8
Topic Areas
2019-2024
Year Range

Round Types

Coding 589 OA 379 Phone Screen 214 System Design 103 Onsite 79 Recruiter 56

Top Topics

Questions

Question 1: There is a cleaning robot which is cleaning a rectangular grid of size N x M, represented by array R consisting of N strings. Rows are numbered from 0...

There are n blacklisted IP regexes given as an array of strings. It consists of * or \'.\' e.g. .123. matches with "12.1.123.45", "1.123.435.12", but not with "1.2.3.4". There are...

There are N clients who have ordered N handmade items. The K-th client ordered exactly one item that takes T[k] hours to make. There is only one employee who makes...

You are presented with a two-dimensional grid of size N x M (N rows and M columns). Each cell in the grid is either black ("B") or white ("w"). A...

1)Hotspot Connection - Very very leetcode hard There are employee_nodes employees in a company, out of which there are k special employees who have data network and share their mobile hotspots...

Q1. In a 2D MAtrix of size NxM, you start from (0,0) and travel (N-1, M-1). You can move down left and right and not up. If the matrix node contains...

https://leetcode.com/problems/remove-digit-from-number-to-maximize-result/ repot: https://leetcode.com/problems/sign-of-the-product-of-an-array/ https://leetcode.com/problems/minimum-time-to-make-rope-colorful/

There is an array A made of N integers. Your task is to choose as many integers from A as possible so that, when they are put in ascending order,...

Need help Urgent There is a string representing a date in "MM-DD" format, where MM denotes a month in a two-digit format and DD denotes a day in a...

You are given N building blocks each of which has a height H. weight W. You want to build a tower by stacking up blocks to reach a height of...

Question 1-Debugging (Find Minimum in the array (1 Line of code change)(Very Easy) ) Question 2- Coding (Find Sign of product of all element in an array multiplied Together.E.g: given an...

Given A & B find count of all num which falls between A & B(both inclusive), where num = x (x+1) A = 6 B = 20 Answer = 3 2 3 = 6 3...

Assume, there is a Data store which stores documents, where each document has a field, documentDate, of string type in the format YYYYMMDDhhmmss. Assume there is an Api, GetDocumentsCount(string datePrefix), which...

I got a call from rercruiter that, i will be given a test link for OA and based on the result i will be considered for next drive. Round 0 ->...

MICROSOFT F2F-1 Q1. A Water Jug Problem: You are given two jugs, a 4-gallon one and a 3-gallon one, a pump which has unlimited water which you can use to fill the...

The interview process consisted of multiple rounds and was both challenging and rewarding. Round 1: Technical Phone Screen The first round was a technical phone screen conducted by an experienced engineer from...

I couldn\'t get all test cases for this problem and it\'s driving me crazy. Please give it a jab if you have the time. There is a board made of two...

I recently appeared for MS interview and one of the question was very interesting. So you are getting stream of sorted data in form of arrays, and you have to...

Given a sorted string "aaabbbccccccceeee" and a character, write a function to return the frequency of character. Time Complexity expected was O(logN) and Space complexity O(1). How to solve this?

4 rounds 4 questions https://leetcode.com/problems/shortest-bridge/ https://leetcode.com/problems/roman-to-integer/ * https://leetcode.com/problems/string-to-integer-atoi/ * https://leetcode.com/problems/k-diff-pairs-in-an-array/ Interviewers were found to be pretty cool except in the first round. I was not well prepared for the interview. So I...

What Microsoft Looks for in Software Engineer Interviews

Microsoft Software Engineer interviews are calibrated against the level and scope expected of the role. Across 1633+ verified candidate reports on LeakCode, the consistent signals interviewers look for: clear problem decomposition before coding, explicit complexity reasoning, structured handling of edge cases, and the ability to articulate trade-offs between two reasonable approaches.

The discriminator between candidates who advance and candidates who do not is rarely the final correctness of the solution. It is the path to the solution: did you ask clarifying questions, did you state your approach before coding, did you handle edge cases without prompting, and did you communicate your reasoning throughout. Reports tagged "no hire" frequently cite a working solution with poor communication; reports tagged "strong hire" cite clear thinking even when the final solution was incomplete.

How To Use This Question Set

Real interview reports are a calibration tool, not a memorization target. Companies update their question pools every 2-4 months; memorizing exact problems risks misleading you when the interviewer uses a variant. The high-leverage use: identify the patterns that appear repeatedly in Microsoft Software Engineer reports, practice those patterns on similar (not identical) problems, and use the reports to understand the interviewer's typical follow-up depth.

Filter the questions below by round type, difficulty, and recency. Focus first on reports from the past 6-12 months; older reports may reference questions that have since rotated out of Microsoft's pool. Reports tagged with quantified difficulty (e.g., "medium-hard") are higher-signal than reports without difficulty tags.

Round-by-Round Expectations

Microsoft Software Engineer loops typically span 4-6 rounds across phone screens and on-site or virtual on-site interviews. The structure varies by company: some run 1 recruiter screen + 1 technical phone + 3-4 on-site rounds; others run 1 recruiter screen + 1 OA + 4-5 on-site rounds. The recruiter screen is logistics and culture-light; the technical phone screen is medium-difficulty coding; the on-site loop covers coding, system design (at L4+ levels), and behavioral rounds.

Each round is designed to surface a specific signal. Coding rounds: correctness, code quality, complexity reasoning, communication. System design rounds: requirements clarification, design judgment, operational thinking. Behavioral rounds: ownership scope, leadership, ambiguity tolerance, conflict navigation. Strong candidates explicitly hit each signal dimension out loud during the round; weak candidates focus only on solving the prompt.

Common Interview Mistakes At This Combination

Reports tagged "no hire" at Microsoft Software Engineer commonly cite: jumping into code without clarifying requirements, coding silently for 10+ minutes without verbalizing approach, missing edge cases (empty input, single element, very large input, overflow), and producing a working solution that the candidate cannot explain or refactor when probed. Strong candidates avoid these patterns by following a consistent template: clarify, verbalize approach, code with narration, test with examples.

Behavioral and design rounds have their own failure modes. Behavioral: stories that use "we" instead of "I" diluting individual signal, stories with no quantified outcome, defensiveness when probed about failure. Design: not asking clarifying questions, not stating requirements out loud, designing for a single server when the prompt clearly implies scale, ignoring operational concerns (deployment, monitoring, rollback). These show up in roughly half of Microsoft Software Engineer interview retrospectives on LeakCode.

See All 1633 Microsoft Software Engineer Questions

Full question text, answer context, and frequency data for subscribers.

Get Access

Other Microsoft Role Questions