上个月走完了 ibm 的 DS 面试流程,目标是 watsonx 下面的 AI/ML 产品数据分析岗。总共四轮,分两周。
sql 轮: 这是最标准的一轮。他们给你一个 schema(我拿到的像是客户事件表,有 session 日志和产品使用数据),然后你写四到五条复杂度递增的 query。会考 window functions、CTEs,难一点的会有 self-join。不算离谱,但也绝不是那种 'select count(*)'。
tip:写之前先把每道题都读一遍。我差点在 Q3 漏掉一个过滤条件,因为打字太快直接开写了。
统计和概率: average treatment effect、A/B test power calculation、以及「怎么检测 time series 指标是否异常」。我还被问了 p-value 的解释,听起来很基础,但他们其实想让我讲清楚它不代表什么(显著性 != 效应大小之类)。如果你像我一样有时候会偷懒,统计基本功还是得补一补。
case / 产品分析: 'IBM has an enterprise client whose model accuracy has dropped 8% over the last quarter. walk me through how you'd diagnose this.'(IBM 有个企业客户的模型准确率在上个季度下降了 8%。你会怎么排查?)一开始很开放,你问澄清问题后会越来越具体。他们在看你会不会检查 data drift、输入特征分布漂移、训练 pipeline 变化、上游 schema 变化。我漏掉了一个很明显的分支(最近的数据标注流程变更),他们提示了我,没关系。
ml / 建模轮: 没有你想象的那么深。更多是「为什么在 X 场景用 gradient boosting 而不是 logistic regression」而不是「推 backprop 公式」。会聊 feature engineering、怎么处理 class imbalance、以及模型部署和监控。
结论:SQL 是基本盘,统计要扎实,case 轮才是真正的分水岭。很多建模很强的 DS 候选人,会在结构化排查这块翻车。