很多人一開始刷 TSMC OA ,會有一個誤區:以為就是普通 LeetCode。但真上場才發現完全不是一回事。TSMC 的題很少“裸考演算法”,基本都會套一層業務背景,比如半導體制造、pods 排程、資源分配、系統連線這種,看起來像系統設計,實際上還是在考演算法基礎。但問題就在於——讀題更慢、資訊更多、坑也更多。
這篇我就把 2026 最新 臺積電 hackerrank OA 的套路給你拆開講清楚,如果你最近在準備 TSMC,不管是 NG 還是社招,這一篇基本能幫你把方向拉正。

TSMC OA 基本結構
時間:90 分鐘
題目數:3 題
平臺:HackerRank
難度:LeetCode Medium 為主 + 1 道偏 Hard
Question 1:大樓採光分析
給定二維網格 sunlight_map,1 表示有陽光,0 表示陰影。 求:
- 整體採光率(1 的數量 / 總格子數)
- 最大連續全 1 矩形面積
示例 sunlight_map = [[1,0,1,1], [1,1,1,1], [0,1,1,0], [1,1,1,1]]
輸出:
- Overall Sunlight Rate: 0.75
- Largest Unobstructed Rectangular Area: 6
解法思路
採光率:統計所有 1 的個數,除以總格子數。
最大全 1 矩形:使用直方圖最大矩形法
- 逐行處理,維護 heights[j](向上連續 1 的高度)
- grid[i][j]==1 時 heights[j] += 1,否則清零
- 對每行 heights 用單調棧計算最大矩形面積
- 更新全域性最大值
複雜度:O(m × n)
難度:Medium-Hard(TSMC 高頻)。
Question 2:Serving Pods 資料寫入
n 個 pods(1~n),m 條雙向連線形成連通區域(Connected Component)。每個 pod 初始 active。
查詢兩種型別:
- 1 podId:寫入資料 → pod active → 直接寫入 → pod inactive → 轉發到同區域內 ID 最小的 active pod → 無 active pod → 返回 -1
- 2 podId:pod 故障 → 變為 inactive(永久)
輸出:對所有 Type 1 查詢,按順序返回寫入的 pod ID 或 -1。
關鍵技巧:並查集(DSU) + 每個元件維護當前最小 active ID(用 set/優先佇列)。
難度:Medium-Hard(TSMC 高頻)。
Question 3:Software Modules 部署難度
n 個模組,難度陣列 difficulty[]。分配到 3 臺伺服器(每臺至少 1 個模組)。對每種分配,從三臺伺服器各選 1 個模組 d1、d2、d3,計算 |d1 – d2| + |d2 – d3|。找出所有分配方式中,“該最小差值”的最大值(maximize the minimum deployment difficulty)。
示例:difficulty = [1,10,5,9],某分配後最小差值可達 8,求所有分配中的最大此類值。
關鍵技巧:陣列排序 + 三分組列舉(DP / bitmask DP,n 較小)。
難度:Hard(類似 Goldman Sachs 分組最佳化題)。
想更穩地透過 TSMC OA 嗎?
如果你正在備戰臺積電 Online Assessment,時間緊張來不及系統刷題,或者對某些題型思路不夠清晰、擔心測試用例無法全部透過,可以瞭解一下 ProgramHelp 的專業支援。我們專注於 HackerRank、牛客網、CodeSignal 等平臺的演算法題輔助,針對 TSMC、Google、Meta 等大廠 OA 有豐富實戰經驗,能幫你理清思路、完善程式碼,確保所有測試用例順利透過。
備考路上不用獨自硬扛難題,合理藉助專業幫助,能讓你少走彎路,更穩妥地透過 OA,順利進入下一輪技術面試。有需要的同學可以直接私信 ProgramHelp 詳細諮詢。