欢迎光临散文网 会员登陆 & 注册

机试小课堂丨第一弹!计算机考研复试·机试流程知多少?

2020-12-31 18:30 作者:苏世考研  | 我要投稿


苏世计算机考研,程序猿专属的学习分享社区


【声明:本文为原创文章,未经同意,严禁转载和抄袭,违者将追究其法律责任】


/ 写在前面的话 /

苏世机试小课堂,考研机试不再慌!


公主号:苏世学社考研  苏世计算机考研


21考研初试刚刚结束,很多考研同学就开始迫不及待准备考研复试了。机试是绝大部分院校计算机考研复试的“必备节目”,即便是没有机试的院校也会有手写代码等其他考察方式。经过了一年的笔试准备,不少科班同学代码能力开始生疏,而众多0基础的跨考学生更是需要多加练习。


学弟学妹的呼声之下,苏世机试小课堂应运而生,小苏开一整个专栏用来分享机试,小苏团队ACM大佬通过文字和视频形式带着大家一起搞定机试,绝对干货满满!


今天是机试小课堂的第一弹,带大家走进考研复试机试~


一、什么是机试?


机试,机试,上机考试。


给你一台电脑、一个鼠标和一个键盘,在规定时间内用一行行优美的代码把正确解出题目的程序写出来,提交给网站然后得到结果。


机试是大部分学校计算机考研复试中的一个非常重要的环节,学校一般会通过自己的OJ(Online Judge,在线代码测评平台)对学生的上机分析问题并实际动手编程的能力进行考核。


友情提示:很多老师喜欢要代码能力强的学生哦~


二、机试的流程

1.拿到题目


可能是纸质版题目



也可能是OJ网页版题目



可能是中文题目



也可能是全英文题目



具体情况请参考目标院校往年机试形式。


一般来说,机试题目难度由简到难,可以从第一题开始读,每个题应该怎么读?按顺序从上往下来吗?当然可以!


小苏曾是ACMer,习惯了当题目描述比较短时从上往下读,当看到题目的描述比较长时,先看输入和输出,再比对样例输入和样例输出大致猜一下怎么得到的结果,不用管猜不猜得到,然后再看题目描述。


另外还要注意每道题给出的Time Limit和Memory Limit,对代码的时间复杂度和空间复杂度有限制,也左右了我们接下来对此题思路的选择。


2.想出思路


简单题当读完题的时候就知道怎么写了,比如:



当碰到一时半会没有思路的题目是应该怎么办呢?


先想几分钟,看看能用到哪些数据结构或者算法,同时注意机试还剩多少时间,如果实在想不出来,就先跳过,看下一题,可能下面的题目会做呢,最后如果还有时间再回过头来看跳过的题目,那时可能也会想出思路。考试嘛,我们应该在规定的时间内最大化地发挥出自己的水平~


3.动手编程


如果选择语言是C/C++的话,推荐使用的IDE是 CodeBlocks


官方下载链接:

http://www.codeblocks.org/downloads/26


当然考场电脑上也可能有其他IDE,比如Visual Studio Code、Dev-C++,建议同学们提前熟悉这些IDE以免在考场上不知如何操作。



选择其他语言的同学可以自行选择并练习考场电脑上有的IDE。


4.测试样例


当我们在IDE里写好代码之后,点击运行,弹出运行框,依次正确输入样例输入,然后敲击回车看得到的结果和样例输出是不是一致,如果不一致,很明显,我们的代码有错误,如果完全一致是不是代表我们的代码就正确了呢?也不一定,一般来说题目给出的样例输入和样例输出比较简(wu)单(nao),但我们真正自己测的时候还需要思考一些特殊情况(比如边界问题),编一些擦边的数据来测试代码和自己预期的结果是否一致,不一致再修改代码。



5.提交代码


当测试完代码之后,觉得代码完全正确,就可以提交了。


进入提交界面,选择自己使用的语言的编译器,将IDE里写好的代码拷贝粘贴到网页上的空白框里就可以提交给后台评测了。



6.机器评测返回结果



当返回结果是Accepted时,代表这道题目我们的代码通过了所有的后台测试数据,就可以进行下一道题目了。


另外还有一些其他的返回结果,出现这些情况时要根据对应的情况来修改代码,列举如下:


Wrong Answer:答案错误,出现这个错误的原因一般是思路或程序实现出现了问题,或者数据范围边界没有考虑到。


Runtime Error:运行时错误,比如数组越界、递归过深导致栈溢出、出现了除以整数0的情况或者调用了评判系统禁止调用的函数。


Presentation Error:输出格式错误,例如多了或少了空格,多了或少了换行。


Time Limit Exceeded:程序运行超时,出现这个错误的原因一般是算法时间复杂度太高程序运行时间太长或者有边界数据导致程序出现死循环。


Memory Limit Exceeded:运行内存超限,出现这个错误的原因一般是程序申请了太大的空间,超过了题目规定的空间大小。


Compile Error:编译错误,就是代码存在语法错误,检查一下代码和是不是选择不匹配的语言提交了。


Output Limit Exceeded:输出超限,程序输出过多的内容,一般是循环出了问题导致多次输出或者是调试信息忘记删除了。


当然也有的OJ网站给出的结果是按分数来计算的,我们的代码通过后台多少测试数据,就会给出多少相应的分数,全部通过就得到了这道题目的满分,有时候也会有直接打印结果就得一两分的情况哦~



三、怎么提高机试水平


多做题+多总结


平时边做题边学习,学习别人的博客,学习代码思路和技巧,多去一些OJ上参加比赛,锻炼抗压能力和解题速度,在比赛和练习中逐步提高读题、思考、编码、调试的正确率和速度!


推荐OJ:HDOJ、ZOJ、牛客网、leetcode


注意:一般机试都可以带书和纸质资料进考场,可以提前准备函数用法和算法的模板,一旦忘记可以翻阅。


最后祝同学们可以每天Accpted!!


苏世学社旗下品牌,专注于计算机考研

计算机考研一手资讯,原创高质量干货

深度的学习分享丨咨询前辈丨个性化指导

机试小课堂丨第一弹!计算机考研复试·机试流程知多少?的评论 (共 条)

分享到微博请遵守国家法律