今年春天我走了 Square 的 MLE 面试全流程,岗位是在他们的 risk/fraud ML 团队。我就直说了:对一家通常不在「FAANG 持久战」梯队的公司来说,这套流程比大家预期要难。下面是具体经历。
总共六轮: Recruiter screen ML fundamentals(60 分钟) Coding round(LC 风格,60 分钟) ML system design(60 分钟) Behavioral(45 分钟) Hiring manager 深度对话
ML fundamentals: 面试官问得很深。问题从梯度下降、正则化一直到类别不平衡的分类问题,这对欺诈检测非常贴合。他们问我会怎么处理极端类别不平衡(欺诈率大概 0.1%),除了 accuracy 还会用什么指标,以及我会怎么向非技术 stakeholder 解释模型决策。解释性这块我有点措手不及。我答得还行,但本可以更具体地提到 SHAP values 和 partial dependence plots。
Coding: 两道中等偏上的题。一道偏算法(sliding window 模式),另一道更像你在真实工作里会遇到的数据清洗问题。都挺合理,没有刁钻。
ML system design: 这一轮我会建议任何人都重点准备。我的题目是:设计一个实时交易欺诈检测系统。我需要覆盖特征工程(包括一些实时 feature store,我之前用过)、模型训练 pipeline、推理延迟要求、以及模型漂移监控。面试官会强力追问快速在线模型和更强 batch 模型之间的权衡。这里支付网络的时间约束很关键:在刷卡那一层你只有毫秒级。
欺诈检测的领域知识确实重要。不是说你必须在 Square 做过,但那种泛泛的 ML 空话不会过。要具体讲清楚特征工程怎么选、延迟和精度怎么取舍、以及在金融场景下怎么监控 concept drift。
Offer 还挺有竞争力:我在 SF 的总包大概 $260k,对标 L5,base 加 RSUs,标准 4 年 vest。大体符合我对 2026 年非 FAANG fintech 同级别的预期。