2016阿里数据挖掘工程师笔试复盘:考点、坑点与能力模型

发布时间:2026/8/29 14:19:26
2016阿里数据挖掘工程师笔试复盘:考点、坑点与能力模型 2016年秋天我坐在电脑前参加阿里巴巴数据挖掘工程师校招笔试。那会儿“数据挖掘”这个岗位还没被大模型包围考察内容更接近机器学习基本功和业务落地能力概率统计、经典算法、SQL、特征工程、业务场景分析。回头整理当时的笔试回忆和复盘笔记我发现这场笔试其实一直在回答一个问题给你一份电商业务数据你能不能把它变成可用的模型、能解释的洞察、能落地的决策。这篇文章就围绕这场笔试展开聊聊当年的题型分布、经典考点、我踩过的坑以及从笔试反推出来的数据挖掘工程师能力模型。如果你是准备数据挖掘、机器学习相关岗位的应届生或者想了解大厂数据类笔试到底考什么的同学这篇内容应该能帮你省掉不少摸索的时间。需要提前说明的是我写的是当年网络流传的真题回忆版本加上个人的复盘总结不代表官方标准答案重点在解题思路和知识体系。1. 2016年阿里数据挖掘笔试考的是业务建模基本功1.1 岗位画像数据挖掘工程师和算法工程师的区别很多人会把数据挖掘工程师和算法工程师混为一谈但从2016年阿里的笔试设计来看两者侧重点完全不同。算法工程师更看重模型创新、论文复现、底层优化笔试里经常出现复杂的模型推导和coding题数据挖掘工程师则更看重对业务的理解、特征工程的敏感度、经典算法的灵活应用以及把数据变成业务动作的能力。当年阿里数据挖掘工程师笔试给我最深的感受是题目不难但特别“绕”。它不会直接问你“逻辑回归的损失函数是什么”而是给你一个电商场景比如“预测用户7天内是否会再次购买”问你用什么特征、什么模型、怎么评估。说白了它考察的是你能不能把一个模糊的业务问题翻译成一个清晰的机器学习问题。1.2 笔试的整体结构与考察重点2016年的笔试是在线完成题量不小我记得大概是30道左右的选择题加上两道大题总时长两小时。选择题覆盖概率统计、机器学习、数据结构、SQL、业务常识其中概率统计和机器学习占了将近一半大题则是典型的业务建模题给一段背景描述要求你写特征方案、选模型、设计评估方式。从考察重点来看数据挖掘工程师笔试有四个核心模块考察模块典型考点我的预估权重概率统计贝叶斯公式、条件概率、期望方差、常见分布30%机器学习LR、树模型、SVM、聚类、协同过滤、AUC/ROC35%数据处理SQL窗口函数、Hive常用操作、数据清洗思路20%业务场景推荐、CTR预估、用户画像、评估指标选择15%这个结构很能说明问题阿里当时需要的数据挖掘工程师是既懂统计和算法、又能上手处理数据、还能理解电商业务的人。纯粹会调包的“调参侠”过不了笔试只懂理论不会写SQL的人同样过不了。2. 高频考点盘点概率统计、机器学习算法与SQL2.1 概率统计不要只会背公式概率统计在笔试里的比重非常大考察方式通常不是让你默写公式而是给你一个具体场景让你算概率或者判断结论对不对。举个例子我当时遇到的一类典型题目是某电商平台中用户A在首页看到了商品推荐位。已知用户点击推荐位的概率是0.2点击后下单的概率是0.3而用户不点击推荐位直接搜索下单的概率是0.1。求用户最终下单的概率以及在用户已经下单的条件下用户点击过推荐位的概率。这道题考的是全概率公式和贝叶斯公式看起来简单但很多人第一步就错了。正确做法是先设事件点击为C下单为B。根据题干P(C)0.2P(B|C)0.3P(B|¬C)0.1。用户下单概率P(B)P(B|C)P(C)P(B|¬C)P(¬C)0.3×0.20.1×0.80.14。然后在已下单条件下点击过推荐位的概率P(C|B)P(B|C)P(C)/P(B)0.06/0.14≈0.4286。这类题目本身不难但需要你快速建模、不遗漏条件。我当时的经验是遇到概率题先把事件用字母表示出来再画条件概率的推导链路不要直接心算。另外贝叶斯公式要理解成“先验概率新证据后验概率”的过程而不是死记分子分母这样遇到复杂题目才不容易乱。2.2 机器学习算法从损失函数到业务含义2016年阿里笔试的机器学习部分主流考察对象还是经典算法逻辑回归、决策树、随机森林、GBDT、SVM、K-means、KNN、朴素贝叶斯、协同过滤。笔试不会让你现场训练模型而是考察三件事算法原理、适用场景、关键参数。以逻辑回归为例高频考点包括损失函数为什么用交叉熵而不用均方误差因为逻辑回归的预测值是概率用MSE会导致非凸优化梯度下降容易陷入局部最优L1正则化为什么能产生稀疏解L1的梯度在零点不可导优化过程中更容易把权重推向0逻辑回归为什么适合做CTR预估特征离散化后可以处理大规模稀疏特征模型可解释性强线上预测快。再比如决策树笔试常考信息增益和信息增益比的差异ID3用信息增益倾向于选择取值较多的特征C4.5用信息增益比对取值较多的特征做了惩罚CART用基尼指数且是二叉树。我当时记了一个口诀“ID3偏科C4.5纠偏CART砍枝。”这样遇到选择题能快速判断。SVM在那次笔试里也出现了而且不是简单的概念题。它问的是“当训练样本线性不可分时SVM引入核函数的本质是什么”。答案是把低维空间的非线性问题映射到高维空间使其线性可分同时核函数计算的是高维空间的内积避免了显式映射带来的计算开销。这个考点让我意识到光会调sklearn的SVC是不够的得理解对偶问题和核技巧的思想。2.3 SQL与数据处理建模前的那道坎SQL在数据挖掘工程师笔试中的地位容易被低估很多人以为会写select、join就够了但2016年的笔试直接考了窗口函数。我印象深刻的一道题是给定用户订单表orders(user_id, order_date, amount)要求统计每个用户最近三笔订单的平均金额。标准解法是用ROW_NUMBER()窗口函数按用户分组、按日期排序取前三条再聚合。WITH ranked AS ( SELECT user_id, amount, ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY order_date DESC) AS rn FROM orders ) SELECT user_id, AVG(amount) AS avg_recent_3 FROM ranked WHERE rn 3 GROUP BY user_id;这道题考察的不只是SQL语法还有你知不知道“最近三笔”这种业务描述怎么翻译成窗口函数。我当时的建议是准备数据挖掘类笔试SQL一定要练到能熟练用ROW_NUMBER()、RANK()、DENSE_RANK()、LAG()、LEAD()、SUM() OVER()这些窗口函数。因为实际工作中特征工程大量依赖这些操作笔试考它们非常合理。3. 一道推荐场景真题的完整拆解3.1 题目回放预测用户对商品的点击率2016年阿里数据挖掘工程师笔试的大题有一道典型场景是“预测用户对推荐商品的点击率”。背景大概是这样电商平台用户在首页看到一个推荐位系统会展示商品图片、标题、价格等信息你需要基于用户历史行为、商品属性、上下文信息构建一个CTR预测模型。要求写清楚三部分特征设计方案、模型选择理由、评估指标与验证方法。这类题目在数据挖掘笔试里属于“开卷式”问答没有标准答案拼的是思路完整度和工程意识。我当时在考场上看到这道题第一反应是先把业务目标拆清楚点击率预测本质上是一个二分类问题正样本是“曝光后点击”负样本是“曝光后未点击”核心难点在于特征如何刻画用户的兴趣和商品的吸引力。3.2 我的解题步骤从业务理解到模型评估我当时在答题区按五个层次来写这个框架后来也一直沿用第一层是特征设计。我把特征分为四类用户特征历史点击率、购买力等级、活跃时段、最近浏览类目商品特征价格带、类目、品牌、历史点击率、好评率用户-商品交叉特征用户对该类目的历史点击率、用户与该品牌的交互次数上下文特征展示位置、时间段、天气、是否大促。特别要强调的是交叉特征纯粹的用户特征和商品特征只能刻画群体偏好交叉特征才能刻画“这个用户是否喜欢这件特定的商品”。第二层是数据清洗与样本构建。要注意样本的时间一致性不能用未来的数据预测过去的行为负样本的采样比例也需要考虑如果直接全量负样本模型会更加偏向预测负类通常可以按一定比例对负样本降采样但在线上评估时要还原真实分布。第三层是模型选择。我当时的建议是先用逻辑回归做baseline理由是可解释性强、训练快、线上部署简单如果特征工程做得足够好LR的效果已经可以接受。在此基础上可以尝试GBDT提取特征组合再喂给LR也就是经典GBDTLR结构既能处理非线性又保留了LR的可解释性。如果要进一步追求效果再考虑FM、FFM这类因子分解模型但笔试阶段不必展开太深。第四层是评估指标。CTR预估的核心指标是AUC因为它不依赖具体阈值能衡量模型把正样本排在负样本前面的能力。同时要关注点击率预估值的校准程度用校准曲线或PAUC来评估预测概率的绝对值是否准确因为线上排序往往需要的是准确的概率值而不仅仅是相对顺序。第五层是线上A/B测试方案。笔试里提到这一点是很大的加分项离线AUC提升不代表线上效果提升需要设计分流实验控制实验组和对照组流量观察点击率、下单转化率等业务指标并设置显著性检验。这说明你懂“建模只是开始上线验证才是终点”这个流程。3.3 阅卷视角下的加分项与扣分项这类题目阅卷时不是按“有没有给出唯一答案”来评分的而是看回答里有没有体现出数据挖掘从业者的思维框架。我复盘的时候整理了三个加分项和三个扣分项加分项第一是特征设计里有明显的业务含义比如“价格带差异”“用户购买力”而不是只写“用户ID、商品ID”。第二是提到了样本偏差和负样本采样问题体现数据意识。第三是评估环节同时聊了离线指标和线上实验体现闭环思维。扣分项第一是只堆模型名字不写理由。写“用深度学习”“用XGBoost”却没有解释为什么等于没写。第二是特征、模型、评估三者脱节比如特征工程和模型选择之间没有逻辑关系。第三是忽略时间维度没有考虑特征的时间窗口或者训练集和测试集的时间顺序这在数据挖掘笔试里是致命伤。4. 业务场景题最容易翻车的三个点4.1 把业务问题翻译错目标定义偏差数据挖掘笔试的业务场景题第一个坑就是目标定义。很多同学看到“预测用户购买意愿”就直接建模二分类但业务方真正要的可能是“预测用户在未来7天内的购买金额”这是一个回归问题也可能是“预测用户的购买概率”这是二分类还可能是一个排序问题比如“如何给用户推荐最可能购买的商品”。翻译错误的原因通常是没有去追问业务方背后的决策逻辑。我在笔试中给自己定的流程是先写清楚“业务诉求是什么—用这个预测结果做什么决策—需要模型输出什么样的预测值”三步走完后再动手设计特征和算法。比如“预测未来7天购买金额”可以被用于确定营销预算分配模型输出的是连续值评估指标用MAE或RMSE“预测是否购买”则可以被用于优惠券发放模型输出的是概率评估指标用AUC或GAUC。4.2 评估指标选错离线指标与业务目标脱节场景题的第二个翻车点是评估指标选错。有同学在“预测用户是否流失”的题目里写“准确率95%”但流失用户占比只有3%即使模型把所有用户都预测为不流失准确率也有97%这显然不合理。这种场景应该使用精确率、召回率、F1或者更业务化的指标在保证一定召回率的前提下尽量提高精确率因为运营预算有限打电话挽留的用户名单必须精准。更复杂的情况是排序业务的评估。推荐系统场景里AUC是一个常用指标但它对所有位置一视同仁实际业务中用户只看前几屏排在前面的推荐位更重要这时候可以用GAUC——按用户分组计算AUC再加权平均因为不同用户的曝光次数和行为差异很大。我在笔试里遇到推荐类题目时如果只写AUC我会再补一句“需要结合GAUC或NDCG关注头部排序效果”这能让答题有层次感。4.3 忽略数据可得性理想模型与现实约束第三个坑是我自己踩过的只顾着设计漂亮的模型没考虑数据是否拿得到。一道经典的题目是“预测用户是否会购买某商品”我设计了“用户最近一次浏览该商品的时间”“用户对该商品类目的偏好度”“商品库存紧张程度”“实时价格变化”这些特征看起来很全面但忘了标注这些数据是在什么时点可得的。数据挖掘工程师和算法研究员最大的区别就在于研究员可以假设有数据工程师必须考虑数据能不能按时产出。比如“实时价格变化”特征如果只能在T1离线仓库中拿到那模型在实时推荐场景里就无法使用。笔试答题时我后来会刻意在特征设计后面加一个“数据可得性”说明哪些特征离线可用哪些特征实时可用哪些特征需要埋点上报后才能使用。这往往是区分“纸上谈兵”和“工程可落地”的关键。5. 复盘我踩过的坑和改进方案5.1 时间分配上的失误2016年笔试我犯的第一个错误是在选择题上耗时太多。前10道概率题虽然不难但每道题都要仔细推导我大概花了40分钟等做完选择题只剩不到50分钟两道大题被挤得写得很赶。事后复盘发现概率题如果读题后10秒内没有清晰思路应该先标记、跳过等做完后面的大题再回头算。给后来人的建议是先花3分钟扫描全卷优先做自己最熟悉的大题大题分值高、容易拉开差距选择题控制在每题2分钟以内超过就跳过。不用追求满分但要保证把会的分都拿到。5.2 手推公式暴露的薄弱点第二道坎是手推公式。笔试里有一道题让我卡了很久是“写出逻辑回归损失函数对权重w的梯度推导过程”。我当时知道损失函数形式但推导时在处理sigmoid函数的导数时绕了远路浪费了不少时间。后来我把常见算法的推导都手推了一遍线性回归的闭式解、逻辑回归的梯度、朴素贝叶斯的参数估计、SVM的拉格朗日对偶。这里分享一个实用的复习方式不要只看书要拿一张白纸从头推。你觉得自己懂了和你能不看资料推出来是完全不同的两件事。我整理了一个“手推清单”包含十几个高频推导笔试前一周每天过一遍效果很好。5.3 备考资料与刷题路径关于备考我当时的资料组合是这样的资料用途优先级《统计学习方法》李航理论基础重点看LR、SVM、决策树、K-means必看PRML相关章节概率图模型基础少量涉及选看历年校招笔试回忆帖了解题型风格找手感必看SQL练习题练窗口函数、行列转换、连续问题必看Kaggle/Tianchi入门赛理解特征工程和模型评估的完整流程选看刷题路径上我建议按照“概率统计→机器学习原理→SQL→业务场景题”的顺序推进。概率统计是基础机器学习原理是核心SQL是工具业务场景题是综合应用。每复习完一个算法就找对应的笔试题目来练不要只做无脑选择题要拿白纸写推导过程。6. 笔试之后我留下的三份沉淀现在回看2016年这场阿里数据挖掘工程师笔试它给我的不是一份offer而是一套思考问题的框架。第一份沉淀是“所有模型都是业务问题的翻译”拿到任何题目先问业务需要什么决策再设计预测目标最后才选模型。第二份沉淀是“永远要写清楚数据从哪来”特征不是凭空变出来的数据时点、采集成本、口径一致性都是模型生命线。第三份沉淀是“离线提升不算赢”没有验证链路、没有线上跟踪的模型只能算作业不能算解决方案。这三句话后来陪着我做了很多数据项目也陪我带过不少新人。如果你正在准备类似的数据挖掘笔试我想说题目每年都在变但考察的内核很稳定。把概率统计、经典算法、SQL、业务思维这四样东西打扎实任何一场笔试都不会慌。别迷信网上流传的“真题答案”那只是验证自己思路的工具不是背诵的材料。真正的笔试考的是你是否具备一个数据挖掘工程师的思维方式。