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
# 1 字符编辑距离判断
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