几周前刚面完 IBM 的 MLE loop。岗位在 Watsonx platform team,所以带了一些 IBM 的语境,但大多数考察点对 MLE 都通用。
整体结构:recruiter screen,然后两天 4 轮(等同 virtual onsite)。
ML fundamentals(60 分钟)。覆盖很广。问题从 gradient descent 的变体、正则化(L1 vs L2 要讲直觉,不只是公式),到「你会如何处理线上分类器严重的 class imbalance」。一个坑点:他们问了 model drift,以及你会如何在一个部署了一年的系统里检测 drift。这更偏 MLOps,不只是纯 ML,所以两边都要懂。
Coding 轮(60 分钟)。两道题。第一道是 LC 中等的 array/hash。第二道更 ML 口味:只用 NumPy 从零实现一个 k-nearest-neighbors classifier。代码要干净、可读,比花活更重要。后面追问了时间复杂度。
ML system design(60 分钟)。这一轮 Watsonx 的语境就很明显了。让我设计一个面向企业客户的文档分类 pipeline。规模是「百万级文档、数万用户、延迟重要」。聊了 training vs inference 的拆分、feature store、模型版本管理、A/B testing 基建、监控。面试官追得很紧的是「规模上来以后哪里会坏」,我挺喜欢这种追问。
Behavioral(45 分钟)。标准但问得很细。STAR 格式。重点在跨团队协作,以及我怎么处理对模型选择的分歧。有个我没准备好的题:「讲讲一个你上线的模型效果不达标,你做了什么。」这题要准备一个真实回答。
观察:IBM 的 MLE 面试更偏 ML + MLOps 的广度,而不是特别深的算法 coding。LLM/GenAI 也会提到,但不是整场面试的全部。对做过生产系统落地的人更友好,而不是只做 Kaggle 的。