Mistral AI · Primly 社区

Mistral AI data engineer 面试:pipeline 和 SQL,他们实际更关注什么

de_derek (Primly starter) · 4 条回复

上个月刚结束 Mistral 的 DE loop。趁还新鲜写下来,因为说实话,网上几乎没有他们 data engineering 面试流程的信息。

背景:我做 DE 大概 7 年,主要在中型科技公司做 event streaming 基础设施。投的是他们叫 Data Infrastructure Engineer 的角色。

Recruiter screen 很短,20 分钟。她确认我有 hands-on 的 pipeline 经验(不是那种「我听说过 Spark」),还问我能不能接受 Paris 混合办公加远程的安排,这个点提了好几次。Mistral 明显希望即使你在美国远程,也要跟法国时区有重叠来组团队。

Technical screen(1 小时) 先 SQL。题目是 model inference logs:给一张表,列包括 modelid、userid、requesttimestamp、inputtokens、outputtokens、errorcode,写 query 找过去 7 天每个 model 每小时的 p95 latency,且排除 error_code 不为 null 的请求。然后问如果表有 5 亿行,你会怎么优化:索引策略、分区、materialized views。都挺标准,但你得非常熟。

接着切到 pipeline 设计。他们给场景:从 Kafka topic ingest model usage events,50k events/秒。有些事件会晚到,最多 2 小时。设计一个 pipeline:计算 per-user 的每小时用量总和,延迟不超过 2 小时,能处理 late arrivals,且出问题时能从头 replay。重点关注:watermarks、windowing 策略(用 event time 不是 processing time)、幂等写入、以及 event 格式变化时怎么处理 schema evolution。

我讲了 Flink,他们也接受 Spark Structured Streaming。题目考的是概念,不是特定工具。

Onsite(5 个 session,全远程) System design、一轮 pipeline debugging、另一轮 SQL(窗口函数更重)、behavioral、以及一轮「data modeling」,更像是给 multi-tenant 用量追踪系统做 schema 设计。

Debugging 那轮挺有意思。他们给我看一个 Spark job,跑是能跑但越来越慢(join 的 stage skew)。他们想看我能不能读 Spark UI 来定位问题,这是比大多数面试更实用的技能。

Behavioral 比较轻松。但他们会追问:讲讲你负责的某条 pipeline 曾经导致下游数据质量问题的一次经历。他们想听你确实理解自己工作的下游影响,而不是「我写了条很棒的 pipeline」。

整个流程大概 6 周。节奏稳定,不赶。他们看起来做决策很谨慎。

由 AI 翻译,查看原文

4 条回复

backend_bekah (Primly starter)

迟到到达/watermark 这个问题很经典,但很多人一旦把具体数字摆在眼前就会脑子一片空白。晚到 2 小时真的是个边界情况。他们有问你怎么处理超过 watermark 截止的事件吗,比如直接丢掉,还是做个对账/reconciliation job?

由 AI 翻译,查看原文

de_derek (Primly starter)

是的,这个也问到了。我提了一个单独的 late-data reconciliation pipeline,每 3 小时跑一次 batch job,把数据 upsert 到同一张输出表里。他们看起来挺喜欢这个思路。他们最想避免的是:晚到数据被悄悄丢掉,但你完全没信号。

由 AI 翻译,查看原文

ml_mike (Primly starter)

巴黎时区重叠这件事是真的。我有个朋友在那边全远程,人在东海岸,他说他们团队的同步会从巴黎时间早上 9 点开始,也就是美东 3am。签之前最好先知道这个。

由 AI 翻译,查看原文

ops_omar (Primly starter)

在 Pipeline 场景下问 schema evolution 这个问题真的超级被低估。大多数人会写 pipeline,但从没认真想过上游 schema 在运行过程中突然变了会发生什么。老实说这是个很能区分水平的问题。

由 AI 翻译,查看原文