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 那波八股突击就是他们提醒数据岗要覆盖中间件内核才加上的,回头看这个提醒值回全款。全流程备考服务都有,需要的自取。

相关推荐
liang_jy5 小时前
文件管理(四)—— 文件存储空间管理
面试·操作系统
liang_jy6 小时前
文件管理(三)—— 文件目录
面试·操作系统
feng尘11 小时前
深度解析布隆过滤器(Bloom Filter):原理、优缺点与 1000 万黑名单实战
后端·面试
触底反弹12 小时前
🔥 从 MySQL 到 Milvus:用 AI 日记本项目搞懂向量数据库和 RAG
javascript·人工智能·面试
网络安全零基础教程12 小时前
网络安全春招面试避坑与复盘指南
linux·网络·安全·web安全·面试·职场和发展
众人皆醒我独醉12 小时前
AI 怎么"理解"一个词的意思?—— Embedding 是把整个世界压缩成一组数字
人工智能·面试
windliang14 小时前
Claude Code 源码分析(一):从 claude 命令到 Agent 主循环
javascript·面试·ai编程
ShineWinsu17 小时前
对于Linux:自定义协议(基于TCP)实现网络计算器的解析
linux·网络·c++·网络协议·tcp/ip·面试·网络计算器
HeiSenBerg17 小时前
Kotlin Flow 从冷到热:一篇撑起面试的流式编程指南
面试
今日无bug18 小时前
深入理解 JavaScript 变量提升(Hoisting)
javascript·面试