程序员考试案例梳理、真题透解与强化训练
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.6 备考思路的调整

面对内容如此广泛的“程序员”考试内容,如何才能有效地做好复习准备,提高通过率呢?根据作者自身参加过中级、高级资格考试、培训辅导,以及阅卷的相关经验,考生除了按照考试大纲进行复习备考之外,还需要深入了解本科目每次考试试卷的结构、题型和难度等情况,从宏观的层面上掌握考试的脉络。此外,还应该结合程序设计领域的发展趋势来进行全面的考前准备,以提高自身的理论知识和基本技能。在此,和大家一起来分享一些个人的备考思路和应试心得。

(1)摆正心态,做时间的主人。对待学习,一定要有主动的精神,无论什么事,只要是自己喜欢的,主动去做的,一定会爆发出惊人的力量,可能有时候连自己都很难相信在这件事情上自己会做得这么好。有了主动学习的心态后,接下来非常重要的一件事就是,在每天繁忙的学习和工作时间中至少留出1~2小时的复习时间。因为广义的计算机软件涉及的知识面较广,考查点深,需要有足够的复习时间来夯实自己的专业基础知识。另外,最好能从周末抽出半天或一个晚上的时间来回顾本周所复习的内容,并对一些重要的知识点进行多角度的思考,预测其可能出题的形式。

(2)厚积薄发,做知识的有心人。考试是一场智慧与毅力的较量,必须以深厚的专业知识作为底蕴,用机敏的智慧沉着冷静地进行分析、判断和取舍。而学习讲究的是勤奋和坚持,多劳多得,少劳少得,不劳不得。一个人的精力和时间是有限的,在考前的复习过程中不能眉毛胡子一把抓,必须分清主次,抓住重点。在平时的工作中,要认真对待软件系统开发中的各个环节和过程,及时归纳总结,用心积累,融会贯通。在应试的复习阶段,对于诸如本书归纳总结的一些经典知识点要多花力气,多总结,多比较,找出异同点,抓规律,并努力做到熟能生巧,以便在考试时能灵活变通,节约在这些知识点上的解题思考时间。当前,计算机技术、通信技术和软件工程等领域的发展非常迅猛,不仅原有技术不断升级换代,而且在诸多方面不断涌现出各种新技术和新方法,这也同时要求读者不要仅限于现有课本的知识范围,要实时跟踪新技术的发展动态,关注具有普遍性的问题。

(3)吃透真题,他山之石可以攻玉。历年试题是备考的最佳资料,也是考生熟悉考试形式,把握考试动态的最好途径。真题凝聚着众多命题专家的心血和汗滴,是智慧的结晶。洞悉近几年每一道真题及其命题规律,就等于抓住了上帝的一只手,就等于揭开了上帝手中的谜底。本书根据《程序员考试大纲》的要求,将历年试题依命题趋势进行科学的继承与分类,并逐一地进行详尽解析,使考生在熟悉考试题型的同时,掌握考试大纲所规定的知识点。解读历年试题是复习备考的最佳捷径,研习历年试题就是做未来真正的考题。

广大读者应依据考试大纲、教程和辅导材料,通过做练习题来复习和巩固各个知识点。高质量的模拟试题是备考的最佳资料,是考生熟悉考试形式,把握考试动态的最好途径。读者可以利用本书所提供的强化训练试题和考前密押试卷严格按照考试时间进行实际操练,根据本书所提供的参考答案进行评分,从而了解自己的实际水平和差距。尤为重要的是,务必将本书“核心考点”模块中所归纳总结的知识点一一进行消化,结合“真题透解”模块中的要点解析,吸收在相关知识点上所提供的应试经验,以真正理解这些基础知识,逐步做到举一反三,以不变应万变。如果能把这一项工作做扎实,就能掌握考试大纲中大部分的知识点,从而拉近与成功的距离。当然,读者在通过练习题复习相关知识点时,应以实战的方式对自己进行高标准、严要求的训练。

(4)动手实验,在实践中锻炼提高。“纸上得来终觉浅,绝知此事要躬行”,如果说平时积累的各个知识点是一粒粒宝贵珍珠的话,那么项目的实践经历就是将这些珍珠串联起来的一根红线。对于程序员下午试卷中关于C程序设计、C++程序设计和Java程序设计等方面的试题,读者应自己创造条件在计算机上进行实践操作,并深入理解相关程序的每条语句、每个程序段的含义,以及其与其他语句(或程序段)之间的逻辑关系,理解整段程序的编程思想等内容。在解答此类试题的过程中,考生除了熟悉有关理论、方法和解题步骤之外,还需要具有比较丰富的上机实践经验和理论联系实际解决应用问题的能力。

此外,读者还可以通过多阅读此类应用试题来拓展自己的知识面,尽量从这些案例中间接获取经验,并在学习过程中多花心思进行程序语句的解析与理解,努力做到熟能生巧,以便在考试时能灵活变通,节约在这些知识点上的解题思考时间。

(5)放松心情,轻装上考场。通过了程序员考试并不代表就完全具备该工程领域相关项目的系统分析、设计和管理的能力。证书只是我们漫漫学习路途中一个阶段性的里程碑,通过考试来不断提高自己才是最终的目的。考试前摆正心态也是一项十分重要的工作,如果在考试前一天晚上还在发奋看书直到凌晨两三点,则很可能导致第二天在考试时头脑昏昏沉沉,水平发挥失常。因此,应当以一颗平常心去应对考试,轻装上阵,这样才能更好地发挥出自己的最佳知识水平。

(6)沉着冷静,细心答题。不管是上午试卷还是下午试卷,考生都可能会遇到自己似曾相识但未曾深入学习的知识点,这就要求考生要结合自己已掌握的知识体系,善于对题目给出的场景进行分析,从而得出答案;其次,要仔细审题,以免落入题目中隐含的陷阱;再次,对于简答题要尽可能给出完整的答案,避免出现有头无尾的答案;最后,要善于总结或借鉴一些灵活答题的方法,让答题的思路最大限度地符合出题者的思路。例如,在回答下午考题时,需要注意以下一些事项。

● 做指针链表时,心一定要静、细,明确各指针代表的含义,最好画图来明确,以便于理解。

● 程序题目中所提到的特殊情况或分支是考试的重点。看题时,一定要注意题中有哪些特殊情况,然后一一对应到程序中去。

● 当觉得程序块已经很完整,没有什么要填的时候,应考虑是否是有变量没有进行初始化,此时要检查一下有哪些变量是没有赋初值就使用了。从历次考试来看,几乎每年都有此种类型的考题。

● 当觉得某个空怎么填也不合适的时候,应该考虑该空缺处是否应填函数递归的调用。

● 不要过分沉迷于题中某一段代码,要从全局看问题,整体把握。程序员考试的代码段结构一般都是非常合理的,每一小段的功能都分得很清楚,如果有些空填不出来,可以改看另一小段,它们之间的联系一般不会太紧密,跳过那些做不出来的,改做那些可以做出来的。若不能在一个试题中得到满分,则得到60%~80%的分数也是不错的。

● 当出现做不下去的答题感觉时,此时应仔细重新看题目条件和程序代码中所给出的注释,也许将会有所感悟。

● 做完题之后要进行检查,例如检查一下下标是否真的填对了,或缺一多一。通常下标是一个重要的考点,特别是下标中有变量的,要注意是否有些情况漏掉或者是多填了。

● 如果检查时遇到变量较多的情况,那么可以列一个变量表,模拟检查运行情况,观察变量的变化情况,利用这种方法可以比较准确地查出程序运行是否出错,是否有遗漏或缺陷的地方。

● 做完检查后,建议再重新进行一次审题,而不是只检查答案,程序与题目是否相对应。

● 建议答题时应先在草稿纸上做好答案的大体框架,然后再抄写到答卷纸上。要保持卷面的整洁,字迹要清晰,潦草的字迹将直接影响评卷老师的心情,从而间接影响到最后的得分。

● 还需注意的是,答卷纸上不能使用涂改液,不能使用铅笔做答,以及不能使用红色圆珠笔(或钢笔)做答等细节,否则答卷将被判为0分。

● 另外,先进国家中类似的考试已没有标准答案的说法,抽象地、单一地给出上午试卷和下午试卷的标准答案是不科学的。如果考生对试题的回答超出了原来的预想,则改卷时也会给满分。同理,对于本书试题所提供的参考答案,读者也可用批评性的眼光对其进行继承和发展。

(7)笑对成绩,雄关漫道真如铁,而令迈步从头越。对于考试成绩,作者认为更应该保持一个良好的心态。其实,考试成绩到底能说明什么呢?说到底它只是纸面上的东西,不一定能代表真正的能力和技术水平。证书只是一份“硬件”,更有价值、更有用的是自己所掌握的技术和自身的能力等“软件”。要想真正成为一个程序设计领域的高手,还必须多实践。理论知识是必须具备的,理论联系实践是最好的。所以,大家要把考试看做是促进自己提高理论和实践水平的一次机会,努力修炼自己的功底才是根本。

掌握方法与工具只是迈向成功的第一步,最后成功与否还取决于你是否有毅力、是否坚持不懈地进行实践——总结——再实践。