ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

网易数据挖掘实习生笔试题复盘:高频考点与解题策略

2026/8/29 1:44:16 拓冰建站 浏览量
网易数据挖掘实习生笔试题复盘:高频考点与解题策略 最近整理电脑里的旧资料翻出一份 2018 年网易数据挖掘实习生笔试题的复盘记录。那会儿我正集中刷各大厂的校招笔试网易这套题给我的印象特别深题目本身不算偏但非常典型的“看着都会做起来处处是坑”。这几天后台也有好几个准备投数据岗实习的同学在问这类笔试到底怎么复习我干脆把当时拆这套题的心得整理出来结合后来做数据挖掘工作的体会聊一聊这类笔试背后的出题逻辑以及每一类考点到底应该怎么准备。如果你是准备投数据挖掘、算法、数据分析类实习的在校生或者刚转行做数据方向、想补一补基础功底的从业者这篇内容应该能帮你少走不少弯路。我不会把整套卷子的题目顺序背出来而是把考点模块、解题思路和易错点抽出来讲透尤其是概率统计和机器学习那几类高频题我会拿一道典型的综合题做完整的拆解。你哪怕只把这篇里的思路吃透再去做任何一家大厂的数据岗笔试题都会觉得从容很多。1. 这一轮笔试到底在考什么从岗位画像反推考点设计在聊具体题目之前先想清楚一个问题网易招数据挖掘实习生为什么要考这些东西你如果只看岗位 JD会发现要求写的是“熟悉常用机器学习算法”“掌握 SQL/Python”“对数据敏感”之类的笼统描述。但落到笔试出题人其实是在用一张卷子快速判断三件事你的数学底子够不够硬、你的编程基本功能不能直接上手干活、你有没有基本的业务数据感。1.1 数据挖掘实习生的真实能力模型实习生和正式员工最大的区别在于公司没指望你入职第一天就独当一面但要确定你在两三个月内能被带起来。数据挖掘这个方向对思维能力的要求非常具体你得看得懂一堆 SQL 表和日志数据做核心指标统计你得会写 Python 脚本处理数据、跑模型你还得理解概率统计里那些抽象概念因为它们直接对应到用户行为分析、A/B 测试、推荐系统这些实际业务场景。所以笔试出题不是漫无目的的它是在模拟你入职后可能遇到的真实工作场景。比如概率题考贝叶斯公式是因为朴素贝叶斯、CTR 预估里的很多想法都源于它机器学习题考过拟合和正则化是因为你实习中调模型一定会遇到SQL 题考留存率和 join是因为日常数据提取就是这么干的。1.2 2018年前后互联网数据岗笔试的卷面结构那两年是数据岗校招笔试风格比较稳定的时期网易这类大厂的卷子通常是选择题单选多选考基础概念和计算一般占 40 到 50 分简答或主观题考模型理解和场景设计占 20 到 30 分编程题 1 到 2 道考代码基本功占 20 到 30 分。数据挖掘岗的试卷里还会夹带概率统计和 SQL 的题目不一定单独出 SQL 题而是会放在选择题或简答题里。我当时拿到卷子第一感觉是“内容好多”后来才明白时间压力本身就是筛选手段之一。你要在有限时间内做完全部题目必须懂得取舍和快速判断。这种压力下哪些知识点你是真的熟练、哪些只是“背过概念”一测便知。所以准备笔试不能只看书必须刷题而且要有意识地控制做题时间。1.3 选择题里的“陷阱”设计思路网易这类公司出选择题很有一套干扰项往往不是乱写的。比如考正则化 L1 和 L2 的区别选项里会把“L1 能得到稀疏解L2 也能得到稀疏解”放在一起你如果只是模糊记得“L1 稀疏、L2 防止过拟合”很容易踩坑。再比如考模型评估指标题干里给一个不均衡数据集问你哪个指标更能反映模型效果选项里准确率、召回率、F1、AUC 都摆出来选错的大有人在。我复盘时的一个体会是选择题真正想考的不是“你记住了什么”而是“你有没有真正理解这个概念和另一个概念的边界在哪里”。所以准备阶段我建议你把高频概念的对比都整理一遍比如 LR 和 SVM 的对比、bagging 和 boosting 的对比、L1 和 L2 的对比、准确率和召回率的对比。不用背得多细关键是把“为什么”和“什么场景下用哪个”想清楚选择题自然好做。2. 高频考点逐项拆解概率统计、机器学习与编程基础一份数据挖掘笔试卷里最容易拉开差距的三大块就是概率统计、机器学习和代码能力。很多同学复习时喜欢盯着最新的深度学习模型看结果上了考场发现卷面上大量出现的还是概率题、SQL 题和基础机器学习题。这些年我参加过不少面试也做过招聘坦白讲对实习生来说基础扎实比知道几个冷门模型重要得多。2.1 概率统计网易笔试里最稳定的“送分题”与“送命题”为什么大厂数据岗笔试必考概率统计因为数据挖掘做的就是“用数据做推断”这件事。概率论里的条件概率、全概率公式、贝叶斯公式、期望方差、常见分布每一个都在日常工作里能找到投影。2018 年那套题里概率统计大概占了选择题的三分之一难度从初中水平的古典概型到需要仔细推导的贝叶斯题都有。最常见的考法是给一个业务场景让你算条件概率。比如用户点击、购买、收藏这些行为之间存在关联题目给出几个已知概率要求反推另一个条件概率。这类题其实就是在考贝叶斯公式的变形但因为套了一层业务外壳很多人会慌。我建议你在准备时把贝叶斯公式的三种形式都写熟练然后专门找那种“明明不难但包装得很花哨”的题目练手。另一种常考的是期望和方差经常结合决策树、随机森林这种模型来出。比如问 bagging 为什么能降低方差、对噪声敏感不敏感本质是在考你对模型偏差方差分解的理解。这种题表面上在考机器学习实际上还是在考统计功底。概率统计这块一旦复习扎实很多机器学习题也顺带着就解决了。2.2 机器学习基础重点不在推导公式而在模型选择与评估实习生笔试里的机器学习题一般不会让你从零推导 SVM 的对偶问题而是考你对常用模型的了解程度。我当时整理的重点是LR、决策树、随机森林、GBDT、朴素贝叶斯、K-Means、KNN、SVM 这些经典模型的基本思想和适用场景。其中 LR 是绝对的 C 位因为它在工业界用得太广了笔试和面试都很喜欢考。关于 LR你需要清楚的有它本质上是在做线性分类输出可以解释为概率损失函数为什么用交叉熵而不用均方误差它怎么处理特征共线性和大规模稀疏特征。有一次我看到一道题问 LR 怎么处理非线性问题很多人答不上来其实答案就是特征工程比如构造交叉特征、离散化、核技巧等。这类题目考的是你有没有真正用过这些模型而不是只背了概念术语。模型评估部分也是高频考点。准确率、精确率、召回率、F1、ROC、AUC、交叉验证、过拟合和正则化这些都是必须烂熟于心的。2018 年网易那套卷子里有一道印象很深的题在一个正负样本比例严重失衡的数据集上问用什么指标评估模型最合适。这道题的正确方向是 AOC 或者召回率精确率组合而不是准确率因为准确率在不均衡数据下会产生很大误导。类似的考法现在依然很常见你需要把每个指标的定义、适用场景和局限都理清楚。2.3 编程与数据结构笔试里的“硬通货”任何人都没法临时抱佛脚数据挖掘岗位的编程题通常不会像纯后端开发岗那样考特别复杂的算法但也不会太简单。我当时面对的编程题范围大概是在 LeetCode 的 easy 到 medium 之间核心考察点包括数组、字符串、链表、栈、队列、哈希表、排序、二分查找、递归、动态规划入门。Python 和 C 都可以选但用 Python 的人明显更多因为代码短、写起来快。编程这块我真的建议平时保持手感至少保证每周刷几道题不然考场上很容易出现“思路秒出、代码各种 bug”的尴尬。笔试平台一般只给你一个文本编辑器没有 IDE 的自动补全所以你得习惯裸写代码。还有一点笔试时程序如果只是“本地对了”没用要注意输入输出的格式尤其是多组输入的情况很多人挂在字符串和边界条件的处理上。网易那套题里我记得有一道关于数组去重和排序的题现在看来很简单但当时限时环境里有不少人在边界条件上翻了车。我的建议是刷题时养成习惯先思考暴力解法再优化提交前一定要检查空数组、单元素数组、重复元素、负数这些用例。这些习惯练好了笔试写代码会稳很多。2.4 SQL 与数据操作数据挖掘实习生躲不开的日常技能有些同学复习数据挖掘笔试时会忽略 SQL觉得那是数据分析师的活。这个想法大错特错。数据挖掘工程师每天都要从数据仓库里取数、建特征、验证假设SQL 是基本功。2018 年那套题里 SQL 占比不算特别高但很考察实战能力不是只背几个关键字的水平。常考的 SQL 点有select 查询和条件过滤、group by 分组聚合、having 和 where 的区别、多表 join、子查询、去重、窗口函数row_number、rank、lag 等。网易喜欢把 SQL 放在业务场景里考比如让你统计某个时间段的用户留存率、计算每个品类的销量 Top N、把用户行为表和商品表关联起来做特征提取。这类题如果你只是“会写 select”做起来会非常吃力。给你一个简单的窗口函数示例这种写法在取数场景里很常见select user_id, order_date, amount, rank() over(partition by user_id order by amount desc) as amount_rank from orders where order_date 2018-03-01这段 SQL 的作用是统计每个用户按金额排序的订单排名比如取每个用户金额最高的那个订单。笔试里如果考“每个用户最近一次下单”这类问题用 row_number() 配合 partition by 就能顺手解决。SQL 这块没有捷径多写多练LeetCode 的数据库题库足够用来应付大部分笔试。3. 从一道“概率模型业务”综合题出发完整解题拆解与得分技巧前面把考点模块过了一遍可能你还是觉得有些抽象。这一节我挑一类网易笔试里特别经典的综合题完整走一遍从审题到作答的全过程。这类题通常既有概率计算又有模型思想最后还能延伸出业务解读非常能检验一个数据挖掘实习生的综合素质。3.1 题目场景还原我把网上流传的版本做了一点整理核心场景是这样的某电商平台商品详情页的曝光到购买转化路径中已知全站商品详情页的平均点击率是 8%点击后的购买转化率是 3%。现在平台对一个曝光流量打了“高意向用户”标记历史数据显示在被标记的曝光流量中实际完成购买的比例是 1.2%而标记动作覆盖了全站 10% 的曝光流量。现在随机抽取一个完成了购买的曝光流量问它在曝光时被打上“高意向用户”标记的概率大约是多少这类题套了一个推荐系统的外壳本质是贝叶斯公式的典型应用。很多同学看到一堆百分比就头大其实只要把事件的符号定义清楚计算过程非常简单。3.2 第一层定义事件并用贝叶斯公式求解先定义事件A 表示“该曝光被标记为高意向用户”B 表示“该曝光最终完成购买”。题目给出的条件翻译过来就是P(B|A)1.2%P(A)10%P(点击|曝光)8%P(购买|点击)3%。这里需要先算全站一个曝光最终完成购买的概率 P(B)。根据题目中给出的路径P(B)8%×3%0.24%。注意这里隐藏了一个假设点击行为和购买行为之间的转化是独立的即 P(购买|曝光)P(点击|曝光)×P(购买|点击)这在类似的业务题里是默认的简化假设一般不需要特别说明。然后套贝叶斯公式P(A|B) [P(B|A) × P(A)] / P(B)把数字带进去P(A|B) (1.2% × 10%) / 0.24% 0.12% / 0.24% 50%也就是说在已经完成购买的曝光流量中大约有一半的流量在曝光阶段就被标记为“高意向用户”。这个数字看起来很高但其实是合理的因为高意向标记的购买率远高于全站平均购买率说明这个标记模型是有区分度的。如果这是在笔试现场我会建议你把公式完整写出来不要只写答案。因为阅卷时是按步骤给分的公式写出来即使最后计算失误也能拿到大部分分数。我还可以顺手用 Python 写一段计算过程在平时练习时防止自己低级算错p_click 0.08 p_buy_given_click 0.03 p_buy p_click * p_buy_given_click p_mark 0.10 p_buy_given_mark 0.012 p_mark_given_buy (p_buy_given_mark * p_mark) / p_buy print(fP(mark|buy) {p_mark_given_buy:.2%})运行结果是 50.00%。做题时用这种方式验算特别快而且不容易出错。3.3 第二层从概率题抽象出建模思路上面这道题如果只是算出 50%在笔试里能拿到基础分但如果你想拿更高的分尤其是简答题里的加分项就得再往前一步把它抽象成一个模型评估问题。你仔细想想P(B|A)1.2% 和 P(B)0.24% 这两件事放在一起其实就是一个二分类器的效果描述。标记模型把 10% 的曝光判为正样本它在这个集合上的真实转化率提升到了全站平均的 5 倍这个倍数就是常说的 Lift 值。一个有用的排序模型Lift 值应该随着筛选比例的变化而变化。你甚至可以画出 Lift 曲线横轴是标记的比例纵轴是这个比例下的转化率提升倍数曲线下面积越大说明模型排序能力越强。如果再往深一点P(A|B) 这类后验概率其实也可以被当作一个新的特征输入到更复杂的排序模型里。这种“用模型输出当特征”的嵌套用法在真实的推荐系统和广告系统里非常常见。笔试能写出这一层至少说明你不是单纯会套公式而是能把概率题和真实建模链路联系起来这个能力是数据挖掘工程师很看重的。3.4 第三层业务层面的回答范式如果在简答题里出现类似的场景回答时我建议按“假设—公式—计算—业务解读”四段式来写。第一步把事件符号定义清楚第二步写出贝叶斯公式第三步代入数据算结果第四步解释这个结果对业务意味着什么。比如上面这道题业务解读可以是标记模型的精准率确实不错但有 50% 的真实购买流量没有被提前标记出来说明标记策略的召回还有很大提升空间后续可以考虑加入更多行为特征来优化模型。这种答题方式有天然的好处就算某个环节数据算错了阅卷人也能看出你思路完整、逻辑清晰给分会松很多。我后来和别人交流时发现很多笔试分数高的人并不是每道题都会做而是他们会“把会做的题答得让人挑不出毛病”。这个技巧在笔试里特别值钱。4. 答题策略与时间分配如何把会做的题全做对很多同学复习时只关注知识点忽视了答题策略这是很吃亏的。数据挖掘实习笔试的题量通常不小一般人很难在限定时间内全部做完。我当时的经验是会做的题拿满分、不太会的题拿步骤分、完全不会的题果断放弃这个策略能保证你拿到足够进面试的分数。4.1 选择题也能用排除法和代入法快速拿分选择题最大的优势是答案就在那里不会做也能蒙。但“蒙”也有技巧不能完全随机。我常用的方法是先看选项里有没有明显违背常识或公式的比如概率超过 1、正则化方向说反、评估指标定义错这种直接排除。单选题排除到二选一时再根据题目条件代入特殊值验证往往能锁定正确答案。多选题则要保守一些一般情况下不确定的选项不选因为少选通常会得一部分分选错可能全扣。排除法看起来很简单但需要你对基础概念特别熟。考前我把机器学习里常见的“坑点”都列了一遍比如准确率和精确率的定义、ROC 曲线的横纵坐标、K-Means 的初始点敏感性、朴素贝叶斯的条件独立假设、bagging 降低方差而 boosting 降低偏差等。这些东西在选择题里反复出现梳理一遍收益极高。4.2 主观题的“四段法”拿分框架前面提到的主观题四段式这里再展开说说。数据挖掘岗位的主观题一般会给出一个业务场景问你如何设计方案。比如“如何预测用户未来七天的流失概率”“如何评估一个新推荐策略的效果”这种题没有标准答案但阅卷人有明确的得分点。你写的时候要主动把得分点喂到阅卷人眼前。我的写法是第一段把问题抽象成监督学习问题定义样本、特征和标签第二段给出模型方案说明选某个模型的原因顺带提一嘴评估指标第三段展开说特征工程列举可能有效的特征类别第四段说清楚评估方式和上线方案。这样写下来即使模型细节不够深也能让阅卷人看到你有完整的项目思维。平时准备时我建议每个方向都准备一个答题模板比如分类问题、回归问题、推荐问题、A/B 测试问题各写一遍考场上的压力会小很多。4.3 编程题与时间分配的实战经验编程题我一般会放在做完选择题之后、主观题之前做。原因是编程题很吃状态脑子清醒的时候写代码效率最高。拿到题目后先别急着写花两三分钟把暴力解法想清楚确保能跑通如果很快想出了优化思路就直接写优化版本如果想不出来就用暴力解法保底。笔试平台只看测试用例通过情况暴力解法能过一部分用例也比交白卷强很多。时间分配上我当时给自己定的标准是选择题 60 分钟、编程题 30 分钟、主观题 30 分钟留一点时间检查。每道选择题如果超过两分钟还没思路先跳过后面有时间再回来琢磨。整张卷子宁可做完 70% 但正确率高一些也不要全卷都写了但到处是坑。我见过太多同学到最后因为纠结一道难题导致后面的大题根本没时间看非常可惜。题型建议时间目标单选/多选60 分钟保基础分遇难题先标记跳过编程题30 分钟至少完整解出 1 道题边界条件优先简答/主观题30 分钟按“四段法”写完整框架能多写不多写少写5. 复盘与准备路线从笔试到面试数据挖掘实习生该怎么系统备考笔试不是考完就结束了。对真正想拿 offer 的同学来说笔试只是第一关后面还有面试。笔试里暴露出来的问题如果不复盘面试还会踩同样的坑。我在那一段时间养成了一个习惯每做完一套题就把错题和犹豫过的题整理到一张表里标上知识点、错误原因、正确思路每周统一复习一次。这个方法看起来笨但效果非常好。5.1 先搭建知识框架再谈刷题数量很多同学备考时容易陷入“刷题数量焦虑”觉得刷得越多越稳。我自己走过这条路后来发现效率并不高。更有效的方式是先搭框架再刷题。数据挖掘方向的核心知识框架就五块概率统计、机器学习、特征工程、模型评估、SQL 与 Python。先把每块里的核心概念吃透再集中刷题。比如机器学习这块你不需要把所有模型都学一遍但常用的那十几个模型必须要做到“提到名字就能说出核心思想、适用场景、优缺点”。我当时按照“线性模型—树模型—集成学习—聚类—降维”的顺序复习每个模型都写一小段总结。这个工作量看起来大但一旦做完后续刷题和面试都会轻松很多。5.2 复习资源的搭配与使用建议关于备考资料网上的推荐非常多我只说几个我实际用下来效果不错的。理论方面李航的《统计学习方法》和周志华的《机器学习》西瓜书是经典教材但没必要从第一页读到最后一页重点看高频考点章节就行。课程方面吴恩达的机器学习课程非常适合打基础他在讲 LR、神经网络、偏差方差这些概念时非常清楚。刷题方面牛客网上的历年大厂笔试真题是最接近真实考场的资源尤其是网易的真题建议反复做三遍以上。第一遍当考试掐时间做第二遍重点分析错题第三遍只看错题确认自己真的掌握了。SQL 去 LeetCode 数据库题库刷Python 算法去 LeetCode 或牛客刷 easy 到 medium。我当年备考的节奏是每天 1 到 2 道算法题 每周 1 套完整笔试真题坚持一个月就有非常明显的变化。5.3 笔试与项目实践如何形成闭环最后想聊一个很多人忽略的点笔试准备不应该只是为了考试它和你平时做的项目、积累的实践经验是一个闭环。笔试里做的概率题其实就是你在做用户转化分析时遇到的场景笔试里考的模型评估就是你评估自己离线模型时的标准动作。如果你只是死记硬背知识点考试可能能过但面试里一问到项目细节就会露馅。我当时除了刷题还在课余时间做了几个小项目比如用公开数据集做用户流失预测、对电商评论做情感分析。做完之后我会刻意把项目里用到的方法和笔试考点对应起来比如“我在项目里用随机森林做了特征重要性排序这和笔试里考的特征选择方法是一回事”。这种把知识和实践绑在一起的方式让我的复习效率高了很多面试时讲项目也有具体例子可以说。我印象特别深的是后来面试官问我特征工程怎么做我直接拿笔试里那道转化预测题来讲说我可以从用户历史行为、商品类目、时间特征三个维度去构造特征。面试官一听就知道我是真的做过也真的想过的聊得自然顺畅很多。笔试和面试之间从来不是割裂的它们都在考察同一种能力把一个模糊的业务问题转换成清晰的数据建模问题并给出可靠的解决方案。最后再分享一个我自己的实操习惯刷完网易这套题之后我专门准备了一个“错题引申本”每道错题不光记录正确答案还会记一个“这题的变体怎么考”的猜想。比如刚才那道贝叶斯题我就在旁边写了几条变体方向如果把标记比例改成 5%后验概率会怎么变化如果再加一个维度比如用户是否复购怎么构建条件概率链如果中间加一个“加购”环节全概率公式要怎么重写。这些变体后来确实在别家笔试里以类似的面貌出现过我当时做得特别顺。准备数据挖掘方向的笔试心态上不要把它当成一场“考试”而是当成一次业务问题模拟演练。你每做一道题都是在替未来的自己回答一个工作中会遇到的问题。抱着这种心态去刷题你会发现自己记住的不只是公式和答案而是一整套解决数据问题的思维方式。希望这篇复盘能给你一些实在的帮助祝你在笔试里稳定发挥顺利拿到面试机会。