過了SCJP,得分94%,自我感覺良好。下面把我自己的復習,考試過程在這裡做個小結吧:
1.知識背景和概況:
我不是程序員,在大學做畢業設計的時候用Java系統,後來就沒有再用過Java了,2001年的時候上過SCJP培訓,講得太快,那個錢算是浪費了。後來由於種種原因一直沒考,今年終於下定決心把這個心願了結了。到目前為止,我的水平只能算是業余的,但是我有信心很快就成能進入另一個層次了,因為我不是為了考證書去考證書,當然是為了得到動手做做東西得機會,讓老板“Show Me The Money !”所以如果你是最近用過Java做過東西,那麼你的條件肯定是比我優越得多。
說實話,SCJP不難,但是還是不能輕敵,畢竟做項目和考試還是有很大的差別的,而且SCJP考核的面很廣,Java的各種概念都考到了,看一周的書就去考試的想法是不現實的,針對考試專門花一些時間和金錢還是應該的。在網上搜到了SCJP的遠程培訓,ChinaITLab.com的,現在想起來,¥380.00,用一個字形容:“值!”得到了講課錄像、講課錄音、教材、大量的參考源代碼、在線測試的機會。錄像節約了很多時間,還要強調這裡的在線測試,測試環境和題目都和真正的考試非常接近,沒有做過的話,可以到以下網址看看( http://www.chinaitlab.com/www/test/index.ASP 這裡提供了不少的免費測試),光這兩項就少走了很多彎路,最後,我花了一個月的時間拿下來了。 源代碼對於考試作用不是非常直接,但是日後的開發和學習是必不可少的。
2.看書!
看書是必須的,
1) ChinaITLab.com的遠程培訓附帶的書很不錯;
2) Complete Java2 Certificate。
http://automation.seu.edu.cn/auto/content/Complete%20Java2%20Certificate.zip
第一本是一個教程(其實也挺大的),基本上是針對SCJP 的考試大綱設計的,覆蓋了025和035的內容,很不錯,第2本是一個600多頁的大書,但是基本上只有前一半是針對SCJP 的,後面是針對SCJD的,有這兩本書,足夠了,不用再看別的書。
我的建議是先通讀一遍後面這第2本書,仔細的復習一便,然後分章節的看第一本書,第一本書附帶了一個練習題系統,可以看完一章,做一章的題目,檢查一下自己對各種基本概念的掌握程度,發現問題就再看書。要注意的是,這個練習題有些部分超出了SCJP的要求,但是對於扎實的掌握知識是很有幫助的,建議做完,搞懂。這個Java2 Certification Tutorial中有兩個問題:1是沒有IO部分,2是練習題中有些排版造成的錯誤,不過錯誤很明顯。
別忘了下載一個SUN的JDK,做實驗用,當然用別的Java IDE也可以,但是我比較喜歡純粹的命令行的JDK. 多媒體課件幫了不少忙,穿插其間的語音介紹提醒你要注意什麼。
3.做題!
理論上,把書本啃掉了,就可以去考試了,不過這個....總感覺不塌實,你要是能這麼考過去,那真是很有經驗啊,呵呵,所以,還是要做些模擬題的。一方面,你可以看看自己知識掌握的情況,另一方面,可以看看SUN出題的時候是多麼的陰險――馬上先來幾套在線測試(上面提到的那個連接地址),界面與SCJP實際考試差不多。建議做一套以後,對著答案把自己沒掌握清楚的難點記下來,然後復習,弄清楚,再作第二套...如此往復,應該可以把知識都弄清楚,弄扎實。如果你做這些題目都能對80%,就基本上沒問題了。
4.什麼叫基礎(引用一個網友的觀點)
SCJP是考基礎的,但是基礎不等於就是簡單,比如下面這個例子:
String a = "Java";
String b = "Java";
String c = new String("Java");
String d = "JA";
String e = "VA";
String f = "JA"+"VA";
String g = d+e;
String h = c;
你覺得如果判斷 a==b, a==c, a==f, a==g, c==f, c==g, c==h 哪些是true, 哪些是false呢?你需要充分地了解Java String Object的原理才能回答這個問題。
還有這個:
int a=0;
int b[]=new int[5];
int c=3;
b[a]=a=c;
最終a=?, b[0]還是b[3]被賦值呢?
另外,線程,程序流控制,訪問權限控制,Inner Class 等等部分,都可以出很多這種題目。當然,如果你真在SCJP考試裡遇到的全是這個水平的考題,我覺得你可以投訴了:-)。但是你還是要力求把各種基本概念都完全弄清楚的。
5.關於真題
這好象是一個敏感的問題,完全靠背真題考試,是我比較反感的。而且SCJP的考試題庫也是在不斷變化的,因此全指望背題是不可靠的。現在網上比較流行的SCJP真題是著名的104和147真題。我就不提供下載地址了。不過需要注意的是,網上流行的真題的答案裡經常有錯誤,需要自己把握。
看真題的一個比較可取的方法仍然是理解和吃透,多動手做實驗,多想想這些題目可能的變化,這樣可以有助於你進一步扎實的掌握Java的基本概念。畢竟104和147的題目還是有水平的。
6 考試!
如果上面的准備工作都做好了,你應該可以輕易的拿下SCJP考試,這個考試是2個小時,59道題,有選擇,有可能有填空(很簡單的,填寫運行結果的) 對61%就PASS,對於充分准備的你,這簡直太簡單了。簡單說一下考試報名的過程:
正式的過程應該是你首先聯絡SUN的培訓中心(北京,上海,廣州),詢問如何報名參加SCJP考試,他們會告訴你一個銀行帳號,你把1250元轉入,然後把個人信息和轉帳證明傳真過去,對方確認後給你寄考試票,然後去 http://www.prometric.com.cn/ 查一下你所在地方的考試中心,聯系考試。
這個過程很麻煩,特別是銀行轉帳什麼的。對於北京,上海等大城市的大考試中心,一般都可以拿現金直接去買票,約時間,考試,不用經過SUN。要簡單多了。在北京我給SUN打電話,對方就直接告訴我去哪裡買票考試了,估計他們自己也覺得麻煩:-)