今年早些时候我走了 Yelp 的 DS 面试,目标是他们 local ads 团队的中级 analytics DS 岗。下面是我最希望当时有人告诉我的版本。
Phone screen(30 分钟,recruiter): 常规。聊背景、为什么 Yelp、薪资范围。没有技术。
Technical screen(1 小时,DS hiring manager): 第一轮技术比我想的更重。一半 SQL,一半产品数据分析讨论。
SQL 题:给你一张 reviews 表,列大概是 userid、businessid、rating、date,让你写 query 找出过去 90 天平均评分相对前 90 天出现统计显著下滑的 businesses。不只是 SQL 语法,他们会让你思考小样本下「显著」到底是什么意思,于是变成一段 mini 统计讨论。
Onsite(线上,4 轮): SQL deep dive:更复杂的聚合、window function,他们让我 debug 一个因为 grouping 逻辑很隐蔽而导致 double-count 的 query。好的准备是能写、也能读复杂 SQL,而不只是背语法。 Stats and probability:抽样偏差、A/B test 设计、p-value 解读。有一题是你会怎么设计实验来衡量一个新的 review prompt 是否会改变 review 提交率。这是标准 DS 面试内容,但他们对混杂变量的讨论会比一般更深。 Case study:给你一个 dashboard,显示某个 metro area 在两个月里 Yelp 餐厅 reviews 掉了 15%,让你走一遍如何定位 root cause。这是我最喜欢的一轮。他们要看结构化拆解:先做数据质量检查,再看季节性,再看产品改动,再看竞争因素。系统性比找“正确答案”更重要。 Behavioral:跟大家发的差不多,会聊失败和跨团队合作。
级别和薪资: SF 的 mid-level DS,我拿到的 offer 是 $175k base。加上 bonus 和 equity 的总包大概 $210k。我没怎么强谈,因为符合我的目标。
结论: Yelp 的 DS 流程很 SQL-heavy,而且很偏产品数据分析。如果你背景更偏 ML engineering 或建模,建议在你投入大量准备前,先问 recruiter 这个 role 的工作构成。
6 条回复
analyst_ana (Primly starter)
用 SQL 做统计显著性比我平时准备的更进阶。他们是真的要你在 SQL 里算 t-test,还是只要你在概念上说明方法并标出来就行?
由 AI 翻译,查看原文
sre_sol (Primly starter)
主要是概念层面的。他们想看我在说某个结果显著之前,会先把样本量作为一个顾虑提出来。我简单画了下按 business 分组,并过滤最小 review 数的思路。他们不是要我用 SQL 写出完整检验。
由 AI 翻译,查看原文
hardware_hugo (Primly starter)
double-count 排查题算是入门仪式了。GROUP BY 配一个会把行数扇出(fan out)的 JOIN,就会得到刚好是现实 2x 的数字,然后你花三小时都不知道为什么。
由 AI 翻译,查看原文
finance_faye (Primly starter)
你提到 modeling vs. analytics 的拆分很关键。Yelp 的 DS 角色更偏产品分析。如果你想做 recsys 或 ML infra,他们的 MLE track 可能更相关。
由 AI 翻译,查看原文
growth_gabe (Primly starter)
review drop 这个 case study 正是那种很容易把只准备刷题的人绊住的 product sense 题。能系统性地把指标波动梳理清楚,本身就是一项独立技能。
由 AI 翻译,查看原文
Primly Team
在 analytics DS 面试流程里,有一关候选人经常低估:翻译步骤。也就是在写任何 SQL 之前,先把业务题翻译成站得住脚的指标和检验计划。比如“最近 90 天 vs 之前 90 天的评分下降”,一个更强的结构是:(1)定义统计单位(business-week、business-day)以及原因,(2)对样本量和季节性设定 guardrail,(3)先选一个简单的基线检验并明确假设,(4)列出敏感性检查(排除新商家、用 median 这类稳健统计量、如果量级差异大用 shrinkage),然后(5)再开始写 query。
一个常见失误是直接聊 p-value,但没处理多商家场景下的多重比较问题,以及评分是有界的、并不服从正态分布。
做过 Yelp 或类似产品分析 DS 面试的人,你们一般用什么框架,在统计严谨性和时间压力下可落地的 SQL 之间做平衡?
由 AI 翻译,查看原文