刚从 Visa 的 MLE 面试里出来,面的是他们的 fraud and risk ML team。发帖是因为网上信息太少,而且现有的也都是几年前的。
背景: 我申请的是 Foster City, Calif. 的 senior MLE 职位。我的背景主要是生产环境 ML,有一些 NLP,很多 recsys。Visa 的 ML 组织在他们的 Visa Analytics Platform 下面,重点很集中:fraud detection、credit risk scoring、transaction anomaly detection。面试前知道这些会很有帮助。
面试流程: recruiter screen(30 分钟):标准的背景了解、薪资对齐、签证状态(他们可以 sponsor H1B)。很快。 technical phone screen(60 分钟):分两部分。前半是 ML 概念:他们问了 gradient boosting 怎么处理 class imbalance(我聊了 XGBoost 的 scaleposweight 和 focal loss)、你会怎么在生产环境的 fraud 模型里监控 model drift、以及在 fraud 里 precision-recall 的权衡和在只看 recall 的场景有什么不同。后半是一道 LC 中等难度的 coding,没啥离谱的。 onsite(4 轮线上): ML system design: 设计一个实时 fraud scoring 系统,要处理每秒 24,000+ 笔交易(Visa 的真实规模)。他们想聊:从原始交易数据做 feature engineering、模型服务的延迟要求、如何处理 train 和 serve 之间的 feature skew、以及在不能冒险让坏模型上线的情况下 A/B testing 框架怎么做。这轮最难。 coding: 两题。一题图(感觉 LC medium),一题更像 pandas/SQL 风格的数据处理,但用 Python。没有在语法上为难我。 ML depth: behavioral+technical 混合。把一个项目深入讲透,他们会追问我的 feature selection 选择、怎么评估模型、会怎么做得更好。感觉像技术复盘。 behavioral: 标准领导力问题。不靠职权影响他人、和 PM 有分歧怎么处理、项目进行到一半遇到数据质量问题怎么办。
他们看重什么: 实时 serving 约束在这里很关键。如果你没怎么考虑过 P99 latency,或者在严格 SLA 下做过模型服务,面试前最好补一下。还有:fraud 的 class imbalance 是永恒主题。你要对怎么处理它有自己的观点。
时间线: 从申请到 offer 6 周。offer 大概是 ~$195k base + 一点 equity,senior,Foster City。总包大概 $225k,取决于 bonus。