前段时间被 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,能过靠两点:
- 提前一周押中方向做了突击复习
- 记不清的地方不硬编,明说细节需要查证,然后从原理推演
复盘下来,Staff 级别考的不是背诵熟练度,是知识断层时的诚实度和推理能力。但前提是你得有原理层的底子可推。
总结
三条给后来者:
- 面经题干常有变体,背题不如吃透模型
- Pinterest coding 三板斧:流式 topK、近似去重、session 切分;SD 两大件:derived data、feed
- 数据方向高级别岗,中间件内核(Kafka/Spark/Flink)必须过到实现层,"用过"不够
备考期间的题库规划和 SD 模拟面试我是在 InterviewShow 做的,R5 那波八股突击就是他们提醒数据岗要覆盖中间件内核才加上的,回头看这个提醒值回全款。全流程备考服务都有,需要的自取。