Snowflake OA 2026 真題解析|3道 Hard Coding 全拆解

這套 Snowflake OA 是最近剛實測的一套,整體難度可以說在大廠 OA 裡屬於偏上水準。形式是 120 分鐘 3 道題,全部都是 mid+ 以上強度,而且題目都偏向演算法建模能力,而不是簡單套模板。三題幾乎都是需要完整思路 + 邊界處理 + 效能最佳化,節奏一慢就很容易被時間壓住。下面把這套真題結構完整拆一下。

1. String Patterns

題目簡介

給定單詞長度 wordLen 和允許的最大連續母音數 maxVowels,計算由英文字母(a-z)組成的合法單詞數量。母音為 {a,e,i,o,u}(共 5 個),子音為其餘 21 個字母。合法單詞指任意連續母音的數量不超過 maxVowels,結果需對 10⁹+7 取模。

String Patterns
String Patterns-2

解題思路

用動態規劃:dp[i][j] 表示長度 i、結尾連續 j 個母音的合法字串數。

  • 放子音:dp[i][0] = (前一長度所有狀態和) × 21
  • 放母音:dp[i][j] = dp[i-1][j-1] × 5(j ≤ maxVowels) 從 dp[0][0]=1 遞推到 wordLen,最後對所有 j 求和取模 10⁹+7。

2. Paint the ceiling

題目簡介

建築公司會按照一個遞推公式,生成一組邊長s,我們需要從這組邊長裡選兩個(可以選同一個,相當於正方形),分別當房屋的長和寬,要求這兩個邊長的乘積(也就是天花板面積)不能超過給定的a。最後要算出,一共有多少種這樣的合法選擇。

Paint the ceiling
Paint the ceiling-2

解題思路

首先根據根據題目提供的公式 s[i]=((k∗s[i−1]+b)modm)+1+s[i−1] 從 s[0] 開始生成長度集合 s,一共得到 n 個邊長;接著為了避免重複計算,可以對 s 去重並按升序排序。隨後問題轉化為在集合中統計所有滿足 x ≤ y 且 x × y ≤ a 的矩形組合數量。可以列舉每一個較小邊 x,然後在其右側尋找所有滿足面積限制的 y,並將符合條件的組合計入答案。也可以使用雙指標法。一個指標 left 從最小長度開始,另一個指標 right 從最大長度開始。如果 S[left]×S[right]≤aS[left]×S[right]≤a ,則對於當前的 left,所有從 left 到 right 的元素都滿足條件,然後 left 右移。否則 right 左移。

3. Task Scheduling

題目簡介

有兩個伺服器:付費伺服器(任務耗時 time[i],成本 cost[i])和免費伺服器(任務耗時 1,成本 0,但僅當付費伺服器被佔用時可用)。求完成所有任務的最小成本。

Task Scheduling
Task Scheduling-2

解題思路

這題的關鍵是理解免費伺服器的使用規則:只要付費伺服器在執行,免費伺服器就可以並行處理任務,而且每個免費任務只需 1 單位時間。因此,如果我們把某個任務放在付費伺服器上執行,它不僅完成了自己這個任務,還會產生 time[i] 個免費任務名額,相當於一次“覆蓋”了 time[i] + 1 個任務。問題就轉化為:選擇若干任務放在付費伺服器上,使得所有任務都被覆蓋(總覆蓋數 ≥ n),同時總 cost 最小。這本質上是一個 0/1 揹包問題,用 DP 求最小成本即可。

衝刺大廠 OA|真題資源 + 實戰輔助一站式支援

我們長期跟進北美大廠 OA 與 VO 實戰節奏,包括 Amazon、Google、Meta 等主流 tech 公司,積累了大量真實高頻題型與結構拆解經驗。如果你希望拿到更多最新大廠真題整理,提前熟悉真實 OA 的難度與題型分佈,在正式考試前進行高強度針對性模擬,或者在關鍵的 OA 階段獲得更穩的實戰輔助支援,都可以直接 聯絡我們 。提前對齊節奏,AC 就不會只是運氣問題。

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