剛做完 TikTok 2026 Intern 的 OA,這一場整體體驗非常順。題目看起來字很多,但真正理解之後,四道題 50 分鐘是完全夠用的。這場我基本是按題序一路寫完,中途沒有卡太久,最後還留了時間整體檢查一遍,最終一次過。
OA 基本情況
平臺是 CodeSignal。一共四道題,限時 50 分鐘。
整體感覺是 TikTok 這套 OA 並不依賴他們自己的老題庫,而是更偏 CodeSignal 原生風格。題面描述偏長,但核心邏輯都不繞,只要思路清楚,實現速度會非常快。
四道題思路分享
T1:評分 / 價格最大值

给你两个数组,一个表示商品评分,一个表示商品价格。要求找出评分除以价格最大的商品,如果有多个,返回索引最小的那个。做法很直接,一次 for 循环遍历所有商品即可。为了避免使用 double 带来的精度问题,可以在比较时把不等式左右同时乘以分母,用整数比较。这题本质就是线性扫描,谁先想清楚比较方式,谁就能很快写完。
T2:借車走到終點
從 0 出發走到終點,路上有多輛車。每輛車最多可以帶你走 10 米,你走到車的位置就可以使用它,問最終在車上行駛的總距離是多少。
我的做法是先把所有车的位置排序,然后贪心处理。每次遇到一辆可以使用的车,就把行驶终点设为 min(finish, x + 10)。需要注意的是,只有当车的位置不小于当前所在位置时,这辆车才能被使用。只要当前已经到达终点,就可以直接结束。
T3:電池輪換使用問題

你需要使用手機 t 分鐘,手上有 n 塊電池,每塊電池的容量和充電速度都不同。電池沒電後可以充電,問最少需要多少塊初始滿電的電池,才能支撐用完這 t 分鐘。
这道题核心是模拟整个使用过程。按顺序使用电池,记录每一块电池什么时候可以充满电。每次需要换电池时,去找当前时间点已经充满的下一块电池。如果在某个时间点找不到可用的满电电池,说明无法完成任务,直接返回失败。
T4:動態維護最長連續區間
題目會動態地新增位置點。每新增一個點,都需要返回當前最長的連續段長度。
这题用哈希表来维护每个连续段的左右端点长度即可。每次插入新位置时,检查左右相邻的位置是否存在,如果存在就合并区间,同时更新新区间的长度。整个过程中维护一个全局最大值即可。
總結
这套 TikTok OA 的特点非常明显:题面长,但逻辑清晰;不靠记题库,更考思路和实现速度。
如果你平時對 CodeSignal 題型比較熟,四道題在 50 分鐘內寫完是完全可行的。重點還是前期想清楚,再動手寫,後面才能留出時間做整體檢查。
關於 OA 的一些現實經驗
其实做到后面会发现,像 TikTok 这种 50 分钟 4 题的 OA,考的从来不只是你会不会,而是:时间压不压得住、思路能不能一次到位、有没有容错空间。
如果你正在準備大廠 OA / Intern / New Grad 筆試,但遇到過下面這些情況,其實都很正常:
- 題不算難,但時間不夠
- 思路是對的,最後幾個 test case 老是不過
- 平時會寫,線上評測一緊張就容易出 bug
我這邊後來接觸到的是 OA 代寫 / 大厂笔试 / HackerRank 包过的专业在线评测服务,覆盖常见平台包括 HackerRank、牛客网、CodeSignal 等。整体模式是通过远程控制实现无痕操作,在不影响账号安全的前提下完成 OA。服务标准也比较明确:
所有測試用例 100% 透過才算完成,不透過不收費。