我与高级程序员考试 (轉載)

经常有很多朋友问我过高程有什么经验,什么秘决。过完高程之后是不是就可以找到好工作?工资是不是就可以看涨?我通过高程已经有好几年了,现在再回想起来,觉得也没有什么特别了不起的地方。不过,有一些经历和想法,可以和大家一起分享。

    我1993年初中毕业没有去读高中考大学,而是直接去读中专。在那个年代,读中专比读高中要更难一些。我那时的专业是电算会计。入学后不久,我就觉得我所学的专业不是我的兴趣所在,于是在中专一年级的第二学期,我决定选择电脑作为我的主攻方向。而说实话,在当时那个学校,几乎没有人教我们从哪里开始学习电脑,怎样学习编程。一切都是自己瞎摸瞎碰。最开始我选择国家教委的计算机等级考试作为检验自己能力的一种手段。计算机等级考试只是一种能力的证明。它不与任何职称、待遇挂上勾。中专二年级的时候,我通过了全国计算机二级考试;同时这一年,我决定选择软件开发作为我今后的道路。中专三年级的时候,我通过了全国三级(B)。

  通过等级考试之后,才发现过等级考试是一件很容易的事,而国家教委当时的大纲说,等级考试是针对非计算机专业的考生而开设的。这让我心里多少觉得没什么意思。后来我和好朋友老虎了解到国家有一个软件水平与资格考试。它由是软件行业最权威的专业考试,通过率极低,当时每年的通过率仅在10%左右。不知现在有没有变化。并且资格考试的通过与职称评定相结合。也就是现在常说的以考代评。当时软件水平资格考试通过的级别与职称的关系是这样子的:

  初级程序员 --> 技术员
  程序员 --> 助理工程师
  高级程序员 --> 工程师
  系统分析员 --> 高级工程师

  通过全国三级(B)以后,我们原打算再报考全国四级的。但了解到软件水平资格考试后,我们决定放弃全国四级,参加软件水平资格考试。--正是由于它极低的通过率与以考代评的方式吸引了我们去挑战。

  买来大纲,研究一番后,我们决定先考程序员。也就是相当于助理工程师一级。那时是一九九六年,我俩刚十八岁,也不知天高地厚。买来几本参考书,一阵乱啃。然而老天呀,我俩都是属于半路出家的学习者,没有任何人给我们上过计算机课,编译原理里的那些什么形式语言/制导翻译、数据库原理中的什么模型定义/函数依赖,一开始就把我给弄得昏头转向。但这关总要挺过的。于是我把书看过一遍又一遍,书都翻烂。那段时间我每天只睡四五个小时,周六周日就到省图书馆去参考大学计算机专业的教材,后来也都慢慢看得懂了,知道是什么回事。理论性的东西十分好办。只有理解了,要背要记很容易。

  软件水平考试真正有难度的地方是下午场的考试。因为上午考基础知识,大家只要死记硬背就没有什么大问题。下午场考程序设计,题型比较灵活,难度也比较大。那时我已有一定的C语言基础,也用C写过一些小程序。考试要求的一些数据结构实现、算法求解之类的问题觉得比较好对付。例如用递归算法找个什么数列呀,如何用回溯法解决狼怎样才能抓到小羊呀,还有什么猴儿吃桃、皇后走棋、查找排序之类的问题,也挺容易的实现了。对于下午场,我很有把握。

  进考场。上午考得还算顺利。一些涉及高数和英语的分数估计会丢掉一些。下午场的考试同样考得很辛苦,那些指向指针的指针七指八指,指得我心慌意乱。不过总的感觉还好。出考场,一对答案,有几成把握能通过。上午场可能比较险点,但估计问题不大;下午场通过肯定是铁定了的。

  哪知考试成绩一出来,顿时让我傻了眼。上午场竟然考得奇好,50多分(总分75分),下午场则惨不忍睹,才40多分。老虎和我也差不多,都是输在了最有把握的下午场。

  当时是中专三年级了。那时我们开始狂热的投身于程序设计,也用当时流行的TC, FoxBase写过一些比较大的软件。但由于没有受过系统学习,碰到一些深入的东西,总觉基础不过硬。于是我们参加了国家计算机本科自学考试(当时我们都已经通过了大专自考),决定系统地学习一下计算机的基础知识。第二年,我们准备再报程序员考试,但发现高程的考试内容与我们参加的计算机本科自考有很多相同之处,并且也不是很难理解,于是我们决定放弃程序员,直接考高级程序员。

  总结经验,还是在于自己的基础不牢固,准备不充分。这一次,我制订了一个详细的安排表,根据计划安排进度。遇到难题及时求证。不可否认,高级程序员比程序员要难多了。所面对的问题了不再是解决猴儿吃桃那么简单。那段时日时间本来就比较紧张。记得有次晚上躺在床上点烛看书,看得迷迷糊糊之际,蜡烛倒了下来,把书给烧着了。幸亏发现得早。--否则后果不堪设想。我把理论知识搞定后,然后花大力气对付下午场的程序设计。CASL汇编、测试用例、软件工程方法、C程序的实例应用,我一个一个地来啃。我没有基础,没有人教,甚至连一个可以问的人也没有,学得还是比较艰难和辛苦。但是,每当想起我们现在为之付出的努力对将来是值的时,我们便又恢复了信心。我们利用一切可利用的时间备战。我甚至想方设法通过各种途径弄来历年试卷,一一进行分析。--那个时候,互联网还刚刚起步,不象现在这样要查个资料或问个问题,通过网络很方便地就搞定了。

  同时我们还报了四门自考。我以高程为主。高程在10月12日考试。自考在10月28日开始。这一两个月的努力终于得到了回报:高程和自考全部通过了。通过高程的学习,我比较系统的学习了相关的知识,这样我的计算机本科自考通过也比较容易了,第二年顺利全部通过。   通过高程后,曾很有信心地准备再去考个系统分析员,我们觉得系统分析员是真正的牛人。不过毕业后的几年里,到处流浪,后又到了北京搞开发,一天到晚除了代码还是代码,也没有时间顾考试,加上工作后心态有了变化,并不看重这个证那个证,于是就搁了下来,没再参加考试了。

  很多朋友经常写信问我怎样应付程序员/高级程序员的考试。就我的经验来说,有这么几点:

  1. 不要为了考试而考试。考试只是检验自已能力的一种手段。

  2. 掌握好的学习方法,循序渐进,合理安排时间。--这是很重要的。就我个人认为,中国的每一个受过高等教育的朋友都是身经百战的人,总结出一套自己的考试经验应该不是难事。

  3. 基础理论要吃透。对于上午场的考试,试题分布得比较广,一定要把基础打牢,复习的时候,针对大纲来看。对于下午场的程序设计,一定要多动手,多实践,关于数据结构、程序结构之类的东西,一定要多上机调试、运行并理解。

  4. 一定要找出以前的试卷,进行分析了解。如果有条件,最好把以前的所有试卷全都找出来做一遍。我当时分析历年试卷的时候,发现下午场很多题型都有重复的地方。不知现在如何了。

  我个人认为,高级程序员并不是一个很难的考试,只要在大学里基础扎实,下点功夫,通过不是难事。 而我当时把它看得很难,是因为当时我只是一名中专生,基础不行,这些东西全是自学的。

  另外,很多朋友想知道通过高程后,找工作是不是顺利一些?工资是不是可以高一些?对于这个,我觉得并无定论。不过,在软件公司招人时,有个高程证书,至少能证明你在理论上有这个能力,可能会有一些优势。但这并不是绝对的。软件行业是一个重实践重能力的行业,在中关村,你会发现很多的程序高手,他们并不是科班出身,没有这个证那个证的,但在这个领域,却是属于牛人级的高手。

  从某种程度上来说,我认为,不论什么事,只要认准了一个目标,然后朝之不懈地努力,就一定实现。

  这个道理,每个人都懂。关键在于实际行动。

你可能感兴趣的:(人文哲學)