机器学习笔试高频考点拆解:从数学基础到工程实践的复习框架
2026/9/6 20:42:40 网站建设 项目流程

360春招机器学习工程师笔试,到底在考什么?我把它拆成了这四块

每年春招季,总有一批准备投机器学习工程师岗位的朋友被笔试环节卡住。不是题不会做,而是不知道复习方向,刷了一堆LeetCode,结果打开卷子发现考的是贝叶斯公式、特征选择、模型偏差方差,甚至还有SQL窗口函数——直接蒙了。我拿360公司2018春招机器学习工程师笔试的客观题当样本,把这类笔试的考察逻辑拆了一遍,今天这篇就记录一下我的分析思路和复习方法。

先说明白:这篇不是给你一份原题的答案清单,而是帮你搞清楚“为什么笔试长这样”“每种题在考察什么底层能力”“怎么准备才不会白费功夫”。不管你是准备春招秋招,还是在校生想检验自己的机器学习基础,都能从这里找到一套可执行的复习框架。

1. 360机器学习笔试的整体考察维度与题型结构

1.1 客观题的考察范围:从数学到工程,覆盖完整知识链

360这类互联网公司的机器学习工程师笔试,客观题一般覆盖四块:数学基础、机器学习理论、数据结构与算法、工程与业务场景理解。很多人复习时只看机器学习理论,忽略了数学和数据结构,这是最大的误区。

我统计了一下近几年几家大厂机器学习岗位的客观题分布,概率统计和线性代数加起来的占比通常在30%到40%。为什么?因为机器学习模型的推导、训练、调参,底层都是数学。比如朴素贝叶斯分类器的推导需要条件概率和贝叶斯公式,PCA降维需要特征值和特征向量,逻辑回归的损失函数需要梯度下降求导。数学不会,模型只会调包,笔试一考细节就露馅。

数据结构与算法在机器学习岗位笔试中占比也有20%左右。有人觉得奇怪:机器学习工程师又不天天写排序算法,为什么要考这个?其实笔试考的是你的编程基本功和逻辑思维。特征工程里要对数据进行分组、排序、去重,数据处理里经常要写递归和遍历,这些都需要扎实的数据结构基础。而且客观题里经常出现时间复杂度和空间复杂度的计算,这部分不练基本靠猜。

工程与业务场景理解是第四块,占15%左右。比如给你一个用户点击预测场景,问你选哪个特征最合适,或者问你在数据量很大的情况下用哪个模型更高效。这类题没有唯一标准答案,考察的是你有没有实际做过项目,能不能把技术方案落到业务场景里。

1.2 岗位能力模型:笔试题目背后对应的是哪几项核心技能

我后来复盘发现,笔试客观题表面上是一道道题,实际上每道题都在对应岗位能力模型里的某一项。搞清楚这个映射关系,复习的时候就不会东一榔头西一棒槌。

第一项能力是数学推导能力。对应题目类型是概率计算、矩阵运算、导数与极值求解。比如给你一个二维高斯分布的概率密度函数,让你判断协方差矩阵的含义,这考察的是你对分布参数的理解深度。第二项能力是模型原理理解能力。对应题目是模型对比、损失函数选择、正则化项作用、过拟合欠拟合判断。这类题要求你能讲清楚为什么L2正则化能防止过拟合,而不是只知道加个参数。

第三项能力是编程与数据结构功底。对应题目是时间复杂度计算、排序算法稳定性判断、二叉树遍历、哈希表冲突解决。第四项能力是工程实践与业务敏感度。对应题目是特征选择、样本不均衡处理、模型评估指标选择、A/B测试设计。

我在准备笔试的时候,先把每一道真题归类到这四个能力模型里,然后针对性地补薄弱项。这个方法效率很高,比埋头刷题有用得多。你可以准备一个表格,把做错的知识点按能力分类统计,哪一类错得多就重点复习哪一类。

2. 高频考点拆解:这些题目背后的原理必须吃透

2.1 概率统计与贝叶斯:为什么笔试每次都考,考的是什么层次

概率统计是机器学习笔试的重灾区,也是拉分最明显的板块。你去看360这类公司的真题,概率题几乎每年都有,而且考察的层次往往不是“套公式”那么简单。

最基础的是条件概率和全概率公式。比如一个经典题型:有两个盒子,A盒子里有3个红球2个白球,B盒子里有2个红球3个白球,随机选一个盒子再取一个球,已知取出红球,问来自A盒子的概率。这就是贝叶斯公式的直接应用。但笔试不会只考这种课本原题,而是会包装成业务场景,比如“用户点击广告的概率是0.1,点击后购买的概率是0.3,未点击时购买的概率是0.05,求用户购买且点击过广告的概率”之类的条件概率变形。

再往上一个层次是期望和方差的运算。考察你对随机变量数字特征的理解,比如独立随机变量和的方差等于方差之和,这个性质在集成学习的方差分析里要用到。还有协方差和相关系数的概念,PCA、线性判别分析、高斯判别分析都跟它相关。

还有一个高频考点是常见分布的性质,特别是正态分布、伯努利分布、多项分布、泊松分布。笔试喜欢考的是分布的期望和方差,以及多个独立同分布随机变量的和服从什么分布。比如给你n个独立同分布的伯努利变量,问它们的和服从什么分布,答案是二项分布,这个知识点在逻辑回归的误差分析里经常用到。我当时的复习方法是把所有分布的名字、参数、期望、方差、典型应用场景整理成一张表格,每天过一遍,高频考点基本就能拿下。

2.2 机器学习的核心理论:从损失函数到正则化,要能讲出“为什么”

机器学习理论这块的客观题,考察的深度主要看你对模型的“知其所以然”程度。死记硬背模型的优缺点,很难应付变化多端的题目。

损失函数是第一个高频考点。线性回归的均方误差、逻辑回归的交叉熵、SVM的合页损失、AdaBoost的指数损失,笔试经常出“给定一个损失函数,问你对应哪个模型”或者反过来“这个模型的损失函数是哪个”这类题。这里有个容易混淆的点:为什么逻辑回归用交叉熵而不用均方误差?因为逻辑回归的预测值是经过sigmoid函数的,使用均方误差会导致损失函数非凸,梯度下降可能陷入局部最优,而交叉熵配合sigmoid能保证损失函数是凸函数。能把这条逻辑链条讲清楚,这类题就不怕了。

正则化是第二个高频考点,出镜率极高。L1正则化和L2正则化的区别、为什么L1能产生稀疏解、为什么L2能防止过拟合,这些几乎年年考。我从几何直观的角度给你拆一下:L1正则化的约束区域是菱形,顶点在坐标轴上,所以最优解容易落在顶点处,某些维度系数变成0;L2的约束区域是圆形,最优解不会把系数压到0,但会让系数整体变小。从这个角度理解,比死记“L1稀疏L2平滑”要牢固得多。

过拟合与欠拟合的判断也是热门。笔试经常给一个训练集和验证集的误差情况,让你判断模型处于什么状态,以及应该怎么调整。比如训练误差很低但验证误差很高,明显是过拟合,解决方案有增大数据量、降低模型复杂度、加正则化、做交叉验证;反过来,如果训练误差和验证误差都很高,可能要换更复杂的模型或者加特征。我整理过一套判断流程:先看训练误差,再对比验证误差,最后再决定调哪个参数,这套流程在真实项目里排查模型问题也同样适用。

2.3 特征工程与模型评估:客观题里容易被忽视的两块

很多人复习笔试时容易忽略特征工程和模型评估,因为这两块知识点在教材里比较分散,而且看起来“偏应用”。但实际上,这两块在客观题里经常出现,而且一旦出现,正确率往往很低,是拉开差距的好机会。

特征工程常考的包括:特征选择的方法(过滤式、包裹式、嵌入式)、主成分分析的原理、特征标准化归一化的必要性、类别特征的编码方式。其中PCA是重灾区,笔试爱考“PCA的降维目标是最大化什么”,正确答案是最大化投影后方差,也就是让投影后的数据点尽可能分散,保留最多的原始信息。容易混淆的是线性判别分析LDA,它的目标是让同类样本投影后尽可能接近、异类样本尽可能远离。

模型评估方面,混淆矩阵、精确率、召回率、F1值是必考内容。还有ROC曲线和AUC。笔试里常给一个表格,让你算精确率和召回率,这时候注意区分:精确率是预测为正的样本里有多少真的是正样本,召回率是所有真实正样本里有多少被预测出来了。还有一个容易错的点:样本不均衡时应该用什么评估指标,答案是AUC而不是准确率,因为准确率在正样本占比极低的时候没有区分度。

交叉验证也是高频考点。K折交叉验证的原理、留一法的优缺点、分层采样在交叉验证里的作用,都值得过一遍。特别是分层采样,在处理分类问题且类别不均衡时,每折里各类别的比例要和整体一致,否则验证结果会有偏差。这个细节在真实模型评估阶段也很重要。

3. 备考路线与实操方法:怎么在有限时间内把分提上去

3.1 三轮复习法:从知识点扫盲到真题实战的时间分配

我的备考周期一般是4到6周,分成三轮。第一轮是知识点扫盲,用2到3周把上面提到的高频考点全部过一遍,重点是数学基础和机器学习理论。这个阶段不要做题,关键是理解概念,能用自己的话把模型原理讲清楚。比如你合上书,能解释清楚“什么是梯度下降里的学习率”“为什么交叉验证能评估泛化能力”就算过关。

第二轮是真题强化,用1到2周刷真题。题目来源可以找往年的笔试题目合集,重点关注错题。我的做法是准备一个错题本,按知识点分类记录错题和错误原因。如果同一类题连续错三次以上,就说明这个知识点理解有缺陷,需要回到第一轮重新看书。这个阶段的目标不是刷题数量,而是通过题目检验知识盲区。

第三轮是考前冲刺,用最后一周做模拟和查漏补缺。每天限时做一套模拟题,培养做题节奏。客观题的节奏控制很重要,每道题控制在2到3分钟,不会的先标记跳过,不要在一道题上耗太久。冲刺阶段的重点是看错题本,把高频错误点再过一遍。

这轮复习的时间安排不是固定的,要根据自己的基础调整。数学基础薄弱的,第一轮可以多花一周;工作过的,数据结构不用花太多时间,可以压缩第二轮直接刷题。关键是每个阶段的目标要明确,不要在第一轮沉迷于做难题,把自己搞得很焦虑。

3.2 数学复习清单:哪些内容必须掌握,哪些可以暂时放一放

我把笔试需要的数学知识点整理了一份优先级清单,供你参考。

高优先级(必考且高频):

  • 条件概率、全概率公式、贝叶斯公式
  • 常见分布的期望与方差
  • 极大似然估计的思想与简单计算
  • 矩阵乘法、转置、逆矩阵
  • 特征值与特征向量的概念
  • 多元函数求偏导、梯度

中优先级(考频中等但也很重要):

  • 协方差矩阵及其性质
  • 凸函数与凸优化的基本概念
  • 拉格朗日乘子法(SVM推导会用到)
  • 中心极限定理和大数定律

低优先级(可暂时放下):

  • 测度论级别的概率论严格推导
  • 复杂矩阵分解的数学证明
  • 泛函分析相关内容

按这个清单复习,能把时间花在刀刃上。笔试考察的数学深度不会超过本科高数和概率统计的范围,不需要去打竞赛级别的数学底子。我见过一些朋友花大量时间研究SVM的KKT条件推导,结果笔试根本没考那么深,原理级的理解完全够了。

3.3 动手实践:用一个小项目把知识点串起来

光刷题不够,我强烈建议在备考期间做一个端到端的小项目。不用太大,用scikit-learn跑一个分类任务就可以,比如泰坦尼克号幸存预测或者手写数字识别。

这个小项目的作用不是为了写进简历,而是帮你把知识点串起来。你可以在这个小项目里实践:数据清洗和缺失值处理、特征标准化、类别特征编码、PCA降维、多个模型对比、交叉验证调参、用混淆矩阵和AUC评估模型。每一环都能对应到笔试考点。做项目时主动问自己几个问题:为什么这个特征要标准化?为什么用这个评估指标而不是那个?调参时学习率太小会怎样?这些问题就是笔试客观题的出题角度。

我当时做完这个小项目后,对“模型评估指标如何选择”“交叉验证的作用”这些知识点的理解明显加深了,做相关题目时不再是死记硬背答案,而是能推导出为什么选这个。这个从“知道”到“理解”的转变,是笔试拿高分的关键。

4. 常见失分点与笔试现场的实战经验

4.1 高频踩坑点:这几个错误我见过不止一次

先说一个特别常见的坑:混淆精确率和召回率的定义。很多人在考场上一紧张就分不清“预测为正且实际为正”和“实际为正且被预测出来”的区别。我的记忆技巧是:精确率看预测,分母是预测为正的所有样本;召回率看实际,分母是实际为正的所有样本。多默念几遍“精确率看预测,召回率看实际”,做题时先确定分母是谁,再套公式。

第二个高频失分点是时间复杂度的计算。常见错误是算错了循环嵌套的层数,或者忽略了递归带来的指数级复杂度。笔试里的排序算法时间复杂度和稳定性对比也经常考,比如快速排序平均O(nlogn)最坏O(n^2)、归并排序稳定但需要额外空间、堆排序不稳定但空间O(1)。把这些常用排序的时间和空间复杂度以及稳定性背到滚瓜烂熟,白给的分不要丢。

第三个失分点是样本不均衡的处理方法。题目问“正负样本比例1:99,怎么处理”,正确答案包括过采样、欠采样、调整类别权重、使用PR曲线或AUC评估。容易错的是选了“提高模型复杂度”这个选项——模型复杂度跟样本不均衡没有直接关系。这种题考察的是你有没有真实处理过数据不均衡的工程问题,光看书很容易踩坑。

第四个常见的坑是梯度下降的变种选择。批量梯度下降、随机梯度下降、小批量梯度下降的区别和适用场景,笔试喜欢考。要记住:批量梯度下降每一步用全部样本计算梯度,准确但慢;随机梯度下降每步用一个样本,快但有波动,可能跳出局部最优;小批量梯度下降居中,是最常用的折中方案。容易混淆的点是“动量法”和“自适应学习率”这些优化器,笔试如果考到Adagrad、RMSProp、Adam的区别,能说出“Adam结合了动量和自适应学习率”就够用了。

4.2 客观题答题策略:先易后难,时间分配有技巧

笔试客观题一般一个小时到九十分钟做30到50道题,平均每道题只有两分钟左右。这个时间压力很大,如果没有策略,很容易在后半段慌了神。我总结了一套答题顺序,实战下来效果不错:

拿到卷子先花30秒快速浏览整张卷子,标记出自己确定的题、有把握但需计算的题、完全没思路的题。然后从头开始做,遇到卡壳超过2分钟的题直接标记跳过,不要恋战。做完一轮后,回头做标记的难题,这时心态更稳,思路往往也更清晰。最后如果还有时间,再检查一遍计算题。

这套策略的核心是“先把确定的分拿到手”。客观题不会因为你“差一点就做出来”而给分,只有选对才得分。所以不要在一道题上浪费大量时间,导致后面简单的题没时间做。我见过太多人在一道概率计算题上卡了10分钟,最后连送分的时间复杂度题都没做。

关于不会做的题,有一个经验:不要完全蒙,先排除明显错误的选项。四个选项至少能排掉一个不靠谱的,二选一时正确率就高很多。尤其在机器学习理论题里,有些选项的表述本身就有问题,比如“决策树不需要做特征缩放”这种确定性错误选项,可以直接排除。

4.3 从笔试到面试:客观题准备对后续环节的隐性帮助

准备笔试的时候,你可能只想着“别挂”,但其实这个阶段的复习对后面的面试帮助也很大。笔试客观题考察的知识点,几乎就是面试里“机器学习基础”环节的题库。

比如笔试里做的“为什么L1正则化能产生稀疏解”这一题,面试时可能就是“你讲一下L1和L2的区别,顺便说说正则化的原理”。笔试里的“混淆矩阵和AUC”这一题,面试时可能就是“你之前做的项目用什么指标评估?为什么不用准确率?”你会发现,只要笔试阶段把“为什么”理解透彻了,面试里类似的问题都能轻松应对。

我后来跟几个面试官朋友聊过,他们都说面试时最怕的不是候选人不了解最新模型,而是连最基础的“偏差与方差”“过拟合怎么解决”都讲不清楚。笔试阶段逼着自己把这些基础原理搞明白,等于提前给面试做了铺垫。所以别看轻了笔试的客观题,它既是筛选工具,也是你系统梳理知识的契机。

这里再分享一个额外的小技巧:准备笔试时把每个知识点整理成“模型名称-损失函数-优化方法-适用场景-优缺点”这样的卡片格式,笔试前复习用卡片快速过,面试前用同样的卡片准备即兴回答。一套素材两种用途,省时省力。

5. 给备考者的最后几点补充建议

5.1 资料选择与实际操作:用对工具,少走弯路

刷题资料的选取很关键。我建议主攻三类:历年大厂笔试真题合集、经典教材的课后习题(特别是周志华《机器学习》西瓜书的习题)、以及机器学习的公开题库网站。网上能搜到不少往年大公司的笔试汇总帖,先拿最新的年份练手,再往回刷到四五年前的。

西瓜书的习题质量很高,但有些题难度偏大,备考时间不够时可以先跳过证明题,只做概念题和计算题。公开题库网站的好处是题目分类清晰,可以按知识点刷。不过要注意,有些网上题库的答案质量参差不齐,遇到不确定的答案,优先以教材和官方文档为准。

还有一个很多人忽略的资料:论文带读笔记。K-Means、逻辑回归、决策树这些经典模型的原始论文,如果没时间读全文,可以看一些深度解析公众号或者知乎专栏的笔记。这些笔记通常会把模型原理的推导过程、数学细节讲得比教材更详细,适合弥补理解盲区。但不要在这上面花太多时间,重点是基础知识,论文是锦上添花。

5.2 心态调整与健康管理:笔试前的几天不要踩的雷

最后说一点不那么技术但很重要的东西,就是考前几天的状态管理。我见过不少实力不错的朋友,因为考前熬夜刷题,考场上脑子跟浆糊一样,连送分题都做错。笔试前一周,建议把作息调到正常模式,保证每晚7小时以上睡眠。考前一天不要再学新的知识点了,把错题本和高频考点卡片过一遍就好。

考试当天带好证件和计算器(如果允许),提前到考场。不用带太多资料,因为候场时间很短,带多了反而焦虑。做题时如果发现自己紧张,做几次深呼吸,把注意力放在“这道题考的是哪个知识点”上,而不是“我能不能过”,心态稳定对答题准确率的影响非常大。

关于刷题数量的心态,我想多说一句:不要和别人比进度。有人刷了500道题,有人只刷了200道但每道都搞懂了,笔试结果往往是后者更好。客观题的核心是理解,不是题海战术。你要的是“考到的知识点我都会”,不是“所有的题我都做过”。

我在备考过程中踩过不少坑,最深的体会就是:笔试是一场高强度的基础能力检验,拼的不是临时抱佛脚的能力,而是平时积累的厚度。如果能静下心把每个高频考点背后的“为什么”想清楚,把数学推导和模型原理串成体系,客观题这一关完全可以稳稳通过。希望这篇梳理能帮你少走弯路,春招顺利上岸。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询