OA 真题 · 72 题 · 61 可判
Microsoft OA 真题
Microsoft 的 72 道 OA 真题,61 道可以在线运行样例并提交评测。阅读题面,然后在 CSWork 练习工作台中用 Python、Java、C++ 或 Go 作答。
考试形式
- 平台
- HackerRank
- 题量
- 2 道编程题
- 时长
- 90 分钟
- 计分
- 按通过的测试点计分
- 编程以外的环节
- 无(偶有少量选择题或调试题)
- 适用岗位
- SWE intern、New grad (SDE)
- 说明
- 实习和新毕业生最常见的是 HackerRank 两题 90 分钟,部分批次改用 Codility(两题 100–110 分钟,提交前看不到隐藏用例结果)。高频考点:字符串、贪心、滑动窗口、前缀和、DP。
资料更新于 2026-10
- #1Longest Path with Alternating Letters in Tree树上路径 · 动规入门估计困难
- #2Smallest Missing Positive after Merging A and B哈希计数估计中等
- #3Erase Pairs of Identical Letters单调栈与堆 · 贪心调度 · 字符串估计中等
- #4Roll Operation on String前缀和区间 · 字符串估计中等
- #5Intern Tasks — Max Combined Reward Points贪心调度估计中等
- #6Three Consecutive Replace — Max Operations贪心调度 · 字符串 · 哈希计数估计中等
- #7Sum of Final Prices (Next Lower-or-Equal)单调栈与堆估计中等
- #8Find Suitable Locations网格搜索 · 位运算估计中等
- #9Assign Values贪心调度 · 哈希计数估计中等
- #10Balance the Game Board模拟/实现 · 前缀和区间估计中等
- #11Calculate Leftover Stacks模拟/实现 · 位运算估计简单
- #12Check Path Presence哈希计数估计简单
- #13Cleaning Robot模拟/实现 · 网格搜索估计中等
- #14Compressed Representation Size字符串 · 前缀和区间 · 双指针滑窗估计困难
- #15Construct Maximum Balanced Circle哈希计数 · 贪心调度 · 双指针滑窗估计困难
- #16Count Characters Before Uppercase哈希计数 · 字符串估计简单
- #17Count Similar Substrings (Microsoft India)字符串估计简单
- #18Count Subarrays with Bitwise OR Present位运算 · 哈希计数估计中等
- #19Shortest Board Length to Cover Holes二分查找 · 贪心调度估计中等
- #20Find Fair Indexes前缀和区间估计简单
- #21Find Array Uniqueness Median二分查找 · 双指针滑窗 · 哈希计数估计困难
- #22Find Max Sum with Same First and Last Digit哈希计数仅题面
- #23Find Min Num Moves原地数组 · 贪心调度估计中等
- #24Find Minimum Cost背包计数 · 贪心调度仅题面
- #25Frog Game双指针滑窗 · 动规入门仅题面
- #26Get Alphabetically Smallest String贪心调度 · 字符串估计简单
- #27Get Max Or Sum位运算 · 前缀和区间估计中等
- #28Get Minimum Time背包计数 · 前缀和区间估计困难
- #29Great Subsequences位运算估计困难
- #30Total Waiting Time for Handmade Items位运算 · 前缀和区间 · 原地数组估计困难
- #31Implement Queue using Stacks (Round 2, LC 232迭代器设计 · 单调栈与堆估计简单
- #32In-Memory SQL with CSV Initialization字符串 · 模拟/实现 · 迭代器设计仅题面
- #33Island Perimeter (Round 3, LC 463 :)网格搜索估计简单
- #34Longest Path With Different Adjacent Characters树上路径 · 动规入门估计困难
- #35Maximum Number of Moves with Same Result树形博弈估计中等
- #36Maximize Number of Produced Cars背包计数 · 贪心调度估计困难
- #37Maximum Total Number of Orders Fulfilled贪心调度估计简单
- #38Maximum Sum of Two Non-Attacking Rooks贪心调度 · 原地数组估计中等
- #39Maximize Sum of Two Non-Overlapping Fragments前缀和区间 · 双指针滑窗估计困难
- #40Maximize Types After Freeing Shelves双指针滑窗 · 哈希计数估计中等
- #41Maximizing Difference in Array Elements with Moves二分查找 · 前缀和区间 · 贪心调度估计困难
- #42Maximum Cells模拟/实现 · 贪心调度仅题面
- #43Maximum Number Possible贪心调度 · 字符串仅题面
- #44Maximum Sum After Merges动规入门估计中等
- #45Min Num Letters子序列简单
- #46Minimum Domino Removals子序列估计中等
- #47Minimize Difference Between Two Numbers贪心调度 · 字符串估计中等
- #48Minimum Cars to Remove子序列 · 二分查找估计困难
- #49Minimum Replacements Required to Make a Matrix Balanced贪心调度 · 哈希计数估计中等
- #50Minimum Substrings Without Repeating Characters贪心调度 · 哈希计数仅题面
- #51Minimum Swaps Required to Group All Red Balls Together贪心调度 · 前缀和区间估计中等
- #52Minimum Tokens Remaining位运算 · 模拟/实现估计中等
- #53Order Records by Matching Start and End哈希计数估计简单
- #54Optimal Path in a Grid网格动规 · 前缀和区间估计简单
- #55Prepare Notification字符串估计简单
- #56Product of XOR of All Good Pairs哈希计数 · 位运算估计中等
- #57Rank Open Businesses原地数组估计简单
- #58Reorder Routes to Make All Paths Lead to the City Zero并查集估计中等
- #59Retain Top K Values原地数组 · 单调栈与堆估计简单
- #60Reverse an Integer位运算简单
- #61Shortest Compressed String After Removal双指针滑窗 · 字符串 · 前缀和区间估计困难
- #62Side Largest Square位运算 · 二分查找估计中等
- #63Skyscraper贪心调度估计简单
- #64Str with Longest Len字符串估计中等
- #65Maximum Sum with Tiles状态机估计中等
- #66The Crazy Ruler并查集 · 哈希计数 · 前缀和区间仅题面
- #67The Longest Spike哈希计数估计简单
- #68Three Partition Array双指针滑窗 · 原地数组仅题面
- #69To Good Arrays位运算 · 状态机仅题面
- #70Valid Mixed Case Letters哈希计数估计简单
- #71Word Pattern II (Round 1, LC 291 :)拆分构造估计中等
- #72XOR Coloring背包计数 · 位运算仅题面