← 返回部落格列表 CodeSignal GCA 首輪篩選通關指南
CodeSignal

CodeSignal GCA 首輪篩選通關指南

2026-07-16

在北美找 SDE 工作,幾乎每個人都會撞上 CodeSignal OA。越來越多公司把它當作第一輪篩選——Roblox、Databricks、DoorDash、Robinhood,再加上一大批快速擴張的新創公司。它和你平時刷 LeetCode 最大的差別在於:CodeSignal 是一套資料驅動的標準化測評,很多公司用的是 GCA(General Coding Assessment),而且是按分數而非單純的通過/不通過來決定你能否進下一輪。

本文幫你把 GCA 這道首輪門檻拆清楚:題目結構、計分邏輯、高頻考點,一道可直接執行的代表性題解,以及一套能讓你穩定發揮的備考路線。


一、GCA 結構速覽

GCA 通常是 4 題 / 約 70 分鐘,難度遞增,總分約 850+。評分不只看對錯,還看速度程式碼的乾淨穩定程度——寫得越快、邊界越穩,分數越高。

題號 難度 典型題型 建議時間預算
Q1 入門 陣列/字串基礎走訪 3–8 min
Q2 簡單-中等 實作題 / 模擬 10–15 min
Q3 中等 主流演算法(滑動視窗、圖、DP 入門) 20–30 min
Q4 困難 DP / 圖 / 最佳化建模 20–30 min

關鍵認知:GCA 是「滿分制 + 分數排序」。Q1/Q2 要又快又穩地拿滿,把時間省下來砸在 Q3/Q4 上;Q4 就算寫不完,能拿到的部分分也常常是拉開差距的關鍵。


二、哪些公司用 GCA,哪些用自訂 OA?

CodeSignal 的用法大致分兩類:一類直接用標準化的 GCA(分數可跨公司複用,即 Certified Assessment);另一類是公司自己出題的 Custom CodeSignal OA(題目貼合自家業務)。

公司 類型
Databricks GCA
Uber GCA
Robinhood GCA
Asana GCA
Brex GCA
Ramp Custom OA
Two Sigma Custom OA
Opendoor Custom OA
Cruise Custom OA
Square Custom OA

分清這兩類很重要:GCA 分數常可複用——一次好成績可能同時打開多家公司的下一輪;而 Custom OA 更貼業務語境,需要針對該公司單獨準備題型。


三、代表性題解:滑動視窗(Q3 級)

GCA 的 Q3 常見的一類是滑動視窗。下面這道是典型變體,給出完整可執行的 Python 解法。

3.1 題目

給定一個整數陣列 nums 和整數 k,找出長度恰好為 k 的連續子陣列中,和的最大值。若陣列長度小於 k,回傳 None

3.2 思路

  1. 先算出前 k 個元素的和,作為初始視窗。
  2. 視窗每向右滑動一格:加上新進入的元素、減去滑出的元素,得到新視窗和,O(1) 更新。
  3. 全程維護最大值。整體一次走訪,O(n)。

3.3 Python 解法

from typing import List, Optional


def max_subarray_sum_k(nums: List[int], k: int) -> Optional[int]:
    """回傳長度恰好為 k 的連續子陣列的最大和;長度不足回傳 None。"""
    n = len(nums)
    if k <= 0 or k > n:
        return None

    # 初始視窗:前 k 個元素之和
    window = sum(nums[:k])
    best = window

    # 視窗右滑:加右端、減左端,O(1) 更新
    for i in range(k, n):
        window += nums[i] - nums[i - k]
        if window > best:
            best = window

    return best


if __name__ == "__main__":
    print(max_subarray_sum_k([2, 1, 5, 1, 3, 2], 3))  # 9  (5+1+3)
    print(max_subarray_sum_k([-1, -2, -3, -4], 2))     # -3 (-1+-2)
    print(max_subarray_sum_k([4, 4], 3))               # None

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

GCA 評分偏愛這種「一次走訪 + 常數空間」的寫法:既跑得快,隱藏測資也不容易逾時——正是評分模型裡「速度 + 穩定」兩項都能拿分的答法。


四、高頻考點清單

考點 出現位置 備考重點
陣列滑動視窗 Q2–Q3 定長/變長視窗、O(1) 更新
字串切分/解析 Q1–Q2 split、雙指標、格式還原
模擬 / 排列 Q2 嚴格照題意逐步執行,別自作聰明
圖(BFS/DFS/併查集) Q3–Q4 建圖、連通分量、最短路
動態規劃 Q4 狀態定義、轉移方程、邊界初始化

五、備考策略:把 GCA 當成一場「節奏賽」

  1. 先吃透計分模型。GCA 看的是分數與速度,不是「做出來就好」。練習時給自己嚴格計時,模擬 70 分鐘 4 題的真實壓力。
  2. 重點攻 Q3/Q4 題型。Q1/Q2 靠熟練度拿滿,真正拉開分差的是中後段。集中練滑動視窗、圖、DP 三大塊。
  3. 多做整套限時模擬。適應格式與節奏,比零散刷題更有效——讓「讀題→定難度→分配時間→自測」成為肌肉記憶。
  4. 借助端到端陪練。我們的 OA輔助 / OA代面 服務提供題型預測、完整解法拆解與即時陪練/協作輔導:幫你熟悉 GCA 的平台機制與評分口徑,進考場前心裡有底、發揮更穩。這是一套從複盤到實戰的端到端教練式輔導,目標是讓你把已有實力完整、穩定地打出來。

70 分鐘節奏參考

階段 用時 動作
0–3 min 通讀 4 題 排難度、定順序
3–18 min Q1 + Q2 拿滿分、跑一組自測
18–45 min Q3 寫完 + 至少 1 組邊界自測
45–65 min Q4 先拿部分分,能最佳化再最佳化
65–70 min 回查 複查邊界與隱藏測資

FAQ

Q1:GCA 分數多少算高?

總分約 850+。學員回饋裡,600 分以上通常能覆蓋多數公司的下一輪門檻,700+ 屬於有競爭力的區間。不同公司門檻不同,頭部公司會更高。核心是把 Q1–Q3 穩穩拿下、Q4 盡量拿部分分。

Q2:GCA 和 LeetCode 刷題有什麼區別?

LeetCode 是單題練習,通過即算過;GCA 是標準化測評,按分數排序,還額外看速度和程式碼穩定性。所以光會做題不夠,還要練「限時把題又快又穩地寫出來」,這也是模擬練習的價值所在。

Q3:哪些公司用 GCA?

Databricks、Uber、Robinhood、Asana、Brex 等常用標準化 GCA;而 Ramp、Two Sigma、Opendoor、Cruise、Square 等更多用自訂 CodeSignal OA。投遞前建議先確認對方用的是哪一類,再針對性準備。

Q4:GCA 分數可以複用嗎?

GCA(Certified Assessment)的一大優勢就是一次成績、多家複用——一個好分數常能同時解鎖多家公司的後續流程。這也是為什麼值得認真準備一次、爭取一個高分。

Q5:GCA 之後是什麼流程?

通常是 Recruiter Chat → 技術面(VO)→ Onsite。如果你擔心後續 VO 環節,我們的 OA輔助 / OA代面 與 VO 陪練可以做整段流程的即時協作輔導,幫你在每一輪都穩定發揮。


正在準備 CodeSignal GCA 首輪篩選? 我們提供當週高頻題型預測、完整解法拆解與 70 分鐘限時模擬,幫你把實力穩定打出來。

立即加入微信 Coding0201取得 GCA 備考方案

聯絡方式