刚在几周前结束了我的 Perplexity data engineer 流程。分享一下我知道的,因为我准备时外面信息不多。
recruiter screen 很快,大概 25 分钟。她确认他们用 Spark、Airflow、Snowflake,并说会重点考 SQL,再加一点数据 pipeline 的 system design。确实如此。
technical phone screen(45 分钟) 前一个小时是一位面试官,SQL 占比非常重。window functions、CTE,还有一个多步骤聚合,需要你在时间序列上算 rolling stats。不是玩具查询,那种你会真的在想要扫多少次表。他们看起来先看正确性,再看效率。
onsite(线上,4 轮) pipeline design:设计一个用于高吞吐 search query logs 的 ingestion pipeline。考虑 latency、去重、schema evolution。我画了 streaming vs batch 的取舍。没有唯一正确答案,他们会 push back 看你怎么推理。 SQL deep dive:再来两道更复杂的 query,其中一道是从原始事件表做 sessionization。经典题。 coding:一道 Python,不是 leetcode 风格,更像「解析这个 log 格式并计算 X」。偏实用。 cross-functional:和 ML platform team 的人聊 data eng 怎么交付给 ML。他们想知道我有没有做过交叉领域的工作。
关键点: 他们一直在问 scale。未必是 FAANG 那种规模,但更在意当你的 pipeline 假设被打破会怎样。他们是在让我写一个完美解,还是让我告诉他们哪里会坏?是后者。
没有 take-home。总耗时:从第一次电话到 verbal offer 3 周。
我的背景:7 YOE,主要做 fintech 的 data platform。level 定在 senior DE。
欢迎提问。