上个月刚结束 ServiceNow data engineer 的完整面试流程,趁还新鲜赶紧记录一下。我申请的是 Now Platform 数据基础设施团队的 senior DE 岗(base 在 San Diego,可远程)。
整个流程一共五轮:recruiter screen、45 分钟 SQL/coding screen、pipeline design、behavioral、最后一轮 team fit 通话。
SQL 和 coding screen
这不是 LeetCode,是那种真实、合理的 SQL。window functions、CTE、一道关于在事件流里找重复记录的查询题,还有一题是优化慢查询(给你 EXPLAIN plan 让你分析)。如果你是 data engineer,最近因为一直在用 Spark 很久没碰 SQL,那就花一周补一下。他们很在意。
还有一道 Python coding:写一个函数把嵌套的 JSON 结构 flatten。并不难,但他们会看你怎么处理边界情况(None 值、嵌套很深的 key)。
Pipeline design round
这是最有意思的一轮。prompt 大概是:设计一个 pipeline,摄取 ServiceNow 平台的遥测事件(想象 IT 运维数据:incident、change、CMDB 更新),并且让下游分析师在数据摄取后 15 分钟内就能查询。他们希望我讲清楚工具选型、延迟取舍、故障模式、schema 演进。
我的方案是 Kafka 做摄取层,进 Snowflake,再用 dbt 做转换,同时单独做一条 hot path 到 Redis cache,存最近 1 小时的数据。他们对 Redis 那层提出质疑,让我解释为什么需要。挺好,重点就是看你怎么 defend。
Behavioral round
标准 STAR。比如:讲一次生产环境 pipeline 失败;讲一次你和 stakeholder 在数据质量上有分歧;还有一题专门问你如何和 SRE 跨团队合作。这些要准备,在 ServiceNow 很重要。
Offer 薪酬(拒了,接了别的) Senior DE,San Diego:base $185k,含 bonus 的 total cash 大概 $195k。RSU 直到流程后期才给我看,这点挺烦的。不过就 2026 这个地区 senior DE 的市场价来说,算合理,但不算特别高。
整体是个执行得很好的流程。技术门槛感觉是真实的,不是做做样子。