我走了 GS ML engineer 的 loop,岗位在 risk and analytics 组。先把预期说清楚:这不是偏 research 风格的 ML 面试。
流程:phone screen、take-home、三轮技术、一轮 behavioral。
phone screen:基础题。ML fundamentals、几道概率题、一个简短 coding 题。过滤轮,不花哨。
take-home:在一个金融数据集上做 classifier,评估效果,写出方法论。他们在意你如何处理 class imbalance(数据非常不平衡),以及你如何把结果解释给非技术受众。我在 notebook 之外写了一个 2 页的 PDF,效果似乎不错。
技术轮 1,ML 深度:tabular/time-series 数据的 feature engineering、regularization 的 tradeoff、ensemble 方法。他们问我在无法获得更多数据时如何处理 overfitting。还有:生产环境的 model monitoring。如何检测模型是否变 stale。这在 GS 很严肃,因为 risk 场景里 stale model 是真实的责任风险。
技术轮 2,coding:Python,数据处理加上一些算法内容。有一道题明显来自他们实际工作(已匿名)。中等难度。他们允许我问澄清问题。
技术轮 3,system design:设计一个用于实时 credit risk scoring 的 ML pipeline。延迟约束很紧。他们追问 retraining cadence、feature store、rollback 策略。
behavioral:比我预期重。主题是「how do you handle a situation where your model is right but stakeholders don't trust it.(当你的模型是对的,但 stakeholder 不信时,你怎么处理?)」,以不同形式出现了两次。
GS 的 ML 岗更接近生产与可靠性意义上的 ML engineering,而不是 research 或建模创新。如果你想要的是这个,很匹配。如果你想在架构上 push frontier,可能不是最合适的地方。