登录| 注册
您的位置:学问网 > 资讯 > 考研类

保研经验:一些关于计算机机试的小技巧 2020-01-20 17:25

对于计算机专业的同学来说,无论是保研还是考研,机试都是一种较为常见的考试类型,也是令很多同学较为头疼的考试类型。

不同院校机试所占比重也不尽相同,比如北理考试形式只有机试和面试,因此机试占50%,人大笔试、面试、机试都有,因此机试只占10%,有的院校将机试成绩作为能否进入面试的硬性指标,比如北航、清华、北大。机试成绩可能会影响你的面试成绩,因此还需要认真对待。

对于大多数院校来说,机试考试是面向过程的编程,题型相对固定,但是想要跑通所有用例,拿到AC,还是又一定难度,尤其对于边缘测试,非常考察逻辑思维能力。

下面我介绍一下我的机试准备历程。

参考资料

欲善其事,必先利其器,想要刷好机试题,找到一个合适的学习方法至关重要,首先准备一本书籍系统的学习一下各种题目类型是必要的,在这里我推荐《王道计算机考研机试指南》这本书,这本书的题目难度和大多数学校题目难度持平,另外推荐一本书叫《算法竞赛入门》,许多打ACM的同学都学习过这本书,题目难度较大。

其次要找到一个合适的刷题oj平台,不使用平台来做题,是没有任何效果的,因为对于超时问题、边界用例测试、甚至格式问题,自己难以想的周全。

在这里我推荐几个平台:百练oj,这个是北大官方平台,可以找到历年的考试试题,部分院校也采用此机试平台;UVA,《算法竞赛入门》这本书配套的平台;leetcode这是最大的一个oj平台,全球程序员都在用的平台,倾向于算法,只需实现题目要求的关键算法,难度较大,对于夏令营这种既考察算法又考察细节的思想有些出入,不适合将此平台作为练习机试的唯一平台,但是因为这个平台使用人数多,并且许多大佬都会分享解题思路并开源代码,因此这是个非常好的提高代码能力的平台。

除此之外还有很多oj平台如牛客网、杭电oj、RQNOJ等等也都各有优势。

刷题建议

对于刷题来说,首先还是要由简入繁,循序渐进,以leetcode为例,每个题目都标有难度等级,做完以后会有同类型但是难度增大的题目推荐,循序渐进的做题,可以避免看到题目发懵,甚至直接走向一个错误的思路。

其次,做完一个题目,要养成读取借鉴别人代码的习惯,别人的代码可能思路更简洁,比起闭门造车,效果事半功倍。最后就是学校出题大多有迹可循,针对目标高校,搜寻往年试题,找寻规律,重点练习。

0语言建议

对于大多数考生来说,使用一门通用的机试语言可以省去很多不必要的麻烦,虽然很多学校提供多种语言平台,但是也有很多学校对此并无说明,保险起见,还是使用C/C++练习。在练习时要学会使用标准库,可节约大把时间,并规避由手写函数带来的错误,由于标准库较多,尤其对于字符串处理问题,用到的函数种类繁多,只能熟能生巧,多做练习。

常见题型

(1)、字符串处理,如词频统计问题,字符串匹配等。

(2)、 搜索算法,如DFS、BFS。

(3)、链表队列处理,增删改查。

(4)、动态规划。

(5)、 贪心算法。

(6)、背包问题。

在夏令营机试期间,我遇到的(1)、(2)、(4)类型的题目最多,对于数据结构里树和图的考察并不多,可见机试主要考察算法,对构建数据结构的考察相对较少。

最后对于那些害怕机试的同学来说,有效规避机试也是一种选择。如提前考取CCF,不少学校可以通过CCF成绩免机试;考取PAT证书免浙大机试;或者选择投报无机试的学校,如北邮、北交大;投报擦边专业,如电子通信、自动化等。

最后祝保研人们保研顺利。