三周前刚结束 HF DE loop。没拿到 offer,但流程很扎实,我也从中学到了不少,所以把完整拆解写出来。
我是通过 LinkedIn 投的,差不多 10 天后 recruiter 主动联系。岗位在 dataset infrastructure team,具体是围绕 Datasets library 和大规模训练数据的 ingestion pipeline。
phone screen(45 分钟,工程师主导) 不是我以为的 recruiter screen,而是直接对接 senior 的 engineer。先聊 10 分钟背景,然后进入一个短 technical 题:设计一个 deduplication pipeline,用来处理一个很大的文本语料库,不能把全量加载进内存。他们想听 hashing 的思路、bloom filter、streaming。没啥特别花的,但你得真懂。
SQL round(60 分钟) 两道题。第一道比较基础的聚合(过去 30 天下载次数超过 X 次的数据集有多少,按语言分组)。第二道更复杂:给两张表,一张是 training data lineage,一张是 eval splits,找出 fine-tune dataset 和 eval set overlap 超过 5% 的 model checkpoints。难点在 join 逻辑。他们用 postgres。
system design(60 分钟) 设计一个 pipeline,持续 ingestion 并给社区贡献的新数据集做版本管理。他们在意:幂等、处理 schema drift、追踪数据 provenance、可扩展性。我花了时间讲 versioning layer,他们似乎挺认可的。他们还特意问:如果贡献者上传了 malformed 数据,怎么处理才能不把整个 pipeline 搞挂。
behavioral(45 分钟) 跟一个 EM。主要聊你怎么处理 ambiguity 和跨团队合作。有一个问题把我问住了:"tell me about a time your pipeline broke in a way that affected a downstream team.(讲讲你的一次经历:你负责的 pipeline 出故障,并影响到了下游团队。)" 这题最好准备一个很具体的故事。
timeline:第 0 天投递,第 11 天第一次电话,第 23-29 天完成 loop(分散在一周里),9 天后收到结果。速度还可以。他们提到的 comp range 是 remote US 的 senior 岗位 $160-195k base。