
2018年夏天我在宿舍里点开创新工场DeeCamp在线笔试的链接屏幕右下角赫然写着“第二套B卷”。说实话当时心里是有点慌的。DeeCamp那年已经算得上国内高校圈子里热度很高的AI训练营报名的人多笔试筛选也严格A/B卷双套并行就是为了防止同场次互相抄答案。我考前刷了几套模拟题又把机器学习的基础概念过了一遍但真正点开试卷的时候发现它考的不是“你背了多少个公式”而是“你拿到一个陌生问题的时候会不会拆、会不会算、会不会写代码”。这篇内容不打算放什么“官方真题原题”而是把当年这套B卷给我的整体感觉、题型结构、以及后来我帮学弟学妹复盘时整理出来的答题思路完整拆一遍。无论你是准备DeeCamp这类AI训练营的笔试还是在准备互联网公司的算法岗笔试这套方法论都能直接用上。毕竟AI笔试的底层逻辑这么多年变来变去核心还是那几样逻辑推理、数学功底、机器学习基础、代码实现。1. 整体设计与思路拆解DeeCamp笔试到底在考什么1.1 笔试不是知识竞赛而是“问题拆解能力”的筛选器先说结论DeeCamp的在线笔试重点从来不是考察你“知道多少AI名词”。我见过不少同学能把CNN、RNN、Transformer的架构图默写出来但一遇到“从10万条用户行为日志里预测复购概率”这类综合题反而不知道从哪下手。2018年的B卷题型分布大概是这样单选逻辑题、数学概率题、机器学习基础题、简答/分析题外加一两道编程题。AI相关的内容直接考的其实不算特别深反而数学和逻辑占了不小比例。为什么这么设计因为训练营的培养目标不是让学员进来背论文而是希望大家在真实项目里动脑子。创新工场当年办DeeCamp核心逻辑是把高校里学了一堆理论、但没做过真实项目的学生拉到产业场景里练一遍。笔试作为第一道关卡天然要筛掉两类人一类是连基础逻辑都理不顺的另一类是只会背概念、完全没写过代码的。B卷的排列也很有讲究先选择题热身再慢慢进入机器学习概念最后拿编程题压轴。这个顺序其实暗合了“由浅入深”的评估节奏先看你的基本盘再看你的专业深度最后看你的临场动手能力。1.2 A卷和B卷的差异以及B卷的应试策略当年DeeCamp的笔试分了A卷和B卷题目结构基本平行但具体数值、题干描述、选项顺序都会改。有的同学A/B卷都见过对比下来发现一个规律B卷的题干通常比A卷长干扰信息更多尤其是逻辑题喜欢多绕几道弯。所以如果你抽到B卷第一反应不应该是“完了听说B卷更难”而是“好我审题要更仔细”。B卷表面看起来长实际上只是把条件包装得更复杂真正的数学难度不会比A卷高。应对办法很简单读题时把关键条件圈出来把无关描述直接划掉只留下能列式子的信息。我当年就是因为题干读得细有一道排列组合题没掉进陷阱后来对答案才发现那个题就是考察“A和B不相邻”是“绝对不相邻”还是“不能同时在两端”一个词之差结果完全不一样。B卷特别喜欢在这种地方动手脚。1.3 从试卷结构反推AI人才标准这套试卷背后透露出来的AI人才标准其实特别朴素就三条第一数学敏感度给你一组数列或概率描述你能不能快速抽象成公式第二概念理解深度给你一个机器学习场景你能不能判断该用什么方法、为什么第三工程落地能力给你一个实际数据处理问题你能不能写出能跑的代码。这三个标准放到今天依然成立。我后来帮一些团队做AI岗位面试发现面试官问来问去本质还是在测这三件事。所以准备DeeCamp笔试不要只抱着《机器学习》教材啃而是要把自己当成一个“会用数学和代码解决问题的人”来训练。2. 核心细节解析与实操要点B卷各题型解题拆解2.1 逻辑与找规律题差分、倍数、递推三板斧选择题开头通常是几道数字推理或图形推理B卷的数字推理尤其爱考“递推和差分结合”。比如有一道题大概是2, 3, 5, 9, 17求下一项。我第一眼以为是倍数关系但算了半天不对后来用差分一看3-215-329-5417-98差值是2的幂次增长下一项差值应该是16所以答案是33。这类题的通用解法就三个方向先看相邻差再看相邻比最后看前两项与后一项的递推关系。我自己的习惯是拿到数列先写差分差分没规律再写二级差分再不行就瞄一眼是不是隔项成规律。B卷有时候会把两个规律叠在一起比如“奇偶项分别成等比数列”这时候用“隔项提取”的思路特别管用。图形推理倒是没怎么出现在我印象里的B卷里但逻辑判断有。最典型的题型是“甲说真话、乙说假话”或者“四个人只有一个人说真话”。这种题的解法很机械先假设某个人说的是真的然后检查是否矛盾。B卷喜欢在条件里埋“只有一个人说谎”还是“只有一个人说真话”的坑一字之差假设起点完全不同。建议做题时把“真”和“假”直接标在草稿纸上千万别心算。2.2 概率统计题贝叶斯和全概率是绝对主角数学部分里概率题是重头戏。DeeCamp 2018年B卷里有几道题基本都是在考全概率公式、贝叶斯公式、条件概率。比如有一类经典题“某疾病在人群中的患病率为1%检测准确率为99%如果一个人检测结果呈阳性他真正患病的概率是多少”很多没复习过贝叶斯的同学第一反应是99%其实要用贝叶斯公式算设患病为A检测阳性为B已知P(A)0.01P(B|A)0.99P(B|¬A)0.01那么P(A|B) P(A)*P(B|A) / (P(A)*P(B|A) P(¬A)*P(B|¬A))代入就是 0.010.99 / (0.010.99 0.99*0.01) 0.5也就是50%。这道题给我的启发是AI笔试里的概率题从来不考你“会不会背公式”而是考你“看到实际场景能不能把‘先验’和‘似然’抽出来”。如果时间紧建议把全概率公式和贝叶斯公式手推三遍再刷几年的考研概率题找手感这个基础打不好后面机器学习题也会栽。B卷里还考过期望题我记得是“掷一个骰子直到出现6为止求投掷次数的期望”。这个就是几何分布的期望公式是1/pp1/6所以期望是6次。不要小看这种题它考察的是你对“几何分布”概念的熟悉程度而不是单纯算数。2.3 机器学习基础题几个最容易踩的陷阱这部分是我觉得B卷里最“拉分”的环节。它不直接考公式推导而是考概念辨析和场景判断。有几个坑我印象特别深。第一个坑是“过拟合的应对手段”。题干通常会描述一个场景“模型在训练集上准确率99%在测试集上只有70%以下哪个方法最可能改善”选项有增加模型复杂度、增加训练数据量、减少正则化系数、降低学习率。正确答案是增加训练数据量或增强正则化。但B卷的坑在于它把“降低学习率”这种无关选项混进来而降低学习率只是让训练更慢更稳并不会改变模型的拟合能力上限。如果你对“过拟合的本质是模型容量大于数据信息量”这个理解不到位很容易被带偏。第二个坑是“L1和L2正则化的区别”。B卷问的是“哪个正则化方法更容易产生稀疏解”正确答案是L1。但B卷的选项描述里可能会说“L2正则化会将某些特征权重压为0”这是错的。L2只能把权重压到接近0不会真正变成0。用生活化的例子理解L1像是“直接砍掉一部分预算”L2像是“普遍降薪”前者会直接让某些项目消失后者是大家都紧巴巴活着。第三个坑是“生成模型和判别模型的区分”。B卷里考过“下列哪个属于生成模型朴素贝叶斯、逻辑回归、SVM、感知机”。正确答案是朴素贝叶斯因为生成模型会建模联合概率P(X,Y)而判别模型直接建模条件概率P(Y|X)。这个知识点看起来简单但B卷会把“逻辑回归”和“朴素贝叶斯”放得很近如果没有真正理解“生成”和“判别”的本质区别很容易选错。2.4 编程题不是比算法而是比“能不能一次写对”2018年那会儿DeeCamp笔试的编程题难度达不到竞赛水平更多是考察基础数据结构和字符串处理。B卷里有一道题大体是“输入一段英文句子统计每个单词出现的次数按出现次数降序输出次数相同则按字典序升序”。这类题看的是你会不会处理输入输出、排序规则是否写对、边界条件是否考虑全。我的建议是拿到编程题先不要写代码花两分钟在草稿纸上把输入、输出、边界条件列出来。比如空句子、单词间多个空格、标点符号要不要去掉这些B卷大概率会埋坑。还有注意审题时区分“单词间按空格分割”还是“按非字母字符分割”两种处理方式写出来代码完全不同。至于语言选什么我个人推荐Python因为写起来快、调试方便而且DeeCamp笔试环境一般支持Python 3。如果你熟悉C和Java也可以但处理字符串时要注意边界和内存同样的题用Python只需要十几行用Java可能得写一大段。笔试时间有限选最省事的语言不要在这个时候炫技。3. 实操过程与核心环节实现一次完整的B卷答题模拟3.1 答题时间规划90分钟怎么分配以当年DeeCamp在线笔试的体量来看90分钟左右的答题时间里选择题和填空题大概占一半题型后面是简答题和编程题。我的时间分配法则是“60-40法则”前60%的时间做选择、填空、概念题确保正确率后40%的时间主攻简答题和编程题因为这类题分值高、主观性强而且需要大量书写和调试。如果你的选择题速度较快可以压缩到40分钟内完成多留时间给编程题。千万不要卡在一道选择题上超过5分钟B卷有时候故意放一道计算量偏大的题其实分值和其他题一样死磕只会挤占后面编程题的时间。遇到5分钟还做不出来的选择题果断标记跳过先把能拿的分稳到手。3.2 编程题实战单词频率统计的完整解法我当时遇到的B卷编程题类似上文的单词频率统计。这类题考察的是Python基础功和代码简洁度。先给出一个朴素但能过的写法def word_count(text): words text.replace(., ).replace(,, ).split() counter {} for w in words: w w.lower() counter[w] counter.get(w, 0) 1 result sorted(counter.items(), keylambda x: (-x[1], x[0])) return result这个版本能通过大部分用例但如果题目要求“按非字母字符分割”就需要换成正则表达式import re def word_count(text): words re.findall(r[a-zA-Z], text.lower()) counter {} for w in words: counter[w] counter.get(w, 0) 1 result sorted(counter.items(), keylambda x: (-x[1], x[0])) return result写完之后一定要自己在本地或者在线环境跑几个测试用例比如“Hello hello world”期望输出是hello出现2次排第一world出现1次排第二。空输入也要测一下避免返回None而不是空列表。我当年就是差点忘了空输入处理交卷前检查出来补上的这个小细节很可能值5到10分。3.3 简答题的答题模板用“问题-方案-评估”结构拿分B卷的简答题一般是开放式问题比如“你希望用机器学习解决什么实际问题请简要说明思路”。这类题没有标准答案但回答结构很重要。我的模板是问题定义一句话说清楚你要解决的问题是什么预测还是分类数据是什么。方案设计用什么模型为什么特征怎么构造。评估指标怎么判断模型好坏准确率还是召回率还是F1。扩展思考如果计算资源充沛你会怎么进一步优化。比如我当年写的是用机器学习预测教学楼自习室的使用率。问题定义是“根据历史入座数据和每日时间特征预测未来一小时的座位占用率”方案是“使用XGBoost回归模型特征包括时间段、星期几、是否为考试周”评估指标就用RMSE扩展思考是“如果数据足够多可以考虑加入天气和校园活动日历”。这种结构的好处是无论碰到什么AI开放题你都能在几分钟内组织出有逻辑的回答让阅卷人觉得你是一个有工程思维的人。3.4 交卷前的三项检查我考B卷时大概提前了10分钟做完这三项检查帮我不止一次挽回分数第一检查选择题答案是否填涂正确。在线笔试可能没有填涂但要注意是否真的点击了对应的选项有时候页面滚动会导致选错题号。第二重新读一遍编程题的关键条件。B卷很喜欢在最后一行加一句话比如“输入可能包含大写字母”这句话如果你没看到代码就会因为大小写问题挂掉。第三检查简答题是否完整回答了题目的“为什么”部分。有的简答题会问“你认为为什么要使用深度学习而不是传统机器学习”如果你只回答了方案忘记了理由部分阅卷人会扣掉一半分数。4. 常见问题与排查技巧实录B卷答题避坑清单4.1 选择题总在两个选项里纠结怎么办B卷选择题的一个特点就是选项设置得很“暧昧”经常有两个选项看起来都对。我的经验是回到题干里的限定词比如“最可能”“以下哪项最能”“不能”等。B卷特别喜欢考“不能”这个限定词题目问“以下哪种方法不能解决过拟合问题”很多同学因为习惯了选“能”的方法结果直接踩坑。另一个技巧是极值代入法。对于带参数的逻辑表达式把参数取0或无穷大看看哪个选项不成立。这个方法在数列和概率题里特别好用能快速排除出错的选项。4.2 在线笔试环境不熟悉编程题怎么保底DeeCamp那几年用的是在线笔试平台有的同学第一次用不熟悉代码编辑器写Python时缩进混乱或者不知道平台是“自动保存”还是“手动提交”。有一个保底策略先把题目里给的示例输入输出跑通再考虑复杂用例。我当时做了个小操作在代码开头写一个main函数把示例输入硬编码进去跑通后再改成标准输入。这样做的好处是能确保你的代码至少能通过样例避免交上去连基本测试都挂掉。之后再逐层处理边界条件比如空输入、多个空格、重复单词等。4.3 时间不够了编程题还没写完怎么办如果只剩15分钟编程题还卡在半路别慌。先把核心逻辑写出来哪怕有一两个分支没处理也要交一份能跑的代码因为在线笔试通常是按用例给分的通过一部分用例就有分。当年我旁边一个同学编程题只写了一部分但核心函数逻辑是对的最后也通过了笔试。如果是完全没思路那就把“读入数据”和“写出结果”的框架搭好中间的逻辑用伪代码填上至少让阅卷人看到你的思路。有时候这比留白要好得多因为笔试除了机器判题有些题还会人工复核思路清晰是有潜力分的。4.4 笔试通过之后紧接着的准备方向笔试只是第一关DeeCamp后面还有面试和项目分组。笔试通过后不要光庆祝尽快把简历里写过的项目重新梳理一遍特别是“你在这个项目里具体做了什么、模型效果如何、有没有踩过坑”。面试官不会太在意你用没用过Transformer更关心你是不是真的理解自己做的事情。还有一个容易被忽视的准备方向就是手推基础模型的公式。DeeCamp面试有概率现场问“你能推导一下逻辑回归的损失函数对参数的梯度吗”这种问题。平时用框架用惯了很容易忽略底层推导建议笔试通过后花一个下午手推一遍线性回归、逻辑回归、SVM的损失函数和梯度这会让你面试时底气足很多。5. 题目之外从DeeCamp笔试看AI学习路径的变化5.1 从2018到现在的AI岗位要求变化2018年参加DeeCamp笔试的时候整个行业正处在“AI人才缺口大、什么背景都能转”的阶段那时候笔试考的是基础数学和基础编程只要基本功扎实哪怕你没有发表过论文也有机会被选进训练营。但现在的AI岗位要求明显变了不少公司开始明确要求“人工智能训练师”这类职业能力认证书说明岗位分工越来越细化不再是单纯的“会调参就能上岗”。我身边很多后来入行的朋友也明显感觉到现在的AI笔试更喜欢考“AI工程落地”和“大模型应用”比如harness人工智能、ontology人工智能、ai coding等新概念频繁出现在JD里。从DeeCamp笔试到今天的AI求职核心考察点从“你会不会基础模型”变成了“你能不能把已有模型用起来、改造好、和业务结合起来”这也意味着学习路径不能只停留在西瓜书上还得关注工业界的真实工具链。5.2 给正在准备AI训练营或AI岗笔试的同学的建议如果你正打算申请DeeCamp或者类似的AI训练营我的核心建议是先把“基础三件套”弄扎实线性代数、概率论、Python编程。很多同学一上来就学PyTorch和Transformer但如果连SVD是什么、贝叶斯公式怎么用、Python字典排序怎么写都卡壳后面做项目会非常痛苦。DeeCamp这类训练营的重点是项目实战它默认你已经有了基础功底进去是学怎么把技术用在真实数据上的。第二个建议是多找几套A/B卷真题或模拟题练手尤其是限时训练。我第一次做模拟题时完全没控制时间结果后面编程题来不及写。后来严格按“60-40法则”练了三次手感明显不一样。笔试拼的不只是正确率还有对时间压力的适应能力。5.3 从训练营到AI从业者还有一些“非技术”的东西最后说点技术之外的感受。DeeCamp当年打动我的不只是它教了多深的技术而是它把一群背景完全不同的人聚在一起用一套真实项目流程让大家体会“做AI产品”而不是“做AI作业”的区别。后来我在工作中带新人发现一个普遍现象很多应届生技术底子不错但一到需求不清晰、数据质量差、业务指标傻傻说不清的时候就特别容易懵。这种感知、判断、表达能力恰恰是AI从业者越走越远越重要的东西。它没法靠刷题获得只能靠真实的项目经验慢慢积累。所以如果你这次笔试过了进了训练营一定要珍惜那些和其他专业同学合作的机会那才是训练营最值钱的部分。如果笔试没过也没关系把它当成一次“发现差距”的机会把错题整理一遍把编程题重写一遍下次再战的时候你一定会比现在强很多。