写在前面的话:虽然题目有些扎眼,但是不涉及内部机密!
最近,公司又要对软件研发人员进行考试,考试分两部分,基础知识和算法编程。
首先,说说对考试的看法。
说真的,我也不喜欢考试,也是真心不喜欢。在学校的时候就已经是这样,要是课程设计做个xxx系统,保证程序写得漂亮,拿个高分,可是要是卷面上的基础知识考试,却总是比不过其他童鞋~,正所谓各有所长吧
一晃也好多年多去了,还依然写着程序,并且依然躲不过各种考试,每每这样,只能安慰自己,就当是为了自己能多写几年程序。公司内部的考试,不管怎么说,也都得重视,毕竟公司是以盈利为目的的,组织考试就已经花了血本,更不用说怎么收拾考完的残局。
然后,简单写下考试的答题方法。
对于基础知识,没有什么太多要写的,作为软件行业的从业人员,得对软件行业的各个领域都要有所了解,甚至是对某些方面有所研究。总得来说,有几个典型的特点:
1、选择题为主:如果真是不会,至少也要蒙一个答案吧;
2、题量大:每道题没有太多的思考时间,不会的就不要死磕了,时间浪费不起;
3、知识面广:从硬件到软件,从操作系统到数据库,从数据结构、编程语言……到人工智能、云计算、大数据……,说乱也行,反正各种知识都会考到。
对于算法编程,这是很多人头疼的,虽然平时也都做各种系统,各种产品,但做起算法编程题来,还真不一定得心应手。一般公司内部的算法编程题,有以下几个特点:
1、有可选的编程语言:一般都会有C、C++。Java、C#之类的,所以不用担心阅卷的人看不懂自己写的高级程序,主流的编程语言还是比较通用的,选自己最常用的一种就可以了;
2、原题重现概率低:说白了,就是很少有见过的原题,要是再有个参考答案,那也就没什么意义了;
3、题目冗长逻辑不具体:算法编程不同于语法编程,通常都会有一段题目背景,并且会告知结果,让参考人员自己分析其中的逻辑用编程实现;
4、自动阅卷造假机会少:不要以为题目中给的结果就是答案,那只是一个特例而已,算法编程题往往可以有多组输入,也就意味着会有多组输出,只有多组(不一定是所有)输入对应的输出都正确才能证明算法是正确的。只有在不完全正确的情况下,才会人工阅卷,酌情给分
针对算法编程题的特点,总结答题方法如下:
1、一定要先读懂题意:不用着急写程序,往往时间都很充足,所以可以先在纸上分析清楚题意,记下来算法的主要过程,以免忘记再从头思考,浪费时间;
2、按照样题写好程序框架:算法编程题通常采用自动化阅卷,对于提交的程序代码文件命名和内容格式都有固定的要求,平时想怎么写或许还真可以,但这时候还是要按照规矩来,毕竟是考试,符合要求本身就是一个考点。
3、先易后难尽量捞分:简单的题,尽量不丢分,复杂的题,尽量捞分,怎么捞?这是重点了,有以下几种情况:
A、得心应手的题:可以适当用一些高级的语法特性,展现自己的实力,切记思路要清晰,逻辑要严谨,否则再高级的语法也白搭;
B、勉强实现的题:对自己写出来的程序不是很自信,甚至最终也没得到正确的结果,不要紧,把自己的想法以注释的形式写出来吧;好歹让阅卷的人明白自己的心意;
C、纯粹不会的题:也不要紧,既然都来了,总不能白跑一趟吧,把样题的框架写出来,好歹能给个同情分,也不至于拿个大鸭蛋
考场险恶,各显神通,能不能过关,就看自己的造化了。Good luck~