Microsoft OA 高頻真題分享|2026 最新題型趨勢 + 刷題策略

最近剛刷完 Microsoft 2026 SDE New Grad OA,一句話總結:2026年 Microsoft OA 依然是2題制,但難度和工程細節要求明顯提升。平臺主要是HackerRank(75-90分鐘),題型以Medium為主,偶爾出現Medium-Hard,越來越注重最佳化思維、邊界處理和程式碼穩定性。

我把2026年出現頻率最高的幾道真題整理出來,附核心思路和避坑建議,幫大家快速過關。

Microsoft OA 高頻真題分享|2026 最新題型趨勢 + 刷題策略

Microsoft OA 基本情況

平臺:HackerRank / Codility
題量:2 道
時間:75–90 分鐘(部分 Codility 110 分鐘)
難度:Medium 為主,偶爾 Medium-Hard

Microsoft OA 高頻真題-Programhelp整理

題目 1:合金最大生產數量

題目描述

一家鑄造廠使用 n 種不同的金屬生產合金。對於每種金屬:

  • composition[i] 表示生產 1 單位合金所需的該金屬數量
  • stock[i] 表示當前庫存中該金屬的數量
  • cost[i] 表示該金屬每單位的採購成本

給定有限的預算,計算在使用現有庫存、並在預算內採購補充的情況下,最多可以生產多少單位的合金。

示例

輸入:

n = 2

composition = [1, 2]

stock = [0, 1]

cost = [1, 1]

budget = 3

計算過程:

  • 生產 1 單位合金:
    • 需求:[1, 2]
    • 庫存:[0, 1]
    • 需採購:[1, 1]
    • 採購成本:1×1 + 1×1 = 2(在預算內)
  • 生產 2 單位合金:
    • 需求:[2, 4]
    • 庫存:[0, 1]
    • 需採購:[2, 3]
    • 採購成本:2×1 + 3×1 = 5(超出預算)

因此最多可生產 1 單位,答案為 1。

函式說明

完成函式 findMaximumAlloyUnits,引數如下:

  • int composition[n]:1 單位合金中各金屬的成分
  • int stock[n]:各金屬的當前庫存
  • int cost[n]:各金屬的單位採購成本
  • int budget:總預算

返回:最多可生產的合金單位數

題目 2:最大團隊規模

題目描述

給定 n 名員工,startTime[i] 表示第 i 名員工的上班時間,endTime[i] 表示第 i 名員工的下班時間。

第 i 名員工和第 j 名員工可以互動,當且僅當他們的工作時間重疊。

一個團隊的成立條件是:團隊中至少有一名員工可以和團隊內其他所有員工互動。

求满足条件的最大团队规模。

示例 1

輸入:

n = 5

startTime = [1, 6, 4, 3, 1]

endTime = [2, 7, 5, 8, 2]

分析:

团队 [1,2,3] 中,员工 3 可以和其他两名员工互动,因此团队规模 3 是可行的,无法组成更大的团队,答案为 3。

示例 2

輸入:

n = 4

startTime = [2, 5, 6, 8]

endTime = [5, 6, 10, 9]

分析:

团队 [0,1,2] 中员工 1 可与其他两人互动,团队 [1,2,3] 中员工 2 可与其他两人互动,最大规模为 3,答案为 3。

函式說明

完成函式 getMaximumTeamSize,引數如下:

  • int startTime[n]:员工上班时间数组
  • int endTime[n]:员工下班时间数组

返回:最大可能的团队规模

约束:1 ≤ n ≤ 2×10⁵,1 ≤ startTime [i] ≤ endTime [i] ≤ 10⁹

题目 3:Dominating XOR

題目描述

给定一个包含 n 个正整数的数组 arr,统计满足以下条件的无序对 (i,j)(0 ≤ i < j < n)的数量:

arr[i] XOR arr[j] > arr[i] AND arr[j]

其中 XOR 表示按位异或运算,AND 表示按位与运算。

示例

输入:n = 4,arr = [4, 3, 5, 2]

所有无序对计算如下:

表格

索引对 XOR 结果 AND 结果 XOR > AND
(0,1) 7 0 True
(0,2) 1 4 False
(0,3) 6 0 True
(1,2) 6 1 True
(1,3) 1 2 False
(2,3) 7 0 True

满足条件的对共 4 个,因此返回 4。

函式說明

完成函式 dominatingXorPairs,参数为数组 arr,返回满足条件的无序对数量。

约束:1 ≤ n ≤ 10⁵,0 ≤ arr [i] ≤ n

题目 4:最大可能 MEX

題目描述

给定一个包含 n 个非负整数的数组 arr,你可以对数组中的任意元素执行任意次操作:将元素的值减少 1(不能减为负数)。

数组的 MEX 定义为:数组中未出现的最小非负整数。

求通过上述操作后,数组能达到的最大可能 MEX。

示例

输入:n = 3,arr = [3, 2, 3]

最优操作:

  • 将 arr [0] 减为 0
  • 将 arr [1] 减为 1
  • 将 arr [2] 减为 2

操作后数组为 [0,1,2],MEX 为 3,这是最大可能值,因此返回 3。

函式說明

完成函式 getMaximumMEX,参数为数组 arr,返回最大可能的 MEX。

约束:1 ≤ n ≤ 10⁵,0 ≤ arr [i] ≤ n

Microsoft OA通过后,通常会进入 VO环节(Coding + System Design + Behavioral),整体流程相对规范。

Microsoft OA 2026 备考交流 & 后续建议

如果你正在准备Microsoft SDE / Intern / New Grad 2026 OA,欢迎私信:

  • 想看某道题的详细Python/Java完整代码?
  • 需要更多变体或Debug题模板?
  • 想了解Microsoft后续面试(Leadership Principles、System Design)经验?
  • 想了解Programhelp帮助千万学员通关的 无痕OA助攻 方案?

祝大家2026 Microsoft OA顺利通过,早日拿到心仪Offer!保持稳定输出,加油冲刺~

author avatar
Jory Wang Amazon資深軟體開發工程師
Amazon 資深工程師,專注 基礎設施核心系統研發,在系統可擴充套件性、可靠性及成本最佳化方面具備豐富實戰經驗。 目前聚焦 FAANG SDE 面試輔導,一年內助力 30+ 位候選人成功斬獲 L5 / L6 Offer。
END
 0