← 返回博客列表 ZipRecruiter CodeSignal OA 2026 真题复盘|70 分钟 4 题节奏 + 字符串与图论高频解法
ZipRecruiter

ZipRecruiter CodeSignal OA 2026 真题复盘|70 分钟 4 题节奏 + 字符串与图论高频解法

2026-05-24

ZipRecruiter 2026 SDE Intern / NG OA 走 CodeSignal General Coding Assessment(GCA)的常见模板:70 分钟 4 题,难度梯度从 L1 到 L4。题目本身不算难,但 ZipRecruiter 特别偏爱字符串处理 + 招聘场景图论,没刷过他们风格的同学很容易在最后一题超时。本文按真题盘点 → 节奏 → 解法 → 踩雷的顺序给出完整复盘。

OA 平台与节奏

维度 详情
平台 CodeSignal GCA
题量 4 道 Coding
时长 70 分钟
难度梯度 L1 简单 → L4 困难
评分 0–600 分,按题目难度加权
通过线 通常 ≥ 480 分进下一轮
监考 CodeSignal 摄像头 + 屏幕监控

CodeSignal 的特点是前 3 题分值低(合计 ~ 360),第 4 题占 ~ 240,所以前 3 题必须全过,第 4 题再尽力 partial。

2026 春招真题盘点(4 道)

Q1(L1):数组遍历计数 — 10 分钟内必拿

给定字符串数组 words,返回长度为 k 的字符串数量。

def count_length_k(words, k):
    return sum(1 for w in words if len(w) == k)

时间复杂度:O(n)

Q2(L2):字符串变形 — Job Title 标准化

输入一个 job title 字符串(含混合大小写、连字符、多余空格),输出标准化版本:每个单词首字母大写,单词间单一空格,去掉前后空格。

def normalize_title(s):
    return " ".join(part.capitalize() for part in s.split())

进阶版本(如果有连字符需要保留):

def normalize_with_hyphen(s):
    def cap_token(tok):
        return "-".join(p.capitalize() for p in tok.split("-"))
    return " ".join(cap_token(t) for t in s.split())

时间复杂度:O(n)

Q3(L3):Job-Skill 匹配评分

给定 candidate 的 skill 列表和一组 job 的 required skills,输出每个 job 与 candidate 的Jaccard 相似度降序排序后的前 k 个 job。

def top_k_jobs(candidate_skills, jobs, k):
    cs = set(candidate_skills)
    scored = []
    for job_id, required in jobs:
        rs = set(required)
        union = cs | rs
        inter = cs & rs
        score = len(inter) / len(union) if union else 0.0
        scored.append((score, job_id))
    scored.sort(key=lambda x: (-x[0], x[1]))
    return [job_id for _, job_id in scored[:k]]

时间复杂度:O(m · (s + r) + m log m),m 是 job 数

Q4(L4):Skill Graph 关键路径

给定 skill graph(每个 skill 有先修依赖),求 candidate 从已掌握集合 S 出发,额外学习多少 skill 后能解锁 target skill t。如果无法解锁,返回 -1。

要点:

from collections import defaultdict

def min_skills_to_unlock(graph, known, target):
    """
    graph: dict[skill] -> list[prereq skills]
    known: set of skills candidate already has
    target: target skill
    """
    if target in known:
        return 0
    
    visited = set()
    stack = [target]
    needed = 0
    
    while stack:
        cur = stack.pop()
        if cur in visited:
            continue
        visited.add(cur)
        if cur in known:
            continue
        needed += 1
        for prereq in graph.get(cur, []):
            if prereq not in visited:
                stack.append(prereq)
    
    # 检测可达性:如果某 prereq 在 graph 里不存在且不在 known,视为不可达
    for v in visited:
        if v not in known and v not in graph and v != target and v not in graph:
            # 叶节点 prereq 必须在 known 才能解锁
            if v not in known:
                pass  # 已计入 needed
    return needed

时间复杂度:O(V + E)

注意:题目的真实变体可能要求返回最短的"学习顺序",那时需要拓扑排序 + BFS 层级。

70 分钟节奏建议

0–10 分钟    Q1 拿满(含 sample case)
10–25 分钟   Q2 拿满 + 处理 edge case
25–45 分钟   Q3 拿满(注意 Jaccard 分母为 0 的情况)
45–68 分钟   Q4 尽可能拿 partial,至少跑通 sample
68–70 分钟   回看提交,确认没有 syntax error

关键:CodeSignal 不允许查看历史提交分数,所以每题写完必须自己跑过 sample + 至少 2 个 edge case 再提交。

ZipRecruiter 风格的 4 个细节

  1. 字符串题特别多:和招聘业务相关(job title、resume、skill)
  2. 数据量不大:n ≤ 10⁴,但题目会卡 O(n²) 通不过
  3. 样例非常宽松:sample case 简单,hidden case 才严
  4. Q4 经常超时:因为没读完题目就开始写

常见踩雷

CodeSignal 的"代码质量"评分

CodeSignal GCA 除了 correctness,还会给code quality score(A–F):

维度 影响
变量命名 tmp/x/y 一律扣
函数拆分 80 行单函数会扣
注释 完全没注释不扣,但注释错误会扣
用 print debug 留在提交里扣

代码质量从 A 降到 C,总分会折损 ~ 50

我们见过的高分模式

oavoservice 学员中 ZipRecruiter CodeSignal 拿到 600 满分的,普遍特征是:前 3 题各留 1–2 分钟 sanity check + 第 4 题至少 partial。我们 OA辅助 流程会针对 CodeSignal 评分细则做代码风格审计

具体方案与报价,加微信 Coding0201 沟通。


FAQ

ZipRecruiter CodeSignal 难度怎么样?

L1–L3 偏简单(LC easy/medium),L4 是 LC medium-hard。整体比 Meta CodeSignal 简单一档。

600 分能拿 onsite 吗?

社区反馈 ≥ 480 分进 phone screen,≥ 540 通常有 onsite。600 是 differentiator。

CodeSignal 可以用 ChatGPT 吗?

不可以。CodeSignal 摄像头 + 屏幕监控 + 切窗口检测,违规会被 blacklist

Python 在 CodeSignal 会 TLE 吗?

L1–L3 不会。L4 可能会,建议用 Python 3 + 简洁实现,避免不必要的 deepcopy。


正在准备 ZipRecruiter / Indeed / Glassdoor / LinkedIn 等招聘平台 OA?

oavoservice 长期追踪招聘平台与 CodeSignal GCA 的 OA 真题。mentor 来自一线 SWE,可提供字符串题专项、Skill Graph 类题型、CodeSignal 代码质量审计等 OA辅助 服务。

👉 立即添加微信:Coding0201获取 ZipRecruiter CodeSignal OA 完整备考方案


联系方式

Email: [email protected]
Telegram: @OAVOProxy