Pinterest Staff SDE 五轮面试全过,加拿大 TC 500K CAD,附 OA 真题和每轮考点

前段时间被 Pinterest 的 recruiter 捞了,数据方向 Staff SDE,base 加拿大。本来觉得自己多年不碰 data engineering 凶多吉少,但包实在给得大,硬着头皮面了,结果五轮全过。整个流程的题目和考点都记了下来,发出来给准备北美面试的兄弟们参考。

先报包:base 250K CAD,第一年 RSU 240K CAD(vest 50/35/15 三年),第一年 TC 接近 500K CAD,fully remote 可选。对照 levels.fyi 的公开数据,这个数在加拿大 IC 里基本是顶了。

流程概览

复制代码
网申/内推 → HackerRank OA(90min 3题)→ recruiter call → 5轮 VO(一周内面完)→ offer
全程约 4-5 周

OA 三题

T1(Medium)流式 Top K:事件流 (board_id, engagement_score),5 分钟滑动窗口内实时返回 top K board 的总 engagement。

解法:哈希表存窗口内各 board 累计分 + 双端队列按时间戳过期 + 堆取 topK。没什么坑,注意过期时同步扣减哈希表。

T2(Hard)近似标题去重:n 个 pin title,"大小写不敏感 + 去标点后互为 anagram"的归为一组。

解法:规范化 + 哈希分组。每个 title → 转小写 → 去标点 → 字符排序,规范形作 key 进 dict。等价类问题转规范形,和 cyclic string 分组是同一个模子。

T3(Medium)Session 切分:按时间戳排序的用户行为,gap > 30min 切新 session,返回每个 user 的 session 数。

解法:按 user 分组线性扫,数相邻时间差超阈值的次数 +1。送分题。

三道题的共同点:全是业务皮 + 经典模型,读题剥壳能力比算法深度重要。

五轮 Onsite

R1 Coding

Heap topK 变体,题干和网上面经不完全一样。follow-up 加 timestamp 变 sliding window------和 OA T1 一个血统,流式 topK 是 Pinterest 的招牌题,务必练熟。我最后没时间 run test,靠思路表达清晰救回来的,时间管理引以为戒。

R2 System Design

设计 analytics 系统(derived data 场景)。深挖 partitioning 和 consistent hashing,重点是 hot spot:爆款 board 流量倾斜怎么办。

备考建议:DDIA 第 10-12 章(batch/stream/derived data)过一遍,他家业务性质决定 SD 必考数据管道。另一个高频题是 Personalized Home Feed,一起准备。

R3/R4 BQ

HM 和 PM 各一轮。Staff 级别 BQ 权重明显加大,围绕公司 values 问:"简化过什么复杂系统""业务指标和用户利益冲突怎么办"。答题要点:往影响力、跨团队推动层面答,执行者视角撑不起 Staff。

R5 技术八股(差点翻车的一轮)

打着 BQ 旗号,实际是 Kafka/Spark 内部机制深挖:consumer group rebalance、shuffle 实现、内存管理,问到实现层。

我六七年没碰 Spark,能过靠两点:

  1. 提前一周押中方向做了突击复习
  2. 记不清的地方不硬编,明说细节需要查证,然后从原理推演

复盘下来,Staff 级别考的不是背诵熟练度,是知识断层时的诚实度和推理能力。但前提是你得有原理层的底子可推。

总结

三条给后来者:

  1. 面经题干常有变体,背题不如吃透模型
  2. Pinterest coding 三板斧:流式 topK、近似去重、session 切分;SD 两大件:derived data、feed
  3. 数据方向高级别岗,中间件内核(Kafka/Spark/Flink)必须过到实现层,"用过"不够

备考期间的题库规划和 SD 模拟面试我是在 InterviewShow 做的,R5 那波八股突击就是他们提醒数据岗要覆盖中间件内核才加上的,回头看这个提醒值回全款。全流程备考服务都有,需要的自取。

相关推荐
救救孩子把3 小时前
AI面试八股文-21_21-多模态Agent面试题-Vision-Language-Agent
人工智能·面试·职场和发展·llava·多模态agent
ShineWinsu6 小时前
对于JavaScript:JavaScript基础语法的解析
开发语言·前端·javascript·面试·web·基础语法·循环
救救孩子把6 小时前
AI面试八股文-13_12-AI 框架与运维面试题
运维·人工智能·面试
Nil2087 小时前
leetcode 5最长回文子串
算法·leetcode·职场和发展
救救孩子把7 小时前
AI面试八股文-14_14-MCP-Skill-Function Calling
人工智能·安全·面试·职场和发展·推理·mcp·functioncall
帷幕落秋9 小时前
进程服务与文件描述符
linux·运维·面试
帷幕落秋9 小时前
信号、Ctrl 组合键与进程状态
linux·运维·面试
预知同行9 小时前
Agent 开发正在降温,但「可治理」的火才刚点起来
面试
ychqsq15 小时前
233.绽放
经验分享·职场和发展
乌暮15 小时前
从 `println` 到生产级日志:Spring Boot 日志体系完全指南
java·开发语言·jvm·spring boot·后端·学习·面试