
编者:
保研网小编
预计阅读时间:
4分钟
发布时间:2026-06-21
保研机试怎么准备?这是计算机相关专业的保研er最头痛的一个问题,你知道有的学校夏令营和预推免要考机试,但是不知道是哪些学校考、考什么难度、从哪里开始刷题、刷题顺序怎么排才最有效。

我也是这样的情况,在拿到第一个入营通知的时候才知道那所学校要考机编程,距离考核只剩下不到三周的时间。以前从来没有系统地做题,LeetCode账号注册了半年才做了十几道题。当时很慌张的情况到现在还记着。
后来通过突击加上一些巧妙的策略,在机试环节没有拖后腿,最后拿到了优营,把整个准备过程拆出来,特别是给还没有开始刷题或者不知道从哪里开始刷的同学。
并不是所有的学校都会进行机试,文科、商科、法学等专业基本上没有涉及到,机试主要出现在计算机科学与技术、软件工程、人工智能、电子信息、网络空间安全等工科专业中。
近几年来有明确有机试环节的典型院校(计算机相关方向):
清华大学计算机系/交叉信息研究院
北京大学计算机学院/软件与微电子学院
中国科学院计算技术研究所
上海交大计算机系
浙江大学计算机学院
南京大学计算机科学与技术学院
中国科学技术大学
哈尔滨工业大学计算机学院
北京航空航天大学计算机学院
华中科技大学计算机科学与技术学院
电子科技大学计算机学院
西安交通大学
东南大学
中山大学计算机学院
注意:同一家学校的考核形式在不同的年份可能会发生变化,有的学校去年是笔试,今年就变成了面试手撕代码;有的学校以前没有考,今年突然增加了新的内容。投递之前要查看当年的具体通知,也可以向曾经参加过该活动的学长学姐咨询。
保研机试和ACM竞赛不是同一个东西,大部分学校机试的难度定位是:比期末考试难,但是比ACM区域赛容易很多。
主要的知识点有:
基本的数据结构有:数组、链表、栈、队列、哈希表、树、图等
基础算法:排序、二分查找、BFS/DFS、递归、回溯
中等难度算法:动态规划(一维、二维)、贪心、双指针、滑动窗口
图论基础:最短路、拓扑排序、并查集(部分学校会涉及到)
字符串处理:KMP、字符串匹配(偶尔会涉及到)
大多数学校机试题目为3-5道,时长为2-3个小时,难度分布一般为:1-2道签到题(基础模拟/简单数据结构)、 1-2道中等题(动态规划/BFS/贪心)、 0-1道难题(综合算法/图论),拿到前三道题的分数基本上就可以保证不会成为拖后腿的人了,最后一道题做不出来也正常,不会影响大局。
如果到现在你还没有怎么刷题的话,按照下面这个顺序来,四到六周就可以达到应付大部分保研机试的程度了。
能够独立写出基本的数据结构和简单的算法代码:
LeetCode Easy题目,每天做2-3道
主要标签为数组、字符串、哈希表、双指针、栈
推荐题目:两数之和、有效的括号、合并两个有序链表、二分查找、反转链表
此阶段不急于求成,主要目的是把代码写对、写熟,每道题自己先想15分钟,实在想不出来再去看题解。看完题解之后要关掉然后自己再重新写一遍。
目标是30分钟内能做大部分中等难度的问题:
LeetCode中等难度题目,每天做一到两道
主要标签:动态规划、BFS/DFS、回溯、贪心、二叉树
推荐题目:爬楼梯、最长递增子序列、零钱兑换、岛屿数量、全排列、买卖股票的最佳时机系列
动态规划是重中之重,保研机试几乎都会考到DP,所以建议在这一阶段把一维DP和二维DP的常见类型都过一遍:背包问题、路径问题、子序列问题、区间DP。
在有限的时间内做三到四道题:
搜集目标学校往年机试真题(各种保研论坛、经验帖中都有)
每周进行2-3次限时模拟,每次2.5小时,模拟真实的考试环境
找不到原题就用LeetCode周赛或者双周赛来代替,难度相近
这时的重点不是做了多少题,而是要练习好时间分配和做题策略:先浏览一遍所有的题目确定难易程度,先做自己有把握的题目保证得分,最后在去碰难题。
C++ 还是 Python,C++ 运行速度比较快,对于时间限制不严格的问题比较友好;Python 写起来比较快,适合字符串处理和模拟题。如果两种都会的话,以C++为主,Python为辅。只掌握一种语言的话,不要现在就去切换到另一种语言。
刷很多题:不需要,保研机试不是竞赛,不需要你做过500道题,把150-200道经典题做透、做熟,比盲目刷300道只看一遍答案强太多。
LeetCode Hot 100是否足够:对于大多数学校来说已经足够了,该题单包含了保研机试最常出现的考点。时间比较紧张的话,可以先把Hot 100全部做一遍。
手写代码还是上机:大部分学校是上机写代码在线提交,少数学校是面试中纸上写或白板写,两种都要准备,手撕代码的话,平时练习时偶尔关掉IDE自动补全,用记事本写一写,培养不依赖编辑器的能力。
如果只剩下两周时间:
第一周:从LeetCode Hot 100中选择40道高频题目(主要为DP、BFS/DFS、二分、双指针等),每天做5-6道,不会的就直接看题解然后背思路。
第二周:做3-4套限时模拟题,搜目标学校往年真题,找不到就用LeetCode周赛代替,做完限时题后要复盘哪些题型没有覆盖到,并进行有针对性的补充。
不像绩点那样需要三年的时间去积累,也不像科研那样需要长时间的投入,你只要愿意用四到六周的时间集中刷题,那么大多数学校机试都不会成为你的障碍。
但是能突击并不等于不需要准备,每年都有同学因为机试零分被直接淘汰,前面的排名再高也无法挽回,趁现在还有时间,打开LeetCode,从第一道题开始,刷题这件事,开始了就不难。