← 返回部落格列表 ZipRecruiter OA 真題面經|技能圖推薦 + 字串匹配 VO代面與 VO輔助指南
ZipRecruiter

ZipRecruiter OA 真題面經|技能圖推薦 + 字串匹配 VO代面與 VO輔助指南

2026-05-20

ZipRecruiter 是美國老牌招聘平台,平台核心業務是把求職者與雇主精準匹配。這種業務模型決定了它的 OA 題型——字串匹配、技能圖推薦、求職者排序 幾乎是固定三大塊。本文按一畝三分地 + Glassdoor 最近高頻面經做主題整理,並補充 VO代面 / VO輔助 實作準備路徑。

ZipRecruiter OA 概覽

維度 詳情
平台 CodeSignal / HackerRank(按職位不同)
時長 70-90 分鐘
題量 3-4 道(含 1 道開放設計)
難度 LC Easy-Medium,重邊界
重點 字串、圖、堆、推薦排序

題型一:字串模糊匹配

代表題:候選人技能匹配

輸入:

要求回傳每個 resume 與 query 的「匹配分數」,定義為:query 中出現在 resume 裡(忽略大小寫、允許 1 字元編輯距離)的 keyword 數量。

def fuzzy_match_count(query, resume):
    tokens = set(t.lower() for t in resume.split())
    hits = 0
    for kw in query:
        kw_low = kw.lower()
        if kw_low in tokens:
            hits += 1
            continue
        for t in tokens:
            if abs(len(t) - len(kw_low)) > 1:
                continue
            if within_one_edit(t, kw_low):
                hits += 1
                break
    return hits


def within_one_edit(a, b):
    if a == b:
        return True
    if abs(len(a) - len(b)) > 1:
        return False
    if len(a) > len(b):
        a, b = b, a
    i = j = diff = 0
    while i < len(a) and j < len(b):
        if a[i] != b[j]:
            diff += 1
            if diff > 1:
                return False
            if len(a) == len(b):
                i += 1
            j += 1
        else:
            i += 1
            j += 1
    return True

時間複雜度:O(|query| · |tokens| · avg_len)

這道題一畝三分地裡反覆出現,1 字元編輯距離 是高頻升級。

題型二:技能圖推薦

代表題:相關技能推薦

輸入:

要求回傳離使用者已有技能集合最近的 k 個新技能(按總邊權求和排序)。

import heapq
from collections import defaultdict

def recommend(skills_graph, user_skills, k):
    user_set = set(user_skills)
    score = defaultdict(int)
    for s in user_skills:
        for nb, w in skills_graph.get(s, []):
            if nb not in user_set:
                score[nb] += w
    return heapq.nlargest(k, score.items(), key=lambda x: x[1])

時間複雜度:O(E + V log k)

Part 2 擴展:要求支援「2 跳推薦」——可以經過一個中轉技能。

題型三:求職者優先級排序

代表題:招聘佇列

求職者按以下規則排序:

  1. 新鮮度(last_active 越近排越前)
  2. 相同 last_active 時,匹配度(來自上面的 fuzzy match)越高越前
  3. 相同匹配度時,回覆率越高越前
def sort_candidates(candidates):
    # candidates: [(last_active_ts, match_score, response_rate, name)]
    return sorted(
        candidates,
        key=lambda c: (-c[0], -c[1], -c[2]),
    )

這種題考的是「多鍵穩定排序」+ 正確的負號方向,看似簡單,但一畝三分地裡有人因為方向寫錯全部 fail。

一畝三分地高頻題速查

類別 頻率 關鍵技巧
字串模糊匹配 ★★★★★ 1 字元編輯距離
技能圖推薦 ★★★★ 鄰接表 + heapq.nlargest
多鍵排序 ★★★★ 穩定 sort + 多 key
Top-K 求職者 ★★★
字典前綴匹配 ★★★ Trie

VO 流程

ZipRecruiter VO 通常 3-4 輪:

  1. HR 電話:動機 + 簡歷過審(30 分鐘)
  2. 演算法面:LC Medium,注重表達(45 分鐘)
  3. 系統設計:推薦系統 / 搜尋後端(60 分鐘)
  4. Hiring Manager + 行為面:產品認知(45 分鐘)

VO代面 / VO輔助 準備路徑

實戰做法

oavoservice 的 VO代面 + VO輔助 一體化服務

針對 ZipRecruiter 3-4 輪 VO,oavoservice 提供:

具體方案與報價,加微信 Coding0201 溝通。

6 天衝刺計畫

天數 任務
D1 一畝三分地 + Glassdoor ZipRecruiter 帖按題型分桶
D2 字串模糊匹配 + 1 字元編輯距離 5 題
D3 技能圖推薦 + 2 跳擴展
D4 系統設計:推薦系統白板手繪 1 張
D5 1 次完整 4 輪 mock,錄影
D6 行為面 STAR:Job Seeker First 主題打磨 3 個故事

FAQ

ZipRecruiter OA 難度怎麼樣?

整體在 LC Easy-Medium。題目本身不偏,但邊界細節(1 字元編輯距離、大小寫、空字串、單 token)是失分高發區。

一畝三分地的題能直接背嗎?

不能直接背。ZipRecruiter 題庫會換題面,但三大主線(字串、技能圖、排序)非常穩定。背模板比背題面更有效。

推薦系統輪要準備什麼?

最少準備一張圖能講清楚 召回 → 排序 → 重排 → 反饋 四層,並能給出 ZipRecruiter 業務場景下的具體例子(例如使用者搜尋 keyword → 召回候選 jobs → ML 排序)。

OA 沒過冷卻期多長?

通常 6 個月。換職位(如從 SDE 改投 Data Engineer)一般不算同一池。


正在準備 ZipRecruiter OA / VO?

oavoservice 提供 ZipRecruiter / Indeed / Glassdoor / LinkedIn 等招聘平台的 OA 題型分桶、推薦系統設計 mock、行為面劇本等 VO輔助 服務。我們的 mentor 來自一線招聘 / 推薦系統團隊,可以針對 ZipRecruiter 職位客製 1 週衝刺方案。

👉 立即加入微信:Coding0201獲取 ZipRecruiter 高頻題與 VO輔助方案


聯絡方式

Email: [email protected]
Telegram: @OAVOProxy