我今年早些时候面了 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 来说不算惊人,但考虑到工作复杂度还算可以。