Katkat

Company

Microsoft interview questions

252 practice questions in the style of Microsoft's interviews, covering Behavioral & Leadership, Coding & Algorithms, Product Design & Strategy, Machine Learning, ML System Design, Statistics & Math, Software Engineering Fundamentals, Data Manipulation (SQL/Python), System Design, Analytics & Experimentation, Product / Decision Making.

Questions252

21 easy197 medium34 hard

Your progress0/252

Microsoft interview questions by the numbers

Last updated

Katkat has 252 Microsoft interview questions. The largest topics are Coding & Algorithms (44%), System Design (17%) and Behavioral & Leadership (11%). By difficulty: 8% easy, 78% medium and 13% hard. The most common round is Onsite (51%). Frequent concepts include System Design, Concurrency, Scalability and Distributed Systems.

Difficulty

  • Easy8% · 21
  • Medium78% · 197
  • Hard13% · 34

Interview rounds

  • Onsite51% · 128
  • Technical Screen34% · 86
  • Online Assessment8% · 20
  • HR Screen4% · 11
  • Other3% · 7

Roles

  • Software Engineer72% · 181
  • Data Scientist11% · 28
  • Machine Learning Engineer10% · 24
  • Product Manager3% · 7
  • Site Reliability Engineer2% · 6

Frequent concepts

  • System Design9% · 23
  • Concurrency6% · 15
  • Scalability6% · 14
  • Distributed Systems4% · 11
  • Arrays4% · 10
  • Data Structures4% · 10

Showing 151–180 of 252 results

  • This problem tests your ability to model a network as a graph and perform partitioning to optimize internal connectivity constraints.

    MicrosoftSoftware EngineerCoding & AlgorithmsTechnical Screen
  • This question evaluates competency in cross-team collaboration, stakeholder management, conflict resolution, prioritization, and influencing without formal authority in a Machine Learning Engineer context.

    MicrosoftMachine Learning EngineerBehavioral & LeadershipOnsite
  • A behavioral question about realizing that a task you own will miss its deadline and what you do next, followed by a probe on why adding more people close to delivery tends to backfire. It tests early escalation, framing options and trade-offs, ownership, and an understanding of ramp-up and coordination costs.

    MicrosoftSoftware EngineerBehavioral & LeadershipOnsite
  • This problem tests your ability to design a binary classification pipeline from metric selection to production monitoring, with a focus on aligning technical decisions with business objectives.

    MicrosoftData ScientistMachine LearningTechnical Screen
  • This question tests your ability to design quasi-experimental methods to infer causal impact when randomization is not possible due to technical or business constraints.

    MicrosoftData ScientistAnalytics & ExperimentationTechnical Screen
  • This question evaluates understanding of graph theory concepts—directed trees, parent-child constraints, and cycle detection—and measures competency in reasoning about how a single extra directed edge can violate rooted-tree properties.

    MicrosoftSoftware EngineerCoding & AlgorithmsOnsite
  • This problem tests your ability to parse structured meeting request strings into interval objects and then identify the largest subset of non-overlapping meetings that can be scheduled within a fixed workday.

    MicrosoftSoftware EngineerCoding & AlgorithmsOnsite
  • This question evaluates a candidate's ability to implement an iterative clustering algorithm (K-means) and to reason about subarray sums modulo k, testing competencies in numerical computation, centroid management, edge-case handling, and efficient algorithm design.

    MicrosoftMachine Learning EngineerCoding & AlgorithmsOnsite
  • This problem tests in-place array manipulation for submatrix coordinate transformations and the implementation of a thread-safe, time-windowed rate limiter using a sliding window approach.

    MicrosoftSoftware EngineerCoding & AlgorithmsOnsite
  • This problem tests your ability to manage a block of contiguous memory via a free-list and maintain a hierarchical data structure for user records.

    MicrosoftSoftware EngineerCoding & AlgorithmsOnsite
  • This problem tests your ability to efficiently pack variable-length sequences into fixed-length blocks for training, ensuring padding tokens do not influence the loss calculation.

    MicrosoftMachine Learning EngineerCoding & AlgorithmsHR Screen
  • This question evaluates a candidate's skills in robust input parsing, in-memory data modeling, API design, and sequence reconstruction from linked fragments, covering string handling, edge-case handling for CSV, and graph-like ordering of sequence fragments.

    MicrosoftSoftware EngineerCoding & AlgorithmsOnsite
  • Design and implement a thread-safe, bounded task executor that guarantees sequential execution per key while enforcing a global concurrency limit across all keys.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Data structures question that asks you to build a priority queue from scratch with insert, peek, remove-top and size operations, a caller-supplied ordering and stable ties. It tests the choice of underlying structure, invariant-preserving insertion and removal, complexity analysis and edge-case handling.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsOther
  • This problem tests your ability to design a data structure that maintains point-in-time consistency for an iterator despite subsequent modifications to the underlying collection.

    MicrosoftSoftware EngineerCoding & AlgorithmsTechnical Screen
  • Implement per-key FIFO task execution with thread-safe submission, bounded global concurrency, ready-key scheduling, and exception-safe slot release.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsOnsite
  • This problem tests your ability to implement an efficient, thread-safe rate limiter using a sliding window algorithm to ensure a request quota is enforced across a distributed environment.

    MicrosoftSoftware EngineerCoding & AlgorithmsOnsite
  • This problem tests your ability to implement a thread-safe rate limiter using a sliding window algorithm to ensure a service stays within specified traffic constraints.

    MicrosoftSoftware EngineerCoding & AlgorithmsOnsite
  • This problem tests knowledge of synchronization primitives, dictionary-based locking mechanisms, and the ability to manage resource contention based on dynamic categorization.

    MicrosoftSoftware EngineerCoding & AlgorithmsTechnical Screen
  • This problem tests your ability to optimize an array-based trading algorithm using a greedy approach and your mastery of level-order tree traversal to extract a specific view of a binary tree.

    MicrosoftSoftware EngineerCoding & AlgorithmsTechnical Screen
  • This question tests the ability to implement a fixed-capacity Least Recently Used (LRU) cache using hash maps and doubly-linked lists, followed by a classic interval processing algorithm to merge overlapping segments.

    MicrosoftMachine Learning EngineerCoding & AlgorithmsOnsite
  • This question evaluates data-structure implementation and concurrent programming competencies by testing construction of an LRU cache, a custom hash map, a quadtree spatial index, and debugging of a producer-consumer queue.

    MicrosoftSoftware EngineerCoding & AlgorithmsTechnical Screen
  • This problem tests foundational skills in string arithmetic, parsing, coordinate geometry, and segment tree-based range queries.

    MicrosoftSoftware EngineerCoding & AlgorithmsOnsite
  • This question evaluates understanding of autoregressive decoding strategies—greedy decoding and beam search—including cumulative log-probability scoring, beam maintenance, EOS handling, and sequence expansion logic; it is categorized under Coding & Algorithms for Software Engineer roles.

    MicrosoftSoftware EngineerCoding & AlgorithmsTechnical Screen
  • This problem tests your ability to design a thread-safe idempotency layer that ensures an API endpoint processes identical requests exactly once, even in the presence of concurrent execution.

    MicrosoftSoftware EngineerCoding & AlgorithmsOnsite
  • This question evaluates ability to design efficient search algorithms for unknown-length non-decreasing arrays accessed via a limited get(i) API, emphasizing correctness proof and tight query/time complexity bounds.

    MicrosoftData ScientistCoding & AlgorithmsOnsite
  • This question evaluates algorithm design and analysis skills, focusing on binary-search variants, handling duplicates in rotated non-decreasing arrays, rotation-index reasoning, and rigorous edge-case analysis; domain: Coding & Algorithms, specifically search algorithms and array manipulation.

    MicrosoftData ScientistCoding & AlgorithmsOnsite
  • A low-level engineering exercise to implement the Linux cp command in C++ and then explain what happens beneath it. It tests system calls, short writes and error handling, the page cache and kernel-assisted copying, and RAII-based management of file descriptors.

    MicrosoftSoftware EngineerSoftware Engineering FundamentalsOnsite
  • This question evaluates proficiency with fundamental data structures and algorithms—binary tree traversals (preorder, inorder, postorder), breadth-first search on unweighted graphs, and power-set/subset generation—emphasizing implementation choices between recursive and iterative approaches and required time and space complexity reasoning.

    MicrosoftSoftware EngineerCoding & AlgorithmsOnsite
  • Design an in-memory URL shortener class supporting fast encoding and decoding between original long URLs and compact short URLs using hash maps.

    MicrosoftSoftware EngineerCoding & AlgorithmsTechnical Screen

Microsoft interview experiences

All 55 →
  • A Screen and Four Hiring-Event RoundsMicrosoft · Software Engineer · Senior+ · Onsite · Sep 2026

    The report describes a senior software engineering interview for Microsoft’s Intelligent Conversation and Communications Cloud organization. A technical screen in late August preceded a four-round hiring event in mid-September. The screen combined a three-number sum problem with a question about resolving disagreement. The first event round examined a thread-safe executor that preserves task orde…

  • Four Rounds in One Day, Not SelectedMicrosoft · Software Engineer · Onsite · Sep 2026
    Rejected

    The JD said the role is in Windows + Devices, with two teams, WSSI and AI Trust. The interviewer said the role mainly works on privacy and compatibility. There were 5 interviews in total: The first one was a CV + technical questions round, but I think they only asked about my resume and BQ. Then four rounds, all scheduled on the same day. Round 1: BQ + Coding Why Microsoft and why this role The t…

  • SDE-2 Loop with an AI-Assisted Design Round and a Linux cp Deep DiveMicrosoft · Software Engineer · Onsite · Sep 2026

    Round 1 The first problem was a variant of Longest Repeating Character Replacement. We discussed both the brute-force and the optimal solution in the interview, and I implemented it. The second problem was a Medium-difficulty tree traversal question. We also discussed some basic DSA concepts. Round 2 Design a notification system for Windows that lets different applications generate and display no…

  • 25 Minutes to Hand-Code a Concurrent Task ExecutorMicrosoft · Software Engineer · Senior+ · Technical Screen · Aug 2026

    I applied pretty randomly online, and HR reached out to schedule an interview for yesterday afternoon. I went in with a "just watching the show" mindset, and honestly the whole experience was terrible — basically a setup for failure. If I'd actually been seriously job hunting, this would have driven me insane. First, it was a one-hour technical phone screen, and half an hour of that went into goi…

  • A 90-Minute OA and Only Time for Brute ForceMicrosoft · Software Engineer · Online Assessment · Aug 2026

    The latest OA: 90 minutes, two questions, with AI hints for the second question. I only managed to write a brute-force solution for the second one. It probably needed DP, but I ran out of time. 2571 You are given an integer array requiredSum of length n. Build an array result of length n that satisfies all of these conditions: result is non-decreasing: result[i] ≤ result[i + 1] for every valid i.…

More companies