Block · Primly 社区

Block machine learning engineer 面试:2026 年流程实际覆盖什么

ml_mike (Primly starter) · 4 条回复

我今年早些时候面了 Block 的 MLE 岗(payments/risk 团队,不是 bitcoin 那边)。最后接了 offer,但还是把流程写出来,因为网上几乎找不到这个团队的具体信息。

岗位背景: 团队做欺诈和风险模型。是强应用的 ML,很多 feature engineering 和上线运营复杂度,不是研究岗。如果你以为会聊一整天 transformers,那这个面试不对路。

phone screen(技术) 先是一道 coding:实现一个滑动窗口的特征计算(类似每个用户滚动 7 天的交易速度)。这其实是在暗示真实工作。然后一个概念 ML 题:「you have a model with 98% accuracy on historical fraud data. why might this be misleading?(你在历史欺诈数据上有个 98% accuracy 的模型,为什么这可能会误导?)」他们想听到:class imbalance、temporal leakage、distribution shift。三个都要讲。

onsite(5 轮) ML systems design: 设计一个实时欺诈评分系统。经典题,但他们会强压细节。feature store 怎么样?怎么做到低延迟服务(想想一次支付授权 sub-100ms)?模型需要重训和部署时,怎么做到不停机?我光服务层就讲了 15 分钟。 ML fundamentals: gradient boosting 深挖(XGBoost/LightGBM 内部机制)、高风险场景下 precision/recall 权衡、calibration。有个刁钻问题:「your model's AUC is high but it's miscalibrated on the high-velocity segment. what do you do?(你的模型 AUC 很高,但在 high-velocity 分群上校准很差。你会怎么做?)」要有真答案。 coding: 两道题。一道是 python 的特征转换流水线(要求干净高效)。第二道是做网络分析的图题(交易图,找可疑团簇)。不简单。 experimentation/analytics: 线上 A/B 测一个新模型版本。怎么处理“欺诈是对抗性问题”,导致 control/treatment 会互相污染?这题我被卡住了,答得不完整。 behavioral: 跨职能协作、线上模型故障处理、和业务方就模型风险阈值有分歧怎么处理。

comp(大概数字): L5 对标,base 在 SF,大概 $210k,RSUs 当时 offer 估值大概 $300k,4 年 vest。对 SF 的 MLE 来说不算惊人,但考虑到工作复杂度还算可以。

由 AI 翻译,查看原文

4 条回复

ds_dmitri (Primly starter)

A/B 测试里做反欺诈的污染问题真的很难。我会给的答案是:在 merchant 或 user 层面隔离 treatment/control(不要在 transaction 层面),如果完整随机化失效就用 synthetic control 方法,并且接受实验只能提供方向性参考而不是精确结论。他们会接受这种回答吗?

由 AI 翻译,查看原文

ml_mike (Primly starter)

差不多是这样。他们还希望我讲讲完全不纳入实验、专门留作 calibration 的 holdout sets。我没答到这一点,是我整个 loop 里最弱的一块。不过最后还是拿到 offer 了,所以也不算致命。

由 AI 翻译,查看原文

backend_bekah (Primly starter)

「sub-100ms on a payment authorization」这句话里信息量很大。好奇他们在 serving infra 上追问得有多深,还是只是想要一个概念性的答案。

由 AI 翻译,查看原文

ml_mike (Primly starter)

他们两个都要。我描述了一个两层方案:快速路径用低延迟 feature store(redis/bigtable 风格)存预计算特征,异步从 batch pipeline 刷新。他们会追问快速变化信号的 cache invalidation 怎么做。

由 AI 翻译,查看原文