Build, test, explain
Clarify an original problem, implement a solution, test boundaries and explain complexity. Choose your language and practice time in the workspace.
Open coding round →BIG TECH / COMPANY-STYLE PRACTICE
Write executable code, test boundaries, explain complexity and reason about resilient distributed systems.
14 original exercises selected by ResumeWorlds. These are preparation suggestions, with no claim that Microsoft asked these questions or endorses ResumeWorlds.
Microsoft discusses algorithms, arrays, strings, queues, trees, hash maps, graphs, testing and distributed-system design. The mapping to these original exercises is ResumeWorlds editorial judgment.
Read the public preparation source →Source reviewed 2026-10-10. Role and interview formats can vary; confirm your actual process with your recruiter.
Choose a coding exercise, explain the approach aloud, implement it and test edge cases. Then explain time and space complexity. For design, write assumptions, compare alternatives and respond to the pressure round. Runtime results require the isolated runner to be available.
Customize and save your round sequence →
Clarify an original problem, implement a solution, test boundaries and explain complexity. Choose your language and practice time in the workspace.
Open coding round →Work with intentionally faulty code. Find a counterexample, review your diff and verify the repair with the isolated runner. Record how you evaluated AI coaching.
Open read & repair →State assumptions, compare architectures and respond to a changing constraint. Existing cited coaching stays separate from executed code correctness.
Open design scenario →Company-style selections are editorial practice suggestions. View topics and source →
14 of 14 original questions
Given sorted availability scores, return the zero-based index of the first score at least the target. Return n if none qualifies.
Positive IDs open actions; negative IDs close the matching positive ID. Actions must close in reverse opening order. Print 1 if the entire sequence is correctly nested and fully closed, otherwise 0.
Given an undirected unweighted graph, return the fewest edges from source to target, or -1 if unreachable. Duplicate edges and self-loops are allowed.
Count pairs i < j for which value[i] > value[j]. Equal values do not count.
Return the topic ID occurring strictly more than n/2 times, or -101 if no such ID exists.
Return the fewest single-glyph insertions, deletions and substitutions converting the first sequence to the second. Every operation costs one.
Return the length of the longest contiguous glyph sequence with no repeated glyph.
Start at the top-left and move only right or down to the bottom-right. Zero cells are open and one cells blocked. Count routes modulo 1,000,000,007; blocked endpoints yield zero.
Print 1 if the supplied binary tree satisfies strict BST ordering, otherwise 0. Every value in a left subtree must be smaller and every value in a right subtree larger; duplicates invalidate it.
Count undirected edges whose individual removal increases the connected-component count. Parallel edges are separate: removing one may leave another route.
Manage browser/device sessions, logout-all and account risk actions.
Support shared document editing, offline reconnect and version history.
Keep account reads/writes available across two regions with a defined recovery policy.
Migrate a large user table to a new schema while the application keeps writing.