今年早些时候在纽约面了 senior SWE 岗的完整 Palantir loop。system design 这一轮……真的不是你在典型 FAANG 店里会准备的那种。具体说说。
他们不会给你那种经典的「design Twitter(设计 Twitter)」或「design YouTube(设计 YouTube)」prompt。题目更像偏运维/运营的系统。比如:怎么搭一个数据摄取 pipeline,能处理异构的政府数据源,近实时地协调 schema 冲突,同时还让分析师能随时跑 ad hoc query,不用等 20 分钟。或者:设计一个 workflow engine,让非工程师也能定义多步骤的数据转换任务。
他们实际在评估什么: 你是否理解批处理 vs. 流式摄取之间的取舍 你怎么在输入层处理 schema 演进和数据质量 你是否会去想系统的用户是谁(通常是分析师或运营人员,而不是另一个工程师)
面试官是 senior,明显很技术派,而且会对每个假设都追得很紧。不是那种刻薄的感觉,更像是他们默认你应该已经提前想过三步。当我说「我会用 Kafka 做 streaming layer」时,他们立刻问为什么不用 Kinesis,为什么不用 Pulsar,以及当 consumer 落后时失败模式会是什么样。
深度大于广度。这就是这里唯一重要的心智模型。画一个很广的 20 组件大图谁都不会被打动。挑两三个真正难的子问题,往深里挖。
一共 45 分钟。我大概花了 10 分钟澄清需求,25 分钟做设计,10 分钟被追问细节。没有白板,全程口头,偶尔用 Excalidraw。
关于 level 对标:他们目标大概是 L3 等价(他们的定级对外有点不透明),按市场口径差不多是 senior SWE。设计期望更像我理解的强 senior IC bar,不是 staff。如果你面的是「senior」title,把分布式系统基础背得滚瓜烂熟,而且真的要有自己的观点。
如果有人在准备,欢迎问更具体的细节。