TikTok 2026 OA 全解析:Codesignal 真題、Python AC 解法

作為專注於求職助攻的專業團隊,programhelp 近期跟蹤了多場 TikTok 校招及社招 OA 筆試,發現其考試形式已發生重大調整:平臺從原有的 HackerRank 全面遷移至 Codesignal,題型也從「5 選擇 + 2 程式設計」改為「70 分鐘 4 道純程式設計題」。目前一畝三分地等平臺鮮有最新原題分享,我們結合近期實戰經驗,整理了完整的真題解析、AC 解法及針對性輔導方案,助力求職者高效通關。

核心考试信息梳理

  1. 考試平臺:僅 Codesignal 網頁端,支援本地 IDE 編寫後貼上提交,提供程式碼高亮與執行除錯功能;
  2. 題型規則:4 道純程式設計題,無選擇題,70 分鐘作答時間,時間充裕,中等速度完成後仍有充足查錯時間;
  3. 題庫來源:不使用 TikTok 自研題庫,均抽取 Codesignal 平臺原生題目,無重複舊題,側重考察硬實力;
  4. 通过标准:题目难度整体为中等,无高难度 Hard 题,4 道题全部 AC(100% 通过率)是获取面试邀约的关键,仅通过 2-3 道则通过率大幅下降;
  5. 考點分佈:集中於陣列字串處理、模擬邏輯、雜湊表應用,無複雜 DP 或圖論題目,屬於透過系統訓練即可攻克的型別。

真題一:數字碎片拼接統計(高頻必考)

題目描述

給定正整數陣列 fragments(數字碎片)和目標數字 accessCode,統計滿足條件的有序下標對 (i, j)(i≠j)的數量,要求 str (fragments [i]) + str (fragments [j]) == str (accessCode)。

解題思路

本題最優解法為字串處理結合雜湊表,時間複雜度 O (n),避免暴力列舉導致超時:

  1. 型別轉換:將 accessCode 轉為字串 s,陣列中所有數字碎片均轉為字串形式;
  2. 頻次統計:利用 Counter 統計所有字串碎片的出現次數,便於快速查詢;
  3. 字首匹配:遍歷每個字串片段 a,判斷 s 是否以 a 為字首,若滿足則計算字尾 b = s [len (a):];
  4. 組合數計算:若 b 存在於統計結果中,分兩種情況計算:a≠b 時,組合數為 a 的頻次 ×b 的頻次;a==b 時,需滿足 i≠j,組合數為 a 的頻次 ×(a 的頻次 – 1);
  5. 結果累加:彙總所有符合條件的組合數,即為最終答案。

AC 滿分程式碼(Python,Codesignal 直接提交)

python

執行

from collections import Counter

def solution(fragments, accessCode):
    s = str(accessCode)
    str_frags = [str(num) for num in fragments]
    cnt = Counter(str_frags)
    res = 0
    for a in cnt:
        if s.startswith(a):
            b = s[len(a):]
            if b in cnt:
                if a != b:
                    res += cnt[a] * cnt[b]
                else:
                    res += cnt[a] * (cnt[a] - 1)
    return res

易錯點提醒

  1. 注意有序對要求,解法天然覆蓋 i 和 j 的順序差異,無需額外處理;
  2. 必須透過字串拼接判斷,不可直接進行數字運算,避免位數進位導致錯誤;
  3. 重點關注 a==b 的場景,遺漏 “頻次 – 1” 會導致答案偏小。

真題二:報紙排版(文字對齊 + 邊框模擬)

題目描述

給定單詞陣列、頁面寬度 width、對齊方式 alignment(left/right),按以下規則完成排版並返回完整頁面:

  1. 排版規則:按順序裝載單詞,單詞間至少保留 1 個空格,若加入下一個單詞會超寬則換行;
  2. 對齊規則:每行內容補齊空格至 width 長度,左對齊補尾部,右對齊補開頭;
  3. 邊框規則:每行首尾加豎線 |,頁面最上方和最下方加寬度為 width+2 的橫線 -。補充約束:單個單詞長度不超過 width,無排版困難。

解題思路

本題為純模擬題,核心在於邏輯拆解與細節處理,步驟如下:

  1. 分行處理:遍歷單詞,累計當前行單詞長度及所需空格數,判斷是否可加入下一個單詞,不可則處理當前行並換行;
  2. 對齊補齊:對每行單詞拼接後,計算所需補充空格數,按對齊方式完成空格填充;
  3. 邊框新增:為每行內容首尾加 |,生成上下橫線邊框,組合為最終頁面。

AC 滿分程式碼(Python,Codesignal 直接提交)

python

執行

def solution(words, width, alignment):
    lines = []
    current_line = []
    for word in words:
        current_len = sum(len(w) for w in current_line) + len(current_line) - 1 + len(word) if current_line else len(word)
        if current_len <= width:
            current_line.append(word)
        else:
            lines.append(' '.join(current_line))
            current_line = [word]
    if current_line:
        lines.append(' '.join(current_line))
    
    border_lines = []
    for line in lines:
        space_need = width - len(line)
        if alignment == 'left':
            aligned = line + ' ' * space_need
        else:
            aligned = ' ' * space_need + line
        border_lines.append(f'|{aligned}|')
    
    top_bottom_border = '-' * (width + 2)
    final = [top_bottom_border] + border_lines + [top_bottom_border]
    return '\n'.join(final)

易錯點提醒

  1. 分行計算時需包含單詞間的空格,否則會導致換行判斷錯誤;
  2. 空格補充需精確到 width 長度,避免邊框錯位;
  3. 遍歷結束後需處理最後一行未存入的單詞。

高頻補充真題

第一題:找所有 t[i] > t[i – 1] && t[i] > t[i + 1] 的數,然後返回這個陣列就行了,按題意模擬一遍

第二題:維護每個位置放了多少種不同的物品,返回物品數量最多的位置,需要用 map 套 set 來維護位置並且給物品去重,最後遍歷我們的 map 還有 set 的 size 大小就行了,記錄最大值

第三題:我們以每個 1 為起始點,按題目意思模擬,向左上右上左下右下拓展就行了,對應的每次 x y 座標的增量向量就是 (1, 1) (1, -1) (-1, -1), (-1, 1) 這四種,跑一遍就行了,注意只有走到邊界才計入答案當中

第四題:維護每個點被多少個 2 * 2 的矩陣覆蓋,如果建一個 n * m 的矩陣然後模擬肯定不行,因為 n m 大小的規模都是 1e5 的,但是由於每個點最多被覆蓋 4 次,並且 2 *2 矩陣的數量是有限的,我們直接用 map 來維護,維護每個點的狀態,這裡的話懶得再寫個 pair 插到 map 裡了,就直接寫個狀壓得了,由於 (x, y) 都是不超過 int 範圍的,所以我們可以用 x << 32 再或上 y 來得到這個點的狀態,然後在 map 裡對應點的計數++就好了,最後 0 的數量用總的算算就行

高效通關 TikTok OA?Programhelp 幫你一把!

面對 TikTok 校招/社招 OA,單靠刷題往往效率低、容易遺漏細節。Programhelp 提供 遠端無痕 OA 代寫與線上輔導服務,覆蓋 HackerRank、牛客網、Codesignal 等主流平臺。

  • OA 代寫:保證所有測試用例 100% 透過,不透過不收費;
  • AC 解法輔導:Python、Java、C++ 等語言均可,精準講解每題核心邏輯與易錯點;
  • 遠端無痕操作:完全安全,不影響賬號使用;
  • 個性化訓練:針對你的弱項定製刷題計劃,快速提升通關效率。

不再孤軍奮戰,Programhelp 讓你高效通關 TikTok OA,輕鬆邁向面試 Offer。

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