后來我和老虎了解到國(guó)家有一個(gè)軟件水平與資格考試。它由是軟件行業(yè)權(quán)威的考試,極低,當(dāng)時(shí)每年的僅在10%左右。不知現(xiàn)在有沒有變化。并且它的通過與職稱評(píng)定相結(jié)合。也就是現(xiàn)在常說的以考代評(píng)。當(dāng)時(shí)軟件水平考試通過的級(jí)別與職稱的關(guān)系是這樣子的:
初級(jí)程序員 技術(shù)員
程序員 助理工程師
高級(jí)程序員 工程師
系統(tǒng)分析員 高級(jí)工程師
通過全國(guó)三級(jí)(B)以后,我們?cè)蛩阍賵?bào)考全國(guó)四級(jí)的。但了解到軟件水平考試后,我們決定放棄全國(guó)四級(jí),參加軟件水平考試。--正是由于它極低的與相關(guān)的待遇吸引了我們?nèi)ヌ魬?zhàn)。
買來大綱,研究一番后,我們決定先考程序員。也就是相當(dāng)于助理工程師一級(jí)。那時(shí)我們剛18歲,也不知天高地厚。買來幾本參考書,一陣亂啃。然而老天呀,沒有任何人給我們上過計(jì)算機(jī)課,編譯原理里的那些什么形式語言/制導(dǎo)翻譯、數(shù)據(jù)庫(kù)原理中的什么模型定義/函數(shù)依賴,一開始就把我給弄得昏頭轉(zhuǎn)向。但這關(guān)總要挺過的。于是我把書看過一遍又一遍,書都翻爛。周六周日就到省圖書館去參考大學(xué)計(jì)算機(jī)專業(yè)的教材,竟然后來都看懂了。理論性的東西十分好辦。只有理解了,要背要記很容易。
軟件水平考試真正有難度的地方是下午場(chǎng)的考試。因?yàn)樯衔缈蓟A(chǔ)知識(shí),大家只要死記硬背就沒有什么大問題。下午場(chǎng)考程序設(shè)計(jì),題型比較靈活,難度也比較大。那時(shí)我已有一定的C語言基礎(chǔ),也用C寫過一些小程序。考試要求的一些數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)、算法求解之類的問題覺得比較好對(duì)付。例如用遞歸算法找個(gè)什么數(shù)列呀,如何用回溯法解決狼怎樣才能抓到小羊呀,還有什么猴兒吃桃、皇后走棋、查找排序之類的問題,也挺容易的實(shí)現(xiàn)了。對(duì)于下午場(chǎng),我很有把握。
進(jìn)考場(chǎng)。上午考得還算順利。一些涉及高數(shù)和英語的分?jǐn)?shù)估計(jì)會(huì)丟掉不少。下午場(chǎng)的考試同樣考得很辛苦,那些指向指針的指針七指八指,指得我心慌意亂。不過總的感覺還好。出考場(chǎng),一對(duì)答案,有幾成把握能通過。上午場(chǎng)可能比較險(xiǎn)點(diǎn),但估計(jì)問題不大;下午場(chǎng)通過肯定是鐵定了的。
哪知考試成績(jī)一出來,頓時(shí)讓我傻了眼。上午場(chǎng)竟然考得奇好,50多分(總分75分),下午場(chǎng)則慘不忍睹,才40多分。老虎和我也差不多,都是輸在了下午場(chǎng)。
第二年,我們決定放棄程序員,直接考高級(jí)程序員?偨Y(jié)經(jīng)驗(yàn),還是在于自己的基礎(chǔ)不牢固,準(zhǔn)備不充分。這,我制訂了一個(gè)詳細(xì)的安排表,根據(jù)計(jì)劃安排進(jìn)度。遇到難題今時(shí)求證。不可否認(rèn),高級(jí)程序員比程序員要難多了。所面對(duì)的問題了不再是解決猴兒吃桃那么簡(jiǎn)單。那段時(shí)日時(shí)間本來就比較緊張。記得有次晚上躺在床上點(diǎn)燭看書,看得迷迷糊糊之際,蠟燭倒了下來,把書給燒著了。幸虧發(fā)現(xiàn)得早。--否則后果不堪設(shè)想。我把理論知識(shí)搞定后,然后花大力氣對(duì)付下午場(chǎng)的程序設(shè)計(jì)。CASL匯編、測(cè)試用例、軟件工程方法、C程序的實(shí)例應(yīng)用,我一個(gè)一個(gè)地來啃。我沒有基礎(chǔ),沒有人教,甚至連一個(gè)可以問的人也沒有。學(xué)得還是比較艱難和辛苦。但是,每當(dāng)想起我們現(xiàn)在為之付出的努力對(duì)將來是值的時(shí),我們便又恢復(fù)了信心。我們利用一切可利用的時(shí)間備戰(zhàn)。我甚至想方設(shè)法通過各種途徑弄來歷年試卷,一一進(jìn)行分析。--那個(gè)時(shí)候,互聯(lián)網(wǎng)還剛剛起步,不象現(xiàn)在這樣要查個(gè)資料,通過網(wǎng)絡(luò)很方便地就搞定了。
同時(shí)我們還報(bào)了四門自考。我以高程為主。高程在10月12日考試。自考在10月28日開始。這一兩個(gè)月的努力終于得到了回報(bào):高程和自考全部通過了!
很多朋友經(jīng)常寫信問我怎樣應(yīng)付程序員/高級(jí)程序員的考試。就我的經(jīng)驗(yàn)來說,有這么幾點(diǎn):
1. 掌握好的學(xué)習(xí)方法,合理安排時(shí)間。--這是重要的。
2. 基礎(chǔ)理論要吃透。對(duì)于程序設(shè)計(jì),一定要多動(dòng)手,多實(shí)踐。
3. 一定要找出以前的試卷,進(jìn)行分析了解。
我想,不論什么事,只要認(rèn)準(zhǔn)了一個(gè)目標(biāo),然后朝之不懈地努力,就一定實(shí)現(xiàn)。考試是這樣,干事業(yè)是這樣,甚至追求愛情也是這樣。這個(gè)道理,每個(gè)人都懂。關(guān)鍵在于實(shí)際行動(dòng)。