Meta 的 OA 一直是北美大廠里出了名的“卡時間+重邏輯”,這次的版本也不例外。
我這輪做的是 4 道題 / 45 分鐘,整體難度中上,但題型非常“Meta 風”——注重代碼思維的流暢性和邊界細節,而不是純演算法捲度。
我這次四題都順利 AC,整個體驗既緊張又爽。 下面是完整復盤,包括題目、思路、時間節奏和總結。

題目 + 思路詳解
T1: Dynamic Rating Tracker
You are given a list of rating changes for a website.
The initial rating is 1500. After applying all changes, return both the final rating and the highest rating ever achieved.
題意:模擬網站評分變化的過程。 每個數位代表一次分數變化(可能為正或負),要求輸出最終分數和歷史最高分。
思路:
初始化 cur = 1500,max_rating = 1500。 遍曆變動陣列:
- 更新當前分數
cur += delta - 若
cur > max_rating,更新最高分
返回[final_rating, max_rating]。
注意點:
- 若所有變化為負,最高分仍為 1500
- 返回格式按題意要求
複雜度:O(n) 時間,O(1) 空間。
T2: Bus Schedule Time Gap
Given a list of bus departure times (in HH:MM format) and a current time, return how many minutes have passed since the last bus departed. If no bus hasdeparted yet, return -1.
題意:輸入公交發車時程表和當前時間,計算上一次發車距今多少分鐘。
思路:
將所有時間轉換為分鐘數(例如 “08:30” → 510)。
然后:
- 當前時間同樣轉換為分鐘數。
- 找出所有 ≤ 當前時間的發車時刻。
- 若存在,取最大值,返回差值; 若無,返回 -1。
注意點:
- 當前時間與發車時間相等時返回 0
- 未排序輸入需先排序
- 確保結果非負
复杂度:O(n log n) 若排序,否则 O(n)。
T3: Zigzag Subarray Count
Count the number of contiguous subarrays where adjacent elements alternate between even and odd numbers.
题意:统计数组中奇偶交替的连续子数组数量。
思路:
使用变量 count 记录以当前元素结尾的锯齿序列长度。遍历数组:
- 若当前元素与前一个元素奇偶性不同,
count += 1 - 否則
count = 1
每步累加count到total。
注意點:
- 长度为 2 的子数组也计数
- 注意边界,防止数组越界
複雜度:O(n) 時間,O(1) 空間。
T4: Memory Allocator
Implement a memory allocator that supports two operations:
- Allocate memory (aligned to 8 bytes).
- Free memory by ID.
If allocation or freeing fails, return -1.
題意:實現一個簡化版的記憶體管理器。
思路:
用一維數位類比記憶體空間(0 為空閒,1 為佔用),並維護哈希表 alloc_map:alloc_map[id] = [start, size]
分配:
- 遍歷記憶體,找第一個連續空閒且按 8 位元組對齊的塊。
- 若成功,標記並返回起始位址,否則返回 -1。
释放:
- 若 ID 存在,清空對應區域,刪除記錄; 否則返回 -1。
注意點:
- 8 位元組對齊:
start % 8 == 0 - 重複釋放需判定
- 分配不足需返回 -1
复杂度:Allocate 为 O(n),Free 为 O(1)。
二、整體體驗總結
Meta OA 的四題風格非常工程化,不考難演算法,但考察代碼實現能力、思維邏輯和邊界控制。
我這次的節奏大致如下:
- 前兩題平均 7 分鐘
- 第三題約 10 分鐘
- 最後一題 18 分鐘(邊寫邊調試)
整體通過率關鍵點在於:
- 題型熟悉度:這類題多練 LeetCode 類比與設計類題有説明。
- 邊界防錯:注意空輸入、單元素、格式化輸出。
- 時間管理:每題不要超過 12 分鐘。
三、學員背景
這位學員來自美東計算機碩士項目,平時刷題基礎不錯,但之前幾次 OA 都因細節錯誤被卡 hidden case。
這次在 Programhelp 的遠端語音助攻下通過了線上面試。
四、FAQ 常見問題
Q1:Meta OA 是偏演算法還是偏實現?
A:偏實現。 更多是考察邏輯清晰度、邊界控制和工程習慣,而不是純演算法難度。
Q2:能跳过题直接做下一题吗?
A:可以,但建議快速流覽所有題,優先保證能秒思路的題拿下。
Q3:代碼語言有限制嗎?
A:Meta 支援主流語言(Python、C++、Java、JS),Python 表達效率最高,但要注意時間複雜度。
Q4:測試樣例會卡格式嗎?
A:會。 輸出格式、大小寫、返回類型錯誤都算 Wrong Answer。 建議提前準備好輸入輸出範本。
Q5:Programhelp 能提供哪些協助?
A:我們提供遠端無痕語音助攻,包括:即時節奏提示、邊界提醒、調試策略等,説明考生在限定時間內高效完成。
還在為秋招苦惱嗎
許多同學在準備 Meta、Google、Amazon、Stripe 等大廠 OA 時,常常因為時間壓力或邊界問題導致 AC 不全。
Programhelp 提供全程無痕遠端助攻服務,涵蓋:
- OA 實戰陪練(HackerRank / Codility / Codesignal 全平台)
- 實時語音提示 + Debug 節奏引導
- 類比 VO 與系統設計答題結構訓練
- 行為面試(Behavioral)與技術問答同步輔導
目前團隊已協助學員成功通過 Meta、Citadel、TikTok、Stripe、Amazon 等公司筆試與面試。
若你也想在 2025 秋招順利上岸,可瞭解 Programhelp 的一站式助攻方案。