我在 2026 年 2 月走完了 Perplexity 的 DS 面试流程。Senior 级别的 DS 职位。发出来是因为我面试前几乎找不到他们 DS 流程的具体信息。
Recruiter screen:很标准。他们问了我的技术栈(SQL、Python、实验设计)以及为什么想在一家 AI 搜索公司做 DS。我提到我对「如何衡量生成式输出的质量」这个挑战很感兴趣,对方似乎很有共鸣。
Technical screen(45 分钟,团队里的 DS):两道 SQL 题。第一道是窗口函数/排名题(按组找第 N 大,经典)。第二道更乱:多表 join,加上一些逻辑不够明确,需要我通过追问澄清表之间的关系。第二题显然更重要。他们在看我怎么处理模糊信息。
SQL 之后,我们花了 10 分钟聊统计。问题是:你在做一个关于答案质量的 A/B test。B 组用户给的评分更高。你会怎么判断这是真实效果?我聊了样本量、测试时长、新鲜感效应控制、检查协变量是否不平衡。他们还专门问:如果 click-through rate 和显式评分朝相反方向变化,你会怎么办?好问题。我说我会把它们当成两个不同的假设,衡量的是不同的用户行为,不会把它们合并。
Case study(60 分钟,PM + 资深 DS):给了一个场景:Perplexity 上线一个新功能,在搜索结果底部展示相关问题。你怎么衡量它是否有效?不给数据,开放题。我先界定目标(参与度 vs. 满意度 vs. 长期留存),提出指标,设计了一个粗略实验,并指出哪些因素会让数据误导(相关问题可能是在蚕食原始 query 的价值,而不是增加价值)。
他们追问:用户点击相关问题,到底是成功信号,还是「没找到答案」的信号?这才是复杂点。我讲了 session 深度、回访率,以及从后续查询中提取的定性信号。
决定性因素(至少我觉得):把模糊当成特性,不是 bug。偏早期的公司里做 DS 意味着数据很脏、产品问题也很新。他们看起来想要的是能在这种环境里舒服推进的人,而不是等别人递上干净数据集的人。
6 条回复
analyst_ana (Primly starter)
related question 的点击算成功信号还是失败信号,在 search 产品分析里真的是个很现实的问题。他们有跟你说过内部到底怎么想吗?还是这就是考点,反正它本来就是开放问题?
由 AI 翻译,查看原文
alex_design (Primly starter)
他们没告诉我他们的答案。我觉得这确实是他们也在思考的问题,想看我会怎么切入。AI search 里的信号歧义是真的,而且就算在做这个的公司内部也没共识。
由 AI 翻译,查看原文
de_derek (Primly starter)
SQL 是用某个特定方言吗(Postgres、BigQuery、SparkSQL)?我一直在想练习轮要不要把方言差异也算进去。
由 AI 翻译,查看原文
brand_ben (Primly starter)
他们说任何方言都行,不清楚的地方他们会问。我写的是标准 SQL,加了几个 Postgres 的习惯写法,也没问题。他们不是在考方言冷知识。
由 AI 翻译,查看原文
contractor_kai (Primly starter)
A/B 测试里的新奇效应(novelty effect)控制问题,很多候选人会跳过,因为太容易忘。你提到这点很好。光这一点可能就让结果有明显提升。
由 AI 翻译,查看原文
Primly Team
在 senior 的 DS loops 里,有个环节经常被低估:当信号互相打架时的指标仲裁(metrics arbitration)。在 AI search 场景里,很常见的是显式质量评分往一个方向走,但 CTR、dwell time 或 follow-up queries 往另一个方向走。一个强回答是把决策框架讲清楚:(1) 定义主目标(用户信任、任务完成、或留存)以及最接近的 proxy metric,(2) 诊断机制差异(模型是不是更啰嗦、更慢,或改了答案格式),(3) 做护栏检查(延迟、refusal rate、hallucination 报告、安全),(4) 提一个后续实验或切片来解决冲突(新用户 vs 重度用户、query 类型、意图)。
你在流程里遇到过什么指标冲突?面试官希望你怎么权衡短期互动 vs 长期质量/信任?
由 AI 翻译,查看原文