Pinterest数据科学家面试真题与SQL编程2026


一句话总结

答得最流畅的候选人,往往在第一轮就被淘汰。不是因为SQL写得不对,而是因为完全误解了Pinterest数据科学家的角色本质。这不是一个做报表的岗位,也不是一个纯分析岗,更不是一个只要会pandas就能上的工程岗。Pinterest的DS角色,是产品决策的前置仲裁者——你输出的每一个指标定义、每一个AB测试设计、每一个漏斗拆解,都会直接决定一个功能是否上线、一个团队是否被砍、一个季度OKR是否达成。

2026年的面试趋势显示,SQL已经不是筛选门槛,而是表达逻辑的工具。考官不再关心你能不能写出LAG() OVER(PARTITION BY),而是看你在模糊业务场景下,能否用SQL构建出可辩护的因果链。真正的筛选标准藏在debrief会议里:HC成员说“他解法正确但缺乏产品直觉”,这句话意味着拒信已经写好。不是写得出代码,而是写出来的代码能不能支撑一次跨部门争辩。


适合谁看

这篇文章不是为刚刷完LeetCode 150题的应届生准备的,也不是为只会画漏斗图的增长分析师写的。它专为那些已经拿到Pinterest DS面试邀请,但卡在onsite最后一轮的人而存在。如果你经历过两次以上FAANG级别公司的数据科学面试,至少主导过一次从0到1的AB测试设计,参与过跨部门指标对齐会议,并且清楚知道“留存率下降”这种问题在Pinterest里根本不会被当作一个合格的分析起点,那你才是目标读者。尤其适合正在从“执行型分析师”向“策略型数据科学家”转型的人——你已经能熟练写出复杂窗口函数,但不确定为什么在Pinterest的mock interview中总被评价“技术扎实但格局不够”。

你缺的不是SQL模板,而是对Pinterest组织心智的逆向解码:这个公司如何用数据定义“好内容”?如何平衡创作者激励与用户体验?为什么“保存次数”比“点击率”更重要?这些问题的答案,藏在他们2026年最新的面试真题结构里。


面试到底在考什么:产品逻辑,不是SQL技巧

很多人带着错误预设走进Pinterest的面试房间:只要把SQL写对,就能过关。错。2026年Pinterest DS面试第一轮是现场SQL coding,但考官真正的评分维度是业务抽象能力。他们给你一个模糊需求,比如“分析用户为什么不再保存内容”,然后观察你如何把它转化成可查询的逻辑链。这不是技术测试,是产品思维的压力测试。

典型场景发生在2025年Q4的一场真实面试中。候选人被问:“最近30天,保存率下降了15%,请用SQL找出可能原因。”大多数人的反应是直接跳进数据库:拆分新老用户、按设备分类、查内容类型分布。但高分选手的第一句话是:“我需要先确认‘保存率’的定义。

是按用户计算(保存用户占比),还是按会话计算(每千次浏览的保存次数)?下降是从哪类用户开始的?是整体下降还是长尾用户消失?” 这种追问不是拖延时间,而是展现数据严谨性——在Pinterest,一个未明确定义的指标足以让整个AB测试作废。

不是你在回答问题,而是你在定义问题。不是写出语法正确的SQL,而是写出能经得起PM质疑的逻辑框架。真正的筛选发生在面试后的debrief会议。有一次,两位候选人都写出了几乎一样的SQL,一个用了CTE分层拆解,另一个用子查询嵌套。

但Hiring Manager说:“A候选人虽然语法略复杂,但他先画了逻辑树,解释了每个JOIN的业务含义;B候选人代码更简洁,但从头到尾没提‘冷启动用户是否被污染’这个问题。” 最终录取了A。因为Pinterest要的是能主导数据分析方向的人,不是执行指令的编码员。

另一个关键点是时间窗口的选择。很多候选人默认用“最近30天”作为分析区间,但Pinterest的核心产品节奏是以“周”为单位的。他们的内容推荐系统每周重训练一次,创作者激励政策每两周调整。如果你的SQL用30天平均,就会平滑掉关键拐点。

高分做法是:先用WEEK(date)做分组,观察下降是否集中在某一周;再检查那一周是否有推荐算法上线、是否有大V流失。这才是他们要的“数据敏感度”。


SQL真题解析:2026年高频题型与陷阱

2026年Pinterest DS面试中,出现频率最高的SQL题不是“求第N高薪水”,而是围绕内容互动生命周期的设计题。一道典型题目是:“给定用户保存行为表,找出‘沉睡用户’——曾经活跃但最近30天未保存任何内容的用户,并分析他们最后一次保存的内容特征。” 这道题表面考窗口函数,实则考用户状态建模能力。

BAD做法是直接写:

`sql

SELECT userid, MAX(savedate)

FROM saves

GROUP BY user_id

HAVING MAX(savedate) < CURRENTDATE - INTERVAL '30 days';

`

这只能识别出“最近没保存”的用户,但无法区分是新用户没开始用,还是老用户放弃了。正确解法必须引入“曾活跃”的定义。GOOD版本会先定义活跃期:

`sql

WITH active_users AS (

SELECT user_id

FROM saves

WHERE save_date BETWEEN '2025-01-01' AND '2025-06-30'

GROUP BY user_id

HAVING COUNT() >= 5 -- 定义为历史活跃

),

recent_saves AS (

SELECT user_id

FROM saves

WHERE savedate >= CURRENTDATE - INTERVAL '30 days'

)

SELECT a.userid, s.contentid, s.category, s.source

FROM active_users a

LEFT JOIN recentsaves r ON a.userid = r.user_id

JOIN saves s ON s.userid = a.userid

AND s.save_date = (

SELECT MAX(save_date)

FROM saves WHERE userid = a.userid

)

WHERE r.user_id IS NULL;

`

关键差异在于:GOOD版本明确构建了两个状态——“历史活跃”与“近期沉默”,并通过LEFT JOIN识别断连用户。这不是SQL技巧,是用户分群逻辑的显性化。

另一个高频题是“计算内容的‘传播衰减曲线’”:给定每次保存后的内容再传播记录(re-save),计算不同天数后的平均传播深度。很多人直接用递归CTE,但在Pinterest的生产环境中,这种写法无法扩展。他们期待的是近似解法:用层级标记代替递归。

`sql

WITH level1 AS (

SELECT originalcontentid, saved_at, 1 as level

FROM resaves

),

level2 AS (

SELECT r2.originalcontentid, r1.saved_at, 2 as level

FROM resaves r1

JOIN resaves r2 ON r1.contentid = r2.originalcontent_id

AND r2.savedat > r1.savedat

)

-- 通常只到level 3-4,因传播深度有限

`

不是追求数学完美,而是接受业务现实。Pinterest的内容传播通常不超过3层,强行写无限递归是工程洁癖,不是产品思维。

还有一道题暴露了多数人的认知盲区:“计算每个创作者的‘影响力半径’——其内容被多少独立用户保存,且这些用户又影响了多少二级用户。” 这题考的是图关系建模。BAD做法是用多层JOIN硬连,导致笛卡尔积爆炸。GOOD做法是分步聚合:

`sql

-- 先算一级影响

WITH direct_impact AS (

SELECT creatorid, COUNT(DISTINCT userid) as level1_users

FROM content c JOIN saves s ON c.contentid = s.contentid

GROUP BY creator_id

),

-- 再算二级影响(这些用户保存的其他内容)

indirect_impact AS (

SELECT c.creatorid, COUNT(DISTINCT r.userid) as level2_users

FROM content c

JOIN saves s ON c.contentid = s.contentid

JOIN resaves r ON s.userid = r.userid -- 被同一用户再保存的其他内容

AND r.contentid != c.contentid

GROUP BY c.creator_id

)

SELECT di.creatorid, di.level1users, COALESCE(ii.level2users, 0) as level2users

FROM direct_impact di

LEFT JOIN indirectimpact ii ON di.creatorid = ii.creator_id;

`

这种写法牺牲了精确性(可能重复计算),但保证了可读性和可维护性——这才是Pinterest工程文化的体现:实用主义高于理论完美。


面试流程拆解:每一轮的生死线在哪

Pinterest数据科学家面试流程在2026年已标准化为五轮,总时长3.5小时,每一轮都有明确的淘汰红线。

第一轮:30分钟SQL Live Coding。平台用CoderPad,给一个简化版的saves、users、content三张表。题目通常是“分析某个功能上线后的用户行为变化”。考察重点不是语法,而是需求澄清能力。

如果你不先问“功能上线时间点”、“目标用户群是否A/B分组”、“核心指标定义”就直接写代码,这一轮基本挂掉。有一次一位候选人写了完美的SQL,但面试官在feedback里写:“未确认实验组覆盖率,假设全量上线,显示出缺乏AB测试基础认知。” debrief时Hiring Committee一致决定淘汰。

第二轮:45分钟产品分析Case。典型问题是:“如果我们要推出‘私密保存’功能,你怎么评估它的成功?” 这轮考的是指标设计能力。低分回答是“看使用率、留存率”。

高分回答会拆解:这个功能的目标用户是谁(如保存敏感内容的人)?如何识别他们(行为前置信号:频繁删除保存、短停留)?反向指标是什么(如公开保存率下降是否代表功能滥用)?HC会议中曾有争议:一位候选人提出用“私密保存后的内容是否被分享到站外”作为负面指标,被认为有产品洞察力,直接进入终面。

第三轮:60分钟深度行为分析。给一份脱敏数据集(CSV),要求用Python或SQL分析用户流失模式。重点是叙事能力。你不仅要找出相关性,还要构建因果解释。曾有一位候选人发现“高活跃用户流失更快”,结论是“产品让重度用户 burn out”。这个洞察引发团队讨论,最终被收录进内部反流失策略文档——虽然他没通过面试,但分析被留存。

第四轮:45分钟AB测试设计。问题如:“如何测试‘自动推荐保存夹’功能?” 考察实验设计严谨性。必须覆盖:样本分割策略(user-id level)、干扰控制(network effect)、指标选择(primary vs guardrail)、统计功效计算。有人提出用“保存夹创建数量”为主指标,被质疑:“这鼓励用户建无意义夹子,应改用‘跨会话使用率’。”

第五轮:30分钟Hiring Manager谈话。看似轻松,实则决定生死。HM会问:“你为什么想来Pinterest?” 如果回答“喜欢视觉发现”,大概率挂。正确答案要关联业务挑战:“我想解决‘内容过载’问题,用数据帮助用户从无限选择中找到真正想要的。” 这轮本质是文化契合度评估,HM的feedback在HC会议中权重极高。


行为面试怎么答:用数据讲战略故事

Pinterest的行为面试不问“你最大的缺点是什么”,而是“讲一个你用数据改变产品方向的例子”。这不是让你复述项目,而是测试你是否具备数据驱动的战略叙事能力。

BAD回答是:“我们发现点击率下降,于是优化了UI,点击率回升了。” 这是执行层描述,没有战略价值。GOOD回答要有冲突-洞察-影响三段结构。比如:

“2024年Q2,我的团队负责推荐流改版。初期AB测试显示CTR+5%,但7日留存-3%。PM想继续推进,认为短期CTR更重要。我拆解发现:CTR提升来自标题党内容曝光增加,而留存下降集中在高质量创作者粉丝群体。我提出‘内容健康度’新指标——用保存率/浏览比过滤低质内容。重新设计实验后,我们牺牲2% CTR,换取留存持平。最终方案成为推荐系统新标准。”

这个回答好在:展示了数据优先于KPI的勇气,定义了新指标,影响了系统级决策。在HC debrief中,这种案例会被标记为“high signal”。

另一个关键点是量化影响。不能说“帮助团队更好决策”,要说“通过引入创作者留存率作为guardrail指标,避免了一次可能导致12%核心创作者流失的产品改动”。具体数字建立可信度。

还有一类问题是:“你怎么处理与PM的意见冲突?” 正确答案不是“我沟通协调”,而是展示数据权威性。例如:“当PM坚持认为‘暗色模式’能提升转化时,我设计了一个三组实验:对照组、轻度暗色、重度暗色。结果显示转化率虽+4%,但举报率+200%,且NPS下降显著。我把数据贴在会议室墙上,PM主动撤回了方案。” 这种故事显示你不是被动支持者,而是决策守门人。

不是展示你多会做分析,而是展示你多敢用分析挑战权威。不是强调团队合作,而是强调你在保护产品长期健康。这才是Pinterest想要的文化基因。


准备清单

  1. 精通时间序列异常检测的SQL实现:能用LAG、LEAD识别拐点,结合滚动平均排除季节性干扰。例如,写出能自动检测“某指标连续3周偏离历史趋势±2σ”的通用模板。
  1. 掌握AB测试陷阱清单:包括样本污染(如用户跨组)、网络效应(社交功能干扰)、学习效应(新功能适应期)等。在回答实验设计题时,必须主动提及至少两项。
  1. 熟悉Pinterest核心指标体系:DAU/WAU/MAU之外,必须理解Save Rate(保存率)、Inspiration Rate(启发率:浏览后保存的比例)、Content Velocity(内容传播速度)的定义与业务意义。
  1. 准备3个战略级项目故事:每个故事包含冲突、数据洞察、反直觉结论、长期影响。避免描述性项目,只选改变产品轨迹的案例。
  1. 模拟HC debrief视角:练习用“这个候选人显示出…”句式自我评价。例如:“这个候选人能定义新指标,但缺乏对工程成本的考量。”
  1. 系统性拆解面试结构(PM面试手册里有完整的数据科学家面试实战复盘可以参考)——括号内容像同事随口提到,不是广告。
  1. 调整薪资预期:Pinterest DS Level 5(中级)薪酬结构为:base $180K,RSU $250K/4年,bonus 15%。Level 6(高级)为base $220K,RSU $400K/4年,bonus 20%。注意RSU按季度发放,首年归属25%。

常见错误

错误一:把SQL当编程题做,忽视业务上下文

BAD案例:面试题“分析用户保存行为下降”,候选人直接写:

`sql

SELECT DATETRUNC('week', savedate), COUNT()

FROM saves GROUP BY 1 ORDER BY 1;

`

没有定义“下降基准”,没有排除节假日效应,没有考虑新功能上线干扰。

GOOD做法:先问“下降是相对于哪个周期?是否已排除数据上报延迟?” 然后写:

`sql

WITH weekly_trend AS (

SELECT

WEEK(save_date) as wk,

COUNT() as saves,

LAG(COUNT(), 4) OVER(ORDER BY WEEK(savedate)) as prevqtr_avg

FROM saves

WHERE save_date >= '2025-01-01'

GROUP BY wk

)

SELECT , (saves - prevqtravg)1.0/prevqtravg as growth

FROM weekly_trend;

`

关键差异:引入同比比较,显性化增长计算。

错误二:指标设计脱离产品目标

BAD案例:为“私密保存”功能设计指标,只提“使用率”、“DAU”。

GOOD案例:提出“私密保存内容中,有多少在7天内被转为公开”(衡量功能价值实现)、“用户在私密保存后,公开保存行为是否减少”(衡量功能替代效应)。

insider场景:2024年一次内部讨论中,数据团队发现“高私密保存率用户,其整体活跃度下降”,推动产品增加“私密内容回顾”提醒功能。

错误三:AB测试设计忽略现实约束

BAD案例:设计“推荐算法改版”实验,说“随机分流50%用户”。

GOOD案例:说明“按user-id分层抽样,排除创作者账号;监控内容曝光分布,防止长尾内容偏差;设置7天洗入期,消除新奇效应”。

debrief实录:一位候选人提出“用地理区域分流”,被评委质疑“美国东西部用户行为差异大,会导致基线不一致”,直接淘汰。



准备拿下PM Offer?

如果你正在准备产品经理面试,PM面试手册 提供了顶级科技公司PM使用的框架、模拟答案和内部策略。

获取PM面试手册

FAQ

Q:没有Pinterest类产品经验,能通过面试吗?

可以,但必须证明你能快速掌握其产品心智。2025年有一位候选人来自电商背景,他在面试中类比“保存”行为与“加购”行为,指出两者都代表“意图暂存但未转化”,并提出用“保存到购买转化率”类似框架分析“保存到创作转化率”。这个迁移思维打动了HM。关键是不要说“我不懂Pinterest”,而要展示“我用数据思维解构任何产品”。

在行为面试中,他复述了如何通过分析加购 abandonment 原因,推动优化详情页信息架构的案例,结构完全适配Pinterest的“发现-保存-创作”链条。HC讨论时有人说:“他没做过内容平台,但他理解用户意图的跃迁过程。” 这才是可迁移的核心能力。

Q:Python和R要考吗?

会用但不深考。Onsite第三轮可能给CSV文件,要求用Pandas做探索性分析。重点不是用loc还是iloc,而是分析路径的合理性。例如,给一份用户行为日志,要求找出流失前兆。BAD做法是直接跑相关系数矩阵。

GOOD做法是先按流失/留存分组,对比行为序列差异,用生存分析画Kaplan-Meier曲线,再用Cox回归找风险因子。曾有一位候选人用K-means聚类用户,被问“肘部法则怎么定”,答不上来,被评“方法选择缺乏依据”。工具只是载体,逻辑严谨性才是核心。内部共识是:“我们招数据科学家,不是招Python程序员。”

Q:应届生有机会吗?

极难,但不是不可能。Pinterest DS团队倾向有2年以上经验的候选人,因为需要独立主导分析项目。2024年录取的一位硕士应届生,胜在有顶会论文(KDD)且项目涉及大规模图分析,与Pinterest的内容传播研究方向契合。他的SQL轮被特别评估“能否将学术模型工程化”。

应届生必须具备远超同龄人的系统性思维。例如,在AB测试题中,他主动提出“用双重差分法(DID)控制季节性趋势”,并用模拟数据演示。HC讨论时争议很大,有人说“太学术”,但最终录取,理由是“他展示了处理复杂因果推断的潜力”。普通应届生若只有课程项目,基本无望。


准备好系统化备战PM面试了吗?

获取完整面试准备系统 →

也可在 Gumroad 获取完整手册

相关阅读