今年早些时候我走完了 Instacart 的 MLE loop。目标是他们个性化/推荐团队里的 senior ML engineer 岗,分享一下我看到的情况。
简版:这是一个真正的 MLE loop,不是披着外衣的数据科学面试。他们在意的是系统,不只是模型。
轮次: recruiter screen(30 分钟) phone screen:ML fundamentals + coding(45 分钟) virtual onsite:4 轮
phone screen: 一道 python coding,典型 array manipulation。然后大概 15 分钟 ML 问答:logistic regression 怎么工作、bias-variance trade-off 是什么、在业务语境下解释 precision-recall trade-off。不算难,但你要讲得清楚且准确。
virtual onsite:
ML design: 这是核心轮。我拿到的问题是:「design a recommendation system for Instacart's 'you might also need' feature.(为 Instacart 的「you might also need」功能设计一个推荐系统)」。开放题。他们想看:我怎么定义问题(什么算「好」?)、feature engineering 的选择、模型选择和理由、offline vs online 的评估指标、以及怎么处理 cold start。差不多一小时,而且会深挖。如果你有 recsys 经验,就多用这部分。如果没有,补一补 collaborative filtering、matrix factorization、以及基础 two-tower 模型。
coding: numpy/pandas 题,主要是在大数据集上做 feature 计算。vectorized operations 很重要。他们会点出那种大量 for loop 的解法。
ML fundamentals: 深度很够。gradient boosting 的高层原理、解释 attention mechanism、L1 和 L2 regularization 的区别和使用场景、训练集类别不平衡怎么处理。别只背定义,他们会要你应用。
behavioral: 标准。讲一次你上线的模型表现不如预期的经历,以及你学到了什么。
感受: instacart 的 ML 问题确实很有意思。shoppers 和 customers 的供需动态、地理约束、实时库存变化,这些语境在面试里以一种很好的方式出现。面试官看起来确实在做这些东西。
我的 offer 在 SF senior 的 $280-320k TC 区间,按 2026 来看算有竞争力,但不是顶配。