2019年那个秋天,我投了顺丰科技的大数据挖掘与分析工程师岗位。笔试刷下来最大的感受是:这套客观题不像一般互联网公司那样只考算法题或者纯机器学习理论,它把数据挖掘、统计学、大数据组件和业务分析逻辑全揉在了一张卷子里,覆盖面广,深度适中但坑不少。最近不少准备秋招的朋友问我当时考了什么、怎么准备,我干脆把整套客观题的考察逻辑和高频考点完整复盘一遍,结合我从笔试到面试的复盘笔记,给大家还原一份能直接用的备考参照。这篇文章不堆概念,只讲真题怎么考、答案怎么来、踩坑点在哪。
1. 2019年这套客观题的整体结构:不只是考机器学习
顺丰科技这个岗位的笔试客观题,核心定位是"大数据挖掘与分析工程师",所以它不像算法岗那样猛刷LeetCode,也不像纯数分岗那样只考SQL和业务题。它的考察面是三维的:机器学习与数据挖掘基础、大数据组件原理、统计分析功底,外加一部分通用工程素养题。
我根据当年的考试回忆和同期同学交流,把整套客观题的分布整理成了这样一张表,大家可以对号入座,看看自己哪块最薄弱。
| 考察模块 | 题量占比(约) | 典型出题方式 | 难度感受 |
|---|---|---|---|
| 数据挖掘与机器学习基础 | 35% | 概念辨析、算法适用场景、评价指标计算 | 中等,重理解 |
| 概率论与数理统计 | 20% | 条件概率、贝叶斯、假设检验、置信区间 | 中上,重计算 |
| 大数据组件与架构 | 20% | Hadoop/Spark/Kafka原理、数据倾斜、存储选型 | 中等,重原理 |
| SQL与数据查询 | 10% | 窗口函数、JOIN辨析、执行顺序 | 中下 |
| 数据结构与算法基础 | 10% | 复杂度计算、排序/查找特殊场景 | 中等 |
| 业务与逻辑分析 | 5% | 指标异动归因、AB实验分析 | 中等 |
这个结构放到今天依然有参考价值。它传达了一个明确的信号:大数据挖掘岗,光会调参跑模型不行,光会写SQL也不行,你得能看懂数据从采集到建模的全链路,还得有扎实的概率统计底子。
第1章先给结论:这套卷子最需要优先准备的是机器学习和概率统计,这两块加一起超过了55%的题量,而且是大数据岗位面试时追问率最高的部分。
1.1 为什么概率统计占比这么高:数据分析岗的底层逻辑
很多人看到概率统计20%的占比觉得不高,真做起来才发现这是最拉分的一块。顺丰科技这类物流+科技复合型公司,日常工作中大量场景是——预测货量、优化路由、分析时效异常、做调度策略。这些业务问题翻译成技术语言,全是概率问题:某条线路明天货量超阈值的概率是多少;某批次包裹延误是否符合随机波动;新路由策略上线后,时效提升是真实效果还是抽样误差。
所以笔试里那几道概率统计题,考察的不只是你会不会背公式,而是你有没有用统计思维拆解业务问题的习惯。比如经典的"两个箱子抽球"问题,表面考贝叶斯公式,实际映射的是:给你一组观测数据,如何反推背后的原因概率——这正是异常归因分析的核心。
1.2 大数据组件题背后的真实业务指向
顺丰科技的业务场景非常依赖实时计算和离线计算结合。试卷里考Hadoop、Spark、Kafka、Hive,不是让你背架构图,而是考察你知不知道:什么场景用Spark Streaming,什么场景用Flink;Kafka的consumer group机制到底怎么保证消息不丢不重;数据倾斜发生在join还是groupBy时,分别怎么定位和处理。
这些知识点在今天的大数据面试中依然是必问题,而且考察方式更刁钻——直接给你一个业务场景让你选组件或排错。后面第4章我会详细展开这部分高频考点。
2. 数据挖掘与机器学习高频考点:这些题最容易丢分
这个模块是整套卷子的重头戏。我当年做完的感觉是:题目本身不算偏难怪,但选项设计得非常"绕",每个选项都在考验你到底是背过概念还是真理解。
2.1 分类算法适用场景:从"能分类"到"适合什么"
有一道题的大意是:在特征维度极高、数据稀疏、需要快速训练的场景下,以下哪种分类算法最不合适。选项有逻辑回归、朴素贝叶斯、KNN、决策树。
这个题的精髓在于它不是让你选"哪个最合适",而是选"哪个最不合适"。KNN在高维稀疏数据下会因为距离度量失效而表现很差,这就是经典维度灾难问题。逻辑回归和朴素贝叶斯在稀疏高维下仍然可work,决策树也能做特征选择。这题我做对了,但很多同学栽在没理解KNN的原理基础——它依赖样本间距离,而高维下所有样本距离都趋于相等,判别力急剧下降。
这里给大家补充一个我后来总结的算法选择速查:
| 场景特征 | 优先考虑的算法 | 原因 |
|---|---|---|
| 高维稀疏、线性可分 | 逻辑回归、线性SVM | 训练快,可解释性强,正则化方便 |
| 特征间独立性较强 | 朴素贝叶斯 | 计算量小,对小样本友好 |
| 特征维度高且样本量大 | XGBoost/LightGBM | 对稀疏特征有优化,训练速度快 |
| 需要强interpretability | 决策树/逻辑回归 | 规则可导出 |
| 样本量极小 | 朴素贝叶斯/SVM(RBF核) | 不容易过拟合到噪声 |
考试时不要只记"XXX适合分类",要理解每个算法的前置假设和失效场景。
2.2 评价指标:准确率不高但模型很好?陷阱就在这
第二类高频题是模型评价指标计算。比较有代表性的一道是:在信贷违约预测场景中,1000个样本里有50个违约,模型预测出40个违约,其中30个真的违约,计算Precision和Recall。
这就是典型的不平衡分类问题。我印象很深,正确答案是Precision=75%(30/40),Recall=60%(30/50)。这个题本身不难,但很多人在Recall的定义上栽跟头——记成"预测为违约的样本中有多少是真正违约"了。用一句话区分:Precision关注"我预测的正例准不准",分母是预测为正例的数量;Recall关注"真实正例被找出了多少",分母是真实正例的数量。
顺丰科技的物流场景里,这种不平衡问题非常多。比如识别异常包裹扫描记录,正常记录可能是几百万条,异常只有几十条。这时候如果只看Accuracy,模型全预测成"正常"也能有99.9%的准确率,但毫无意义。所以考试时只要看到"异常检测""风险识别""故障预测"这些词,脑子里就要立刻弹出Precision、Recall、F1、AUC这些指标,而不是Accuracy。
2.3 聚类与关联规则:题目不难但概念易混
聚类这块常考K-Means和DBSCAN的对比。有一道题问的是:K-Means聚类的主要局限性是什么。正确选项是"需要预先指定簇数量K,且对初始中心敏感,容易陷入局部最优"。注意选项里"可以发现任意形状的簇"是DBSCAN的特性,不是K-Means的,这是常用的干扰项。
关联规则方面,考察重点是支持度(Support)、置信度(Confidence)和提升度(Lift)的计算逻辑。真题风格大概是:某商品组合的支持度为10%,置信度为60%,问怎么理解这些数字。我当时的记忆口诀是:
- 支持度 = 同时购买A和B的订单数 / 总订单数,衡量规则的有用性
- 置信度 = 同时购买A和B的订单数 / 购买A的订单数,衡量规则的确定性
- 提升度 = 置信度 / (购买B的订单数 / 总订单数),衡量A对B的购买有没有正向推动
如果提升度小于1,说明A和B实际上是负相关的——买了A反而不太买B。这类题在物流场景里可以联想到"组合促销""关联仓库理货",但笔试基本就是概念计算,把三个定义记牢就能拿分。
2.4 过拟合与正则化:为什么L1会让权重变稀疏
有一道题给我留下很深印象:在线性回归中,L1正则化相比L2正则化更有可能产生什么效果。答案是特征权重稀疏化,即部分特征的权重被压缩到0,相当于自动做了特征选择。
这道题难住很多人的原因,是只知道"L1稀疏、L2平滑"这个结论,但不知道几何直觉。画个等高线图就能理解:L1正则的约束区域是菱形(顶点在坐标轴上),L2是圆形。损失函数等高线与菱形相交时,更容易相切在坐标轴顶点,那个地方的某个维度权重正好是0。而圆形约束几乎没有概率精确落在坐标轴上,所以L2只能让权重变小但不会精确为0。
在数据挖掘岗的实际工作中,特征是几百维很正常,L1稀疏化能帮我们筛掉无效特征,让模型更快、更可解释。笔试考这个知识点,说明公司希望工程师不仅会调sklearn的penalty参数,还明白参数背后的原理。
3. 概率论与数理统计:最拉分的客观题模块
如果只能挑一个模块提前刷题,我一定选概率统计。倒不是说它题量最大,而是它的题目最"死"——会就是会,不会就是不会,没有任何蒙的余地。而且这类题的计算量不算大,但非常考验对定义的理解精度。
3.1 贝叶斯公式:从抽球问题到异常归因
2019年这套题里有一道非常经典的贝叶斯题,大致是:某检测系统识别异常包裹的准确率为99%(即异常包裹被正确识别的概率),误报率为2%(即正常包裹被误判为异常的概率)。已知异常包裹占比为1%,现在一个包裹被系统判定为异常,问它真正异常的概率是多少。
这道题单看数字很吓人,但套贝叶斯公式就能解:
设 A = 包裹真正异常,B = 系统判定异常。要求 P(A|B)。
- P(A) = 0.01(先验概率)
- P(B|A) = 0.99(真正异常时被检出的概率)
- P(B|非A) = 0.02(正常包裹被误判的概率)
P(B) = 0.01×0.99 + 0.99×0.02 = 0.0099 + 0.0198 = 0.0297
P(A|B) = 0.0099 / 0.0297 ≈ 0.3333
答案是约33%。我第一次做的时候脱口而出"99%",结果被现实狠狠教育——即便检测系统看起来准确率很高,在异常本身极稀少的情况下,一个阳性结果里真正异常的占比仍然很低。这就是"先验概率"的力量。
这题放在顺丰科技的场景里,直接映射到"识别疑似虚假签收""识别异常滞留包裹"这类业务。做这类题唯一的建议就是:不要凭直觉,动手画一个10000个样本的列联表,把四个格子填满,什么都有了。
| 实际情况 | 判定异常 | 判定正常 | 合计 |
|---|---|---|---|
| 真正异常 | 99 | 1 | 100 |
| 正常 | 198 | 9702 | 9900 |
| 合计 | 297 | 9703 | 10000 |
看这张表,被判定为异常的297个里面只有99个是真异常,比例正好约33%。
3.2 期望与方差:换了个包装的送分题
客观题里还常考期望和方差的性质。比如:随机变量X的期望为μ,方差为σ²,那么Y=2X+3的期望和方差分别是多少。
答案:E(Y)=2μ+3,Var(Y)=4σ²。注意方差不受常数项平移影响,但会被系数放大平方倍。这类题就是纯送分,但每年都有人错在忘记方差里常数项要平方。顺丰科技这类公司考这种题,潜台词是:做数据的人连最基本的随机变量变换都搞不清楚,后面怎么做置信区间、怎么做AB实验显著性检验。
3.3 抽样分布与中心极限定理:AB实验的理论地基
整套题里还出现了一道关于AB实验的说法判断,选项大概是:样本量足够大时,样本均值的抽样分布近似正态,无论总体分布是什么。答案当然是"正确",这就是中心极限定理。
这里要提醒大家一个容易被笔试考察的细节:中心极限定理成立的前提是样本量足够大(经验上n≥30),而且要求样本是独立同分布的。在真正的AB实验中,"独立同分布"往往会因为用户重叠、时间效应而被破坏,这也是为什么现在很多公司做实验要先做分流隔离和网络干扰控制。只不过笔试不会考得那么深,知道CLT是AB实验置信区间计算的理论基石就足够了。
我当时复习统计时,把方法全写在一张A4纸上:假设检验步骤、p值意义、第一类错误第二类错误、置信区间计算方法。笔试前15分钟过一遍,效果比翻书强得多。
4. 大数据组件与架构原理:考察重点和我的踩坑记录
说实话,这一模块是我整套卷子中花时间最长的部分,因为它的知识面太宽。从HDFS的副本机制到Spark的宽窄依赖,从Kafka的消费语义到Hive的存储格式,都可能出现在选项里。
4.1 Hadoop生态核心概念:HDFS与MapReduce
有一道题考的是:HDFS默认副本因子是多少,以及NameNode主要职责。答案是副本因子默认3,NameNode负责管理文件系统的命名空间和客户端访问,不直接存储业务数据。DataNode才存实际数据。这个题在行业内属于"基础中的基础",但越是基础越不能出岔子。
MapReduce的考察点偏重流程而不是参数。比如:MapReduce中,哪个阶段会产生shuffle操作,以及combiner的作用。这里我见过一个很典型的错法——把combiner和reducer混为一谈。combiner是在map端本地先做一次合并,减少shuffle的数据量,它不能保证对整个数据集只执行一次,但reducer是全局唯一的汇总阶段。这两个概念的区别,笔试和面试都很爱考。
4.2 Spark核心:Stage划分和依赖类型
Spark相关题目里,最高频的一个考法是:给出一个计算逻辑,问它会触发几个Stage。要答对这种题,关键是理解窄依赖和宽依赖。
- 窄依赖:父RDD每个分区最多被子RDD的一个分区使用,如map、filter、union
- 宽依赖:父RDD每个分区可能被子RDD的多个分区使用,如groupByKey、reduceByKey,宽依赖会引发shuffle,是Stage划分的边界
遇到一道典型的word count题,narrow transformation的map和flatMap不会断Stage,最后的reduceByKey因为引入了shuffle,就会开一个新的Stage。所以考"几次shuffle就有几个新Stage"这个思路基本能对。
关于Spark的另一个高频考点是:reduceByKey和groupByKey的区别。答案是reduceByKey在map端先做一次预聚合,能大幅减少shuffle数据量;groupByKey不预聚合,把所有数据原样shuffle,性能往往更差。实际业务里能用reduceByKey就别用groupByKey,这是大数据的"血泪经验"。
4.3 Kafka的消息语义:at least once还是exactly once
顺丰科技做实时物流追踪,Kafka是躲不开的组件。笔试里有一道题问:在默认配置下,Kafka consumer处理消息可能出现重复消费,但不能出现消息丢失,这是哪种消息语义。答案是at least once。这是由Kafka的offset提交机制决定的——处理完消息后没来得及提交offset就崩溃,重启后broker会让consumer从上次提交的offset重新消费之前的消息,造成重复但不会丢。
后来做实时计算项目时,我才真正理解这道题的价值:exactly once在分布式系统里非常昂贵,需要引入事务或幂等机制。很多场景里业务上能接受极少量重复(比如统计类的append操作),所以搞明白语义,实际上是搞明白了业务成本和系统复杂度的平衡。
4.4 数据倾斜问题:概念型考题常以"排查手段"出现
数据倾斜是顺丰科技笔试很喜欢考的点,2019年我印象中有两道题涉及。一道是:Spark中某个任务运行极慢,其他任务很快,最可能的原因是什么。答案毫无悬念是数据倾斜——某个key的数据量远大于其他key,导致单个task处理了大量数据。
更深一层的题目是让大家选解决方案。正确选项通常是:
- 提高shuffle并行度(spark.sql.shuffle.partitions调大)
- 对热点key加随机前缀,分散到多个reduce
- 对热点key单独处理,不参与正常shuffle
- 使用广播变量优化小表join大表的场景
这里要提示一个大家容易忽略的思路:不要一上来就调参,先定位是哪个stage、哪个key倾斜。可以通过Spark UI查看某个stage的task耗时分布,再用sample算子拉一批数据统计key分布。定位清楚了再对症下药,否则调了半天参数,该慢还是慢。
5. SQL与数据结构:客观题里的"基本功检验器"
这两个模块单独看占比不高,但几乎每道题都不该丢分,属于意外掉链子最可惜的部分。
5.1 SQL的高频陷阱:窗口函数和JOIN方向
顺丰科技的物流业务里,最典型的SQL场景就是计算"每个快递员每月的签收量排名"。这里必须用窗口函数ROW_NUMBER()或RANK()。
我印象很深的一道题是:
给定一个订单表orders(user_id, order_date, amount),用SQL查询每个用户最近一次下单的金额。
正确写法是:
SELECT user_id, order_date, amount FROM ( SELECT user_id, order_date, amount, ROW_NUMBER() OVER(PARTITION BY user_id ORDER BY order_date DESC) AS rn FROM orders ) t WHERE rn = 1;这道题的坑在于,很多人会用GROUP BY user_id然后直接SELECT amount,这在标准SQL里是不允许的(MySQL的ONLY_FULL_GROUP_BY模式会报错),即使能跑出来也是不确定的取值。笔试时一定要记得:取组内特定某行,优先用窗口函数。
JOIN的考点集中在LEFT JOIN和INNER JOIN的区别,以及多表JOIN时NULL值的处理。还有个高频坑:两个表做LEFT JOIN后,用WHERE条件对右表字段过滤,会导致LEFT JOIN退化成INNER JOIN。比如你where右表的id is not null,那左表匹配不到的行就被干掉了,这和预期的"保留左表全部数据"相悖。正确做法是把这个过滤条件写在ON子句里。
5.2 数据结构:复杂度计算与特殊场景选择
客观题里数据结构的题目不涉及手写代码,主要考复杂度量级和特定场景下的结构选择。
一道让我印象很深的题是:在有序数组中查找一个元素,最快的时间复杂度是多少。答案是O(log n),对应二分查找。有些人会选O(1),那是哈希表的查找复杂度。这里要理解:数组支持随机访问,有序性让二分查找成为可能,但插入删除是O(n);而哈希表查找O(1)但无序且无法范围查询。数据结构没绝对优劣,只有适不适合场景。
另一道比较有区分度的是:实现一个LRU缓存,最合适的数据结构组合是什么。答案是哈希表+双向链表。哈希表负责O(1)查找,双向链表负责O(1)移动节点和删除。这个题在笔试里出现,说明岗位对工程师工程能力有基本预期——不是只会跑模型,还要能实现常用系统结构。
再补充一个常见的复杂度考察:嵌套循环遍历n×n矩阵的时间复杂度是O(n²),递归二分的时间复杂度是O(log n),快速排序平均O(n log n)最坏O(n²)。这类题就是拿分项,考前做几道题把手感找回来就行。
6. 业务与逻辑分析题:客观题里的"软实力"考察
这个模块题量不多,但每次出现都会刷掉一批只会做技术题的同学。顺丰科技的物流业务复杂度极高,多仓、多干线、多末端网点,任何一个指标波动都可能由几十种因素导致。
6.1 指标异动归因:从"猜测"到"拆解"
有一道题的大意是:某区域上周包裹签收时效明显变慢,以下哪项最不可能是原因。选项包括:该区域分拨中心机器故障、某干线运输车辆因天气延误、电商平台大促导致货量激增、该区域用户投诉增多。
答案是"用户投诉增多"最不可能是原因,因为投诉增多是时效变慢的结果而不是原因。这个题看起来简单,但暴露了一个常见思维错误——把相关关系当因果。数据分析师做异动归因时,第一件事就是画出时间线:哪些因素在指标波动前已经出现,哪些是在波动后出现的。先于波动的才可能是原因,后于波动的往往是结果。
我自己的经验是,做归因分析一定要先分维度拆解:按区域拆、按时间拆、按产品类型拆,用占比的变化快速锁定问题发生在哪个子集中。就像包裹时效变慢,先看是否全区域都在变慢,还是只有某个网点变慢;全区域就需要看干线运输,单个网点就重点排查本地分拣环节。
6.2 AB实验分析:结果到底真不真
还有一道题考的是AB实验的显著性。描述大概是:实验组转化率5%,对照组4.8%,涨了0.2个百分点,但p值=0.2,问该怎么下结论。答案是差异不显著,不能判定实验组优于对照组。
这里考的是对p值的理解。p值=0.2意味着:假设实验无效(即两组真实转化率相同),观察到当前这么大差异或更大差异的概率是20%。这个概率不算小,不足以拒绝原假设。很多业务同学看到对照组4.8%、实验组5%,第一反应是"涨了,赶紧全量",但只要你算了置信区间,很可能发现这个差异的置信区间跨过了0——那就是噪声,不是效果。
给一个快速口算的思路:转化率类指标的标准误约等于sqrt(p(1-p)/n),两组差异的标准误是两组标准误的平方和的平方根。假设两组各5000样本,大概能估算出0.2个百分点的差异显著性不足。这个估算能力,笔试客观题不会让你完整计算,但会通过选项让你判断"是否显著""能否下结论"。
7. 考场上最容易踩的坑:我的亲身复盘
客观题不是会就能拿满分,临场发挥同样重要。我整理了当年考场上的几个真实失误和后来复盘发现的共性坑点,每个都对应真实的失分教训。
7.1 时间分配失误:在"硬骨头"上耗太久
整套客观题的题量并不少,但单题分值不高。我当时在一道贝叶斯计算题上花了将近10分钟反复验算,虽然做对了,但导致后面SQL题时间紧张,匆匆扫题漏看了一个"NOT"——问的是"以下哪项不正确",我按"以下哪项正确"的思路选,直接送了一道题。
后来我给自己定了一个明确的考场原则:客观题每道题最多3分钟,超时先标记跳过,等全卷做完再回头。尤其是那种读题就要花1分钟的复杂计算题,果断先放,把后面的送分题全部拿下再回来啃。实测这套策略能让整体得分提高5到8分。
7.2 读题陷阱:选项里的"绝对化"表达
笔试中很多选择题喜欢在选项里塞"一定""必然""任何情况""所有场景"这类绝对化词。正确的表述往往相对温和,如"通常""倾向于""可能"。这是非常通用的做题技巧。比如机器学习的选项里如果出现"K-Means一定能找到全局最优解",那基本可以断定是错的——K-Means对初始中心敏感,只能保证局部最优。
顺丰科技这套题里,这类绝对化选项至少出现了3次。你不需要记住每一道题,但要以"选项是否有过度概括"为一层过滤网,至少能排除一半干扰项。
7.3 两个知识点混淆重灾区:Stage和Task、原子性和一致性
Spark的题里,很多人会把Stage和Task搞混。一个Stage包含多个Task,Task的个数由分区数决定。笔试问"某个Stage中Task数量怎么确定",答案是看输入数据的分区数量,而不是看你想跑几个reduce。这个细节我必须提醒大家,因为即使你理解了宽窄依赖,Task和Stage的关系不清晰,做题照样卡壳。
另一个混淆率极高的是:Kafka的"至少一次"和"精确一次"对应的一致性语义,以及分布式系统的CAP理论。这类题背概念没用,要理解每个词在真实系统中的含义。我的经验是:把分布式理论的每个概念都用一个具体场景去绑定记忆,比如"ZooKeeper选主用CP""Kafka用多副本保证可用性",场景记住了,概念就不会混。
7.4 计算草稿习惯:哪怕只错一个小数点
还有一次让我印象很深的失分,是数据倾斜那道题里的一个计算选项。选项给的数值差别很小,我在草稿纸上少乘了1000,选了一个差一个数量级的答案。客观题里涉及计算的,草稿一定要写完整计算式,不要跳步。哪怕你只是心算一个平均值,也建议把分子分母写清楚,检查时一眼就能发现不对劲。
笔试不同于面试,没有人给你追问和解释的机会,错了就是错了。所以计算习惯直接影响硬得分率,这个平时刷题就要养成。
8. 针对这套客观题的备考清单与训练策略
最后这部分,我直接给出一份可执行的备考清单,覆盖"学什么"和"怎么练"两个层面。这套方法不只针对顺丰科技2019年的卷子,对当前各大厂的数据挖掘/大数据分析岗位笔试也适用。
8.1 按考察频率排优先级的知识点清单
先把需要掌握的知识点按优先级排个序,方便安排复习节奏:
| 优先级 | 知识点 | 常见考法 |
|---|---|---|
| P0 | 贝叶斯公式及应用 | 给检测场景算后验概率 |
| P0 | 分类算法评价指标(Precision/Recall/F1/ROC) | 给混淆矩阵算指标 |
| P0 | 过拟合与正则化(L1/L2) | 概念判断、效果辨析 |
| P0 | Spark宽窄依赖与Stage划分 | 给算子链判断Stage数 |
| P0 | Kafka消息语义 | 场景判断题 |
| P1 | 聚类算法对比(K-Means/DBSCAN) | 特性归属辨析 |
| P1 | 假设检验与p值 | 实验结论判断题 |
| P1 | 窗口函数SQL | 写查询结果或选正确查询 |
| P1 | 数据倾斜排查与解决 | 场景选择题 |
| P2 | HDFS架构与读写流程 | 基础概念 |
| P2 | 常见排序/查找复杂度 | 复杂度计算 |
| P2 | 关联规则(支持度/置信度/提升度) | 简单计算 |
P0的每一项都要做到能默写公式、能口述原理、能做变式题。P1争取不掉分,P2至少能排除两个错误选项。按这个策略安排一周突击时间,完全可以应付客观题部分。
8.2 刷题复盘的正确姿势:错题本比新题重要
很多人备考喜欢疯狂找新题刷,我反而觉得刷完之后复盘错题才是提分关键。我一般做三遍:
- 第一遍:闭卷做,模拟考场,不查资料。
- 第二遍:做错的题,看解析后合上资料自己重新推理一遍,直到能独立做对。
- 第三遍:考前一周只翻错题本,看到题目先自己想考点是什么,再想正确解题路径,最后对答案。
这个方法的本质是强迫大脑主动回忆,而不是被动阅读解析。被动看解析会产生"我都懂了"的错觉,一上考场全忘光。
8.3 实战模拟:按真实笔试节奏控制时间
我当时专门找了一个完整的周末上午,按真实笔试时间(90分钟),用历年攒下的题目拼了一套模拟卷,全程不暂停、不查手机。真实模拟最大的价值不是检验知识量,而是暴露考场状态问题——比如时间分配不合理、读题太快漏条件、计算草稿太乱。这些隐患平时刷单题完全发现不了,只能靠成套模拟暴露。
模拟之后一定要做一件事:统计每个模块的用时和正确率。如果发现概率统计正确率低,但数据挖掘正确率高,就说明你的复习重心需要调整。拿数据说话,这本身就是"数据分析师"应该有的思维方式。
8.4 常见面试追问方向:笔试之后的延续
客观题往往只是筛选门槛,通过之后面试官会顺着试卷里的点深挖。比如笔试考了K-Means的局限性,面试就可能问你:"如果要你给K-Means选初始中心,你会怎么做?"这时K-Means++、基于密度的初始化方法就是加分项。笔试考了数据倾斜,面试就会让你结合顺丰的实际场景复盘一次倾斜的排查过程。
所以备考时不要只满足于选出正确答案,还要想想:这个题目背后到底想考察什么能力?如果让你讲一个实际项目经历,你会怎么把这个知识点串进去?这套题既然是顺丰科技的岗位笔试,面试时大概率会围绕物流业务大数据场景提问,比如运输时效分析、货量预测、异常包裹识别。提前准备一两个跟物流数据相关的项目案例,可以在面试时拿出实打实的素材来谈。
我在复盘这套笔试时最大的体会是:客观题不是终点,它是一面镜子,照出你知识体系里哪些概念只是"听说过",哪些是真能落地解决问题。把每道错题背后的原理吃透,笔试结束的那刻,你会发现自己的专业底子已经被强行拔高了一层。