Microsoft Interview Questions 2026

Published July 22, 2026 · Updated July 22, 2026

20 real interview questions asked at Microsoft. Covers DSA / Arrays, System Design, DSA / Trees, Domain, Behavioral, DSA / Graphs, AI / Agents, React / React 19, TypeScript / Types, System Design / Collaboration, DSA / Design, C# / Async, Java / Streams, Python / Decorators, System Design / Notifications. Reported by engineers who went through the Microsoft process.

Questions Interview GuidesInterview GuidesInterview Guides
20 questions
628 engineers asked
988 upvotes

DSA / Arrays (2)

Microsoft Medium Technical round

Given a matrix of 0s and 1s, find the largest rectangle containing only 1s and return its area. Walk through the histogram-based O(n*m) solution and discuss why the naive O(n2*m2) approach is unacceptable at scale.

↑ 43 upvotes · 38 engineers asked this · SDE2
Microsoft Easy Screening round JavaC#Python

Find all pairs in an array that sum to a given target value. Explain the HashSet approach for O(n) time, handle duplicate pairs correctly, and discuss edge cases (negative numbers, empty array).

↑ 55 upvotes · 37 engineers asked this · SDE1

System Design (3)

Microsoft Hard System Design round

Design Microsoft Teams' presence system. How do you propagate "online / away / busy" status to millions of users with sub-second latency without overwhelming the backend?

↑ 89 upvotes · 27 engineers asked this · SDE2
Microsoft Hard System Design round Distributed SystemsAzure

Design Azure Blob Storage. How do you store, replicate, and serve petabytes of unstructured data with 11 nines of durability? Cover: chunking, erasure coding vs 3-way replication, geo-redundancy, and handling hot blobs.

↑ 57 upvotes · 36 engineers asked this · SDE2
Microsoft Hard System Design round Distributed SystemsWebSockets

Design a collaborative code editor like VS Code Live Share. Multiple developers edit the same file simultaneously with cursors visible to all. Cover: OT vs CRDT, undo/redo in a collaborative context, and low-latency sync across regions.

↑ 49 upvotes · 30 engineers asked this · SDE2

DSA / Trees (2)

Microsoft Easy Screening round

Given a binary search tree, find the kth smallest element. Optimize for the case where this function is called many times on a static tree.

↑ 67 upvotes · 41 engineers asked this · SDE1
Microsoft Medium Technical round JavaC#Python

Given a binary tree, print nodes level by level (BFS traversal). Then modify it to print alternate levels in reverse order (zigzag traversal). Analyse time and space complexity.

↑ 61 upvotes · 40 engineers asked this · SDE1

Domain (1)

Microsoft Medium Technical round .NETC#

Explain the difference between process and thread in Windows. What is a fiber? Describe how the .NET thread pool works and when you would use async/await vs raw Thread vs ThreadPool.

↑ 48 upvotes · 29 engineers asked this · SDE2

Behavioral (2)

Microsoft Medium HR round

Microsoft asks about "growth mindset". Tell me about a significant technical failure you experienced. What did you learn and how did you change your approach as a result?

↑ 45 upvotes · 27 engineers asked this · SDE2
Microsoft Easy HR round 1-5 years

Describe a time you had to learn a completely unfamiliar codebase or technology quickly to unblock a critical deliverable. How did you approach it?

↑ 25 upvotes · 15 engineers asked this · Senior SDE

DSA / Graphs (1)

Microsoft Hard Technical round JavaPythonC#

Given a 2D grid of 0s and 1s, count the number of islands. Then extend: find the largest island, and then explain how you would solve this for a streaming grid that changes in real time using a Union-Find structure.

↑ 54 upvotes · 34 engineers asked this · SDE2

AI / Agents (1)

Microsoft Hard Scenario round 4–7 YearsLLMPython

You are building an AI agent that books travel. It has access to 6 tools. How do you prevent it from calling tools in the wrong order or entering infinite loops?

↑ 98 upvotes · 76 engineers asked this · AI Engineer

React / React 19 (1)

Microsoft Hard Technical round 4–7 YearsReactJavaScriptNext.js

What is React 19 use() hook and how does it change async data fetching compared to useEffect?

↑ 98 upvotes · 77 engineers asked this · Full Stack Developer

TypeScript / Types (1)

Microsoft Medium Technical round 2-5 yearsTypeScript

Explain the difference between a TypeScript interface and a type alias. Give a concrete case where only one of them can express what you need.

↑ 36 upvotes · 28 engineers asked this · Senior SDE

System Design / Collaboration (1)

Microsoft Hard System Design round 4-8 yearsSystem DesignDistributed Systems

Design the "presence" feature in Teams/Slack — showing whether a user is online, away, or in a meeting — that scales to tens of millions of concurrent users with near real-time updates.

↑ 38 upvotes · 16 engineers asked this · Senior SDE

DSA / Design (1)

Microsoft Medium Technical round 2-5 yearsJavaC++

Design a data structure that supports insert, delete, and getRandom in O(1) average time. Walk through your approach.

↑ 42 upvotes · 33 engineers asked this · Senior SDE

C# / Async (1)

Microsoft Medium Technical round 2-5 yearsC#

In C#, what is the difference between Task.Wait() and await? Why does calling .Wait() on the UI thread risk a deadlock in a way that await does not?

↑ 21 upvotes · 12 engineers asked this · Senior SDE

Java / Streams (1)

Microsoft Medium Technical round 2-5 yearsJava

Rewrite this imperative loop using Java Streams: filter a list of orders for status "PAID", then sum their amounts. Explain one case where a stream would actually perform worse than the loop.

↑ 19 upvotes · 10 engineers asked this · Senior SDE

Python / Decorators (1)

Microsoft Medium Technical round 2-5 yearsPython

Write a Python decorator @timed that prints how long a function took to execute, and explain how functools.wraps prevents it from breaking introspection.

↑ 20 upvotes · 11 engineers asked this · Senior SDE

System Design / Notifications (1)

Microsoft Hard System Design round 4-8 yearsSystem Design

Design a notification system that can send push, email, and SMS, where a user's preferences determine which channels are used, and a failed channel should fall back to another.

↑ 23 upvotes · 11 engineers asked this · Senior SDE

Practice these questions with AI feedback

Get instant grading on your answers, identify your weak areas, and generate a personalised 14-day study plan — all free.

Build my study plan →

Microsoft interview guides by role

Microsoft SDE2 Guide Microsoft SDE1 Guide Microsoft Senior SDE Guide

Microsoft questions by technology

Microsoft C# Microsoft Java Microsoft Python

More companies

Amazon Google Flipkart Swiggy Meta Apple Netflix Uber Airbnb Stripe Razorpay PhonePe Paytm Zomato Salesforce Oracle Adobe LinkedIn Atlassian Accenture Deloitte Wipro Infosys TCS Capgemini PayU General Anthropic OpenAI TikTok JPMorgan Walmart Spotify DoorDash Goldman Sachs Revolut Canva Capital One Lyft SAP Siemens Shopify Grab Cognizant LTIMindtree Myntra Hotstar Twitter Snowflake

Frequently asked questions

Given a matrix of 0s and 1s, find the largest rectangle containing only 1s and return its area. Walk through the histogram-based O(n*m) solution and discuss why the naive O(n2*m2) approach is unacceptable at scale.
Given a matrix of 0s and 1s, find the largest rectangle containing only 1s and return its area. Walk through the histogram-based O(n*m) solution and discuss why the naive O(n2*m2) approach is unacceptable at scale.
Design Microsoft Teams' presence system. How do you propagate "online / away / busy" status to millions of users with sub-second latency without overwhelming the backend?
Design Microsoft Teams' presence system. How do you propagate "online / away / busy" status to millions of users with sub-second latency without overwhelming the backend?
Given a binary search tree, find the kth smallest element. Optimize for the case where this function is called many times on a static tree.
Given a binary search tree, find the kth smallest element. Optimize for the case where this function is called many times on a static tree.
Design Azure Blob Storage.
Design Azure Blob Storage. How do you store, replicate, and serve petabytes of unstructured data with 11 nines of durability? Cover: chunking, erasure coding vs 3-way replication, geo-redundancy, and handling hot blobs.
Explain the difference between process and thread in Windows. What is a fiber? Describe how the .NET thread pool works and when you would use async/await vs raw Thread vs ThreadPool.
Explain the difference between process and thread in Windows. What is a fiber? Describe how the .NET thread pool works and when you would use async/await vs raw Thread vs ThreadPool.