Microsoft 面經 |2026 最新 OA 真實情況記錄與透過關鍵點覆盤

986Views

這篇 Microsoft 面經 並不是傳統意義上的“題目彙總”,而是 ProgramHelp 在最近一段時間裡,連續協助多位同學完成 Microsoft Online Assessment 後,整理出來的一份真實觀察記錄。

有意思的是,這一輪微軟 OA 並沒有明顯提升演算法難度,但透過率卻並不高。
問題不在“會不會做題”,而在是否理解微軟真正想透過 OA 判斷什麼。

Microsoft OA流程回顧

從 ProgramHelp 近期協助的多批 Microsoft Online Assessment 來看,微軟 OA 的整體形態相對穩定,但對細節的要求一直被低估。

微軟 OA 並不是一場比誰演算法更難的測試,而是一輪非常典型的“基礎能力 + 穩定度篩選”。

OA 的基本形式

在大多數軟體類崗位(SDE / New Grad / Intern)中,微軟 OA 通常具備以下特徵:

  • 線上完成,不允許使用本地 IDE
  • 總時長一般在 75–90 分鐘區間
  • 題目以 2–3 道程式設計題為主
  • 個別批次會夾雜少量邏輯或數學思維題

整體節奏偏緊,但並不追求極限速度,而是要求在有限時間內交付可執行解法。

題型分佈

根據這次以及往屆同學反饋,題型主要分佈:

  • String processing 佔大頭
    • 常見考點:consecutive characters、palindrome、lexicographic order。
    • 本質就是對字串掃描、分段、比較,難度中等,但細節多。
  • Array & Graph 基礎題
    • 偏向常規演算法,比如 array manipulation、BFS/DFS。
    • 不會出太怪的題,主要看基本功紮實不紮實。
  • 經典 patterns 高頻考
    • Two Sum 系列
    • Sliding Window
    • Greedy choice(interval/substring 型別)
    • 動態規劃偶爾會考,但一般不深。
Microsoft 面經 |2026 最新 OA 真實情況記錄與透過關鍵點覆盤

Microsoft OA 真题分享

I. Programming Problems (2 Questions)

Programming Problem 1: Longest Valid Parentheses

Problem Description

Given a string containing only ‘(‘ and ‘)’, find the length of the longest valid (well-formed)parentheses substring. A valid parentheses substring must have properly paired and nested parentheses. For example, “()()” and “(())” are valid parentheses substrings, while “())” and “(()” are invalid.

Examples

  • Example 1: Input: s = “(()”, Output: 2. Explanation: The longest valid parentheses substring is “()”, with a length of 2.
  • Example 2: Input: s = “)()())”, Output: 4. Explanation: The longest valid parentheses substring is “()()”, with a length of 4.
  • Example 3: Input: s = “”, Output: 0.

Requirements

  • Time complexity must not exceed O(n) (where n is the length of the string).
  • Space complexity must not exceed O(n).

Programming Problem 2: Task Scheduler

Problem Description

Given a character array representing tasks that a CPU needs to execute. Each letter represents a different type of task. Tasks can be executed in any order,and each task takes 1 unit of time to complete. At any unit of time, the CPU can either execute a task or be in an idle state.

There must be a cooldown period of integer length n between two tasks of the same type. That is, there must be at least n consecutive units of time where the CPU is either executing a different task or in an idle state.

Calculate the minimum time required to complete all tasks.

Examples

  • Example 1: Input: tasks = [“A”,”A”,”A”,”B”,”B”,”B”], n = 2, Output: 8. Explanation: One possible execution order is A -> B -> (Idle) -> A -> B -> (Idle) -> A -> B, with a total time of 8 units.
  • Example 2: Input: tasks = [“A”,”A”,”A”,”B”,”B”,”B”], n = 0, Output: 6. Explanation: There is no cooldown period, so all tasks can be executed in sequence directly, with a total time of 6 units.
  • Example 3: Input: tasks = [“A”,”A”,”A”,”A”,”A”,”A”,”B”,”C”,”D”,”E”,”F”,”G”], n = 2, Output: 16. Explanation: One possible execution order is A -> B -> C -> A -> D -> E -> A -> F -> G -> A -> (Idle) -> (Idle) -> A -> (Idle) -> (Idle) -> A, with a total time of 16 units.

Requirements

  • Time complexity must not exceed O(m) (where m is the length of the task list).
  • Space complexity must not exceed O(26) (since tasks only consist of 26 uppercase English letters).

II. Logical/Mathematical Mini-Questions (5 Questions)

Mini-Question 1: Logical Reasoning

A Microsoft team has three engineers: Jia, Yi, and Bing, each responsible for one of three areas: Frontend, Backend, and Algorithms. The following information is known:

  1. Jia is not responsible for Frontend;
  2. Yi is not responsible for Backend;
  3. The engineer in charge of Algorithms and the engineer in charge of Frontend are colleagues and have different genders (assuming the three have different genders, and Jia is male).

Which area is Bing responsible for?

A. Frontend B. Backend C. Algorithms D. Cannot be determined

Mini-Question 2: Mathematical Calculation

There is a positive integer array with all distinct elements. When each element in the array is multiplied by 2, the number of elements in the intersection of the new array and the original array is half the length of the original array, and the length of the original array is even. It is known that the smallest element in the original array is 1 and the largest is 10. What could be the length of the original array?

A. 2 B. 4 C. 6 D. 8

Mini-Question 3: Probability Problem

A bag contains 5 red balls and 3 white balls. One ball is randomly drawn from the bag each time, and the ball is not put back after drawing. Two balls are drawn consecutively. What is the probability that the first ball drawn is red and the second is white?

A. 15/56 B. 15/28 C. 5/14 D. 3/14

Mini-Question 4: Logical Thinking

In a software development project, four modules (A, B, C, D) need to be completed, with dependency relationships between the modules as follows:

  • Module B can only start after Module A is completed;
  • Module D can only start after both Modules B and C are completed;
  • Module C can start at any time (no pre-dependencies).

If the development time for each module is 2 days, and only one module can be developed at a time, what is the minimum time required to complete all modules?

A. 6 B. 8 C. 10 D. 12

Mini-Question 5: Mathematical Analysis

It is known that the three sides of a right-angled triangle are all integers, and the length of one of the right-angled sides is 12. What is the maximum possible perimeter of this right-angled triangle?
A. 84 B. 90 C. 96 D. 102

不在孤軍奮戰:帶你輕鬆通關微軟OA

微軟的 OA 看似套路,其實細節和陷阱不少。很多同學卡在邊界條件或者時間分配,一不小心就影響整體表現。其實只要方向正確,OA 完全是可以“拿捏”的一關。

如果你不想一個人硬扛,Programhelp 可以給到實時的OA遠端無痕助攻:

實時語音提醒,遇到卡點直接點撥思路;

聯機代寫支援,程式碼細節全程無痕銜接;

提前 mock 練習,模擬真實考試節奏。

有了助攻,不僅能節省時間,還能把握住微軟這類高重複率的 OA。

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