在準備求職的過程中,很多同學會忽略 OA 的重要性。 實際上,對大多數互聯網公司而言,OA 是篩選簡歷后真正的第一關。 如果沒能順利通過 OA,即使簡歷再亮眼也很難進入面試環節。 最近我整理了一份 ZipRecruiter OA 面經,不僅涵蓋了流程介紹,還包含了具體真題和題解,給大家一個更直觀的參考。
相比一些傳統的 OA,ZipRecruiter 的考察點更加偏向實際應用場景,既有演算法程式設計題,也會涉及 SQL、數據處理和邏輯思維類的考察。 整體難度中等,但時間限制比較緊,對思路清晰度和熟練度要求較高。
OA 流程概覽
ZipRecruiter 的 OA 一般由第三方平台發出,包含以下幾個環節:
- Coding Challenge
- 2 道程式設計題,時長 45 分鐘左右
- 題目類型偏基礎數據結構與演算法,涉及 string、array、hashmap 的操作
- Logic / Numerical Reasoning
- 大約 8–10 道題,時長 20 分鐘
- 內容包括表格數據推理、數位規律、邏輯判斷
- Work Simulation(工作場景類比)
- 給出招聘/推薦系統的業務場景,考察如何處理使用者需求和數據指標
- 属于 situational judgment test
整体时长在 70–90 分钟,系统会自动监控 tab 切换次数,建议大家一次性坐下认真完成。
OA 真題回憶
以下是真題回憶,題干和解答部分全部用英文呈現,方便大家直觀理解:
Question 1: String Transformation
Problem:
Given a string s, return the minimum number of character deletions required so that no two adjacent characters are the same.
Example:
- Input:
"aab" - Output:
1(delete one'a')
Solution:
We can iterate through the string and count how many times consecutive characters are the same.
def minDeletions(s: str) -> int:
deletions = 0
for i in range(1, len(s)):
if s[i] == s[i-1]:
deletions += 1
return deletions
Question 2: Job Application Counter
Problem:
You are given a list of job applications in the form of (user_id, job_id). Return the number of unique jobs each user has applied to.
Example:
- Input:
[(1, 101), (1, 102), (2, 101), (1, 101)] - Output:
{1: 2, 2: 1}
Solution:
We can use a dictionary with sets to track unique job applications per user.
from collections import defaultdict
def countApplications(applications):
user_jobs = defaultdict(set)
for user, job in applications:
user_jobs[user].add(job)
return {user: len(jobs) for user, jobs in user_jobs.items()}
Question 3: Numerical Reasoning
Problem:
If 5 recruiters can review 200 resumes in 4 hours, how many recruiters are needed to review 500 resumes in 5 hours?
Solution:
- Rate: 200 resumes / (5 recruiters * 4 hours) = 10 resumes per recruiter per hour
- Requirement: 500 resumes / 5 hours = 100 resumes per hour
- Recruiters needed: 100 / 10 = 10 recruiters
Answer: 10
Question 4: Business Case (Work Simulation)
Scenario:
ZipRecruiter notices that many job seekers abandon the application process halfway. As a data scientist, how would you investigate and proposesolutions?
Answer (outline):
- Analyze funnel data (click → start application → submit → interview invite).
- Identify drop-off stage (e.g., long forms, external redirects).
- Run A/B test with shorter forms or autofill features.
- Measure conversion improvement and user satisfaction metrics.
注意事項
- 時間分配:前面 coding 题可能花费较多时间,建议控制在 20–25 分钟内。
- 邏輯題:很多都是快算題,千萬不要卡太久。
- Work Simulation:並沒有標準答案,主要看邏輯合理性。
最後想說
整體來說,ZipRecruiter 的 OA 更像是一個綜合能力測試,而不是單純的演算法考試。 如果你只準備刷 LeetCode,可能會覺得有些不適應。 建議大家在準備的時候:
- Coding 部分多練習 array/hashmap 題;
- 逻辑数值題可以刷一些 SHL 或 GMAT 題型;
- 業務場景要有招聘/推荐系统的 sense,答题时突出数据驱动和实验设计思维。
如果你近期也要準備 OA 或者想在最短時間內拿下目標 offer,Programhelp 團隊可以提供全程遠端助攻,幫你從題目解析到實戰演練都做到心裡有底。