ZipRecruiter 是美國老牌招聘平台,平台核心業務是把求職者與雇主精準匹配。這種業務模型決定了它的 OA 題型——字串匹配、技能圖推薦、求職者排序 幾乎是固定三大塊。本文按一畝三分地 + Glassdoor 最近高頻面經做主題整理,並補充 VO代面 / VO輔助 實作準備路徑。
ZipRecruiter OA 概覽
| 維度 | 詳情 |
|---|---|
| 平台 | CodeSignal / HackerRank(按職位不同) |
| 時長 | 70-90 分鐘 |
| 題量 | 3-4 道(含 1 道開放設計) |
| 難度 | LC Easy-Medium,重邊界 |
| 重點 | 字串、圖、堆、推薦排序 |
題型一:字串模糊匹配
代表題:候選人技能匹配
輸入:
query:單個職位描述拆出的 keyword 列表resumes:每個 resume 是一段長字串
要求回傳每個 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 字元編輯距離 是高頻升級。
題型二:技能圖推薦
代表題:相關技能推薦
輸入:
skills_graph:鄰接表,節點是技能,邊權為「共現頻率」user_skills:使用者當前持有技能k:回傳 top-k 推薦
要求回傳離使用者已有技能集合最近的 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 跳推薦」——可以經過一個中轉技能。
題型三:求職者優先級排序
代表題:招聘佇列
求職者按以下規則排序:
- 新鮮度(last_active 越近排越前)
- 相同 last_active 時,匹配度(來自上面的 fuzzy match)越高越前
- 相同匹配度時,回覆率越高越前
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 輪:
- HR 電話:動機 + 簡歷過審(30 分鐘)
- 演算法面:LC Medium,注重表達(45 分鐘)
- 系統設計:推薦系統 / 搜尋後端(60 分鐘)
- Hiring Manager + 行為面:產品認知(45 分鐘)
VO代面 / VO輔助 準備路徑
實戰做法
- OA 題庫分桶:字串匹配 + 技能圖 + 排序三大類各練 5 題
- 系統設計模板:把「推薦系統」拆成 召回 → 排序 → 重排 → 反饋 四層,準備一張白板圖
- mock interview:mentor 出 45 min 演算法 + 60 min 系統設計,事後錄影複盤
- 行為面劇本:ZipRecruiter 強調「Job Seeker First」,可以圍繞「使用者視角的產品決策」準備 3 個故事
oavoservice 的 VO代面 + VO輔助 一體化服務
針對 ZipRecruiter 3-4 輪 VO,oavoservice 提供:
- VO輔助:字串匹配 + 技能圖推薦 + 排序 三類 mock + 推薦系統設計白板演練 + 錄影複盤
- VO代面:面試當天即時答題輔助,針對系統設計 / 推薦系統場景題臨場支援
- 行為面劇本:圍繞「Job Seeker First」準備 3 個故事
具體方案與報價,加微信 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