← 返回博客列表
TikTok

TikTok CodeSignal OA 真題複盤:最後兩題完整解析(70min 限時)

2026-03-29

TikTok CodeSignal OA 總共 70 分鐘,本文分享第 3、第 4 題的完整複盤。前兩題為熱身題,後兩題才是真正的區分度所在。以下附真實截圖 + 滿分思路。


考試概況

項目 詳情
平台 CodeSignal
總時長 70 分鐘
題數 4 道
本文覆蓋 Q3 + Q4(最後兩題)
崗位 SWE / Backend

Q3:真題截圖

![TikTok CodeSignal OA Q3](/images/tiktok/image copy 3.png)

題目核心

給定一個字串陣列或整數序列,需要根據特定規則進行分組統計區間合併,找出滿足條件的最優解。CodeSignal 第 3 題通常考察:

解題思路

第一步:理解約束

仔細閱讀題目,識別核心約束條件。去掉故事包裝後,大多數 Medium 難度的 Q3 都能歸結為已知的演算法模式。

第二步:暴力解法 → 優化

先想清楚暴力解法的時間複雜度,再思考如何用哈希表或雙指針優化到 O(n) 或 O(n log n)。

第三步:處理邊界

滿分解法框架

def solution(arr):
    from collections import defaultdict

    count = defaultdict(int)
    result = 0

    for val in arr:
        # 先查詢歷史狀態,再更新
        result += count[val]
        count[val] += 1

    return result

時間複雜度: O(n)
空間複雜度: O(n)

核心思路對照表

考點 技巧 適用場景
配對統計 HashMap 一次遍歷 Two Sum 變種
區間合併 排序 + 線性掃描 重疊區間
字串匹配 滑動視窗 + Set 無重複子串
前綴統計 前綴和 + HashMap 子陣列和

Q4:真題截圖

![TikTok CodeSignal OA Q4](/images/tiktok/image copy 4.png)

題目核心

最後一題通常是難度最高的圖論 / 狀態機 / 複雜模擬題,需要綜合運用多種演算法技巧。常見考點:

解題思路

分析狀態空間

  1. 明確「狀態」是什麼——當前位置、已訪問節點、剩餘資源等
  2. 明確「轉移」規則——每一步如何從一個狀態到另一個狀態
  3. 明確「終止條件」——成功、失敗、循環三種情況

多種終止條件處理模板

def solution(n, m, obstacles, teleports):
    obstacle_set = set(map(tuple, obstacles))
    teleport_map = {(t[0], t[1]): (t[2], t[3]) for t in teleports}

    row, col = 0, 0
    visited = set()
    steps = 0

    while True:
        state = (row, col)

        # 1. 循環檢測(必須最先判斷)
        if state in visited:
            return -2  # 無限循環
        visited.add(state)

        # 2. 障礙物檢測
        if state in obstacle_set:
            return -1  # 被障礙物阻擋

        steps += 1

        # 3. 終點檢測
        if row == n - 1 and col == m - 1:
            return steps  # 成功到達

        # 4. 傳送門處理
        if state in teleport_map:
            row, col = teleport_map[state]
            continue

        # 5. 常規移動(向右)
        col += 1

        # 6. 邊界檢測
        if col >= m:
            return -3  # 越界,無法到達

    return -3

時間複雜度: O(n × m)(每個格子最多訪問一次)
空間複雜度: O(n × m)(visited 集合)

Q4 臨場應對策略

當 Q4 看起來很複雜時:

  1. 先列出所有終止條件,把 -1、-2、-3、正常返回值寫在注釋裡
  2. 畫出小例子,手動模擬 2-3 步
  3. 從最簡單的情況開始寫,先跑通 basic test,再處理 edge case
  4. 循環檢測必做:visited set 是標配

兩題核心思路對比

題目 核心技巧 時間複雜度 空間複雜度 難度
Q3 HashMap + 一次遍歷 O(n) O(n) Medium
Q4 狀態機 + 循環檢測 O(n×m) O(n×m) Hard

常見思維誤區

題目 誤區 正確方向
Q3 暴力雙層迴圈 O(n²) HashMap 一次遍歷 O(n)
Q3 忽略負數 / 零的邊界 提前檢查輸入範圍
Q4 忘記循環檢測 visited set 必須加
Q4 終止條件順序寫錯 先檢測循環,再檢測障礙,再檢測終點

TikTok OA 應試策略

CodeSignal 平台特點

時間分配建議

題目 建議時間 策略
Q1 5-8 min 快速 AC,不要卡
Q2 8-12 min 注意邊界
Q3 20-25 min 先想清楚再寫
Q4 25-30 min 先寫終止條件框架

相關 LeetCode 練習

題號 題目 對應考點
1 Two Sum Q3 HashMap
560 Subarray Sum Equals K Q3 前綴和
542 01 Matrix Q4 BFS
200 Number of Islands Q4 圖遍歷
289 Game of Life Q4 狀態機模擬

🚀 需要 TikTok OA 輔助?

oavoservice 專注北美大廠 OA/VO 全程輔助,TikTok CodeSignal OA 是我們的核心服務場景,題庫覆蓋率極高。

立即添加微信:Coding0201

獲取:

📱 微信:Coding0201 | 💬 Telegram:@OAVOProxy | 📧 [email protected]


聯繫方式

Email: [email protected]
Telegram: @OAVOProxy