????? 本來打算工作后再考SCJP的,不過這段時間的考試打折程度實在是讓人心動,從1350降到450。為了趕在活動期間考試,匆匆準備了一下就開始迎戰。
為什么學JAVA:
??? 很簡單,因為工資高。java程序員的工資是行業里最高的,一個有三年到五年開發經驗的程序員能拿到年薪十萬的大有人在。據美國《認證雜志》統計,持有SCJP認證者的平均工資比持有其他認證的開發人員高21.7%。
認證的作用:
????? 作為JAVA這門語言的擁有者,SUN公司的java程序員認證無非是全球最權威的認證,報名考試之前在網上查了查關于SCJP的一些東東,據說是世界上最難考的IT認證之一,即不像cisco認證那么有水分,更沒有微軟認證有那么多原題可以背,不過正因為難,所以才更值得去考。大多數人考SCJP都是在工作之后為了跟老板提出加薪、獲得晉升或者是為了移民加拿大才去考。關于認證這個東西,很受爭議,臺灣的技術作家蔡學鏞在《java夜未眠》這本書中對認證做了很精辟的評論,在我看來如果考證是為了找工作,那么很可能讓人失望,認證是個錦上添花的東西,如果本身就有很好的能力,在加上有這樣一個夠權威的認證,那就相當不錯了。
誰關注這項認證:
???? 老板、獵頭和程序員都會關注。通過這項考試可以對當前和未來的老板證明三件事情:你聰明;知道怎樣學習和準備富有挑戰性的考試;最重要的是,你懂得Java語言。
SCJP考什么:
????? 如果你看過復習題,你一定會發覺SCJP考的都是最基礎的東西,不過也就是因為它只考最基礎的東西,所以考得很細致,而且比較深,有些題簡直就類似腦筋急轉彎。考試全部是單選、多選,可能會遇到少量的填空題。SUN的目的是要考察程序員對Java這門語言的熟悉程度,而不是設計能力,它不會出現讓你選擇用這種方法好還是那種方法好,它會讓你判斷這些方法對不對?執行結果應該是什么,所以完全是把考試者當成編譯器來考察。的確,有些題很簡單,只要你弄明白這道題考的是那個知識點,那你就對了80%,在加上細心一點,就能順利拿下這道題。不過大多數題都非常繞頭,比如這道看似簡單的題:
public class Foo{
public static void main(String[] args){
int i=1;
int j=i++;
if(( i > ++j ) && ( i++ == j )){
????? i+=j;
? }
? }
}
what is the final value i and j?
夠簡單吧,學過語言的人幾乎都能做,這道題的結果是i=2,j=2
第四行i的值是先賦給了j然后再進行++計算的,這個你可能知道,不過這個時候i就等于2了哦,大意了吧,第五行判斷,++j是先自加1,然后再使用,所以j這時候等于2,再和i比較,當然flase,注意了,因為是&&,前半段是flase后半段i++ == j 根本不執行。所以結果是i,j都等于2。
在考試中這樣的題太多了,一道題可能有幾個陷阱,sun這樣考目的就是考察你是否徹底了解java這門語言,以便以后能得心應手地應用java去做開發。
考前的準備:
????? 我最近正在學java,所以復習起來還算輕松,因為要趕在12月31號之前考試,復習時間算起來只有20天,純屬趕鴨子上架,先看了一本scjp的官方教程《SCJP認證考試指南》,這本書是一個考試大綱的詳解,通過這本書的學習,你可以了解到底要考哪些內容,然后就是沒一項內容考的深淺度。僅此而已,在這本書上得不到其他的東西,但是這本書非常有必要一看,要不然你根本不知道你要經歷的考試是個什么樣子,書不厚,不到兩百頁。
????? 接下來這本書叫《Java 2 學習指南》,先聽聽這本書的作者你就會知道這本書的重要性,Kathy Sierra是SCJP1.4考試和Sun ePractice考試的開發者之一。她也是Sun認證的java教師和Sun Educational Services的主要培訓人員,夠厲害吧,這本書分兩個大的部分,前部分大概420頁都是講SCJP考試的內容,后半部分是講SCJD的內容,我們目前只關注前半部分,這本書很好,作者從全方位地幫助你復習應試,包括考試中兩個小時的時間利用、應試的技巧等等,這本書分章節介紹了考試大綱中所有的考點內容,并且每個章節都有一些練習題目,雖然這些題我在考試中一道都沒有遇到過,但是做這些題對考試非常有幫助,題的模式和難易程度都根真題相當接近。
???? 這兩本書看完過后,記了很多筆記,整理打印出來,然后就開始練習模擬題,當然少不了網上流行的104和147號模擬題,這兩套體堪稱經典,因為出題的水平很高,而且時常會在考試中遇到里面的原題。接下來是來自testking的(310-035)v12,里面有兩百多道題,據說幾乎都是真題,接下來,我又在網上找了一些不知名的模擬題,通通做了兩次,第一次做是為了應用筆記上的知識點,第二次做是為了鞏固知識點,這里要提一提關于“背題”,我完全不推薦,因為SCJP考試是不能將草稿紙帶出考場,所以網上的真題很少,現有的一點真題都是某些人在通過考試之后憑回憶來寫出來的,而且,考試過后你只知道這道題的對錯,你不知道正確答案到底應該是多少,所以網上很多題的答案都是有爭議的,包括我剛才提到的104、147,嗨喲testking中的題,都有錯誤答案,我甚至發現同一道題在三個地方有三個答案的,所以如果背題的話,工作量之巨大,而且后果之嚴重,我在考前做了接近兩千道題,考試中遇到的不到5道,我能肯定地說,SUN的題庫相當巨大,它甚至可能給每個應試者提供一套完全不同的題。
????? 臨近考試,用模擬考試軟件做做題是非常有必要的,能提前熟悉考試系統能有助于你在正式考試中的發揮,我推薦J@Whiz1.4這個模擬系統,跟真實的系統很像,而且里面的題也模擬得很像,做幾套看看成績,考試是61道題,做對52%就算通過。
????? 關于復習時間,我絕不推薦像我這樣匆匆忙忙準備一下就去考試,畢竟學習強度太大,在我復習的這20天中,幾乎是把除了吃飯和睡覺的時間全部用上,有時候走路在在看,吃飯也在看,室友都說我已經瘋了,我在中途也曾有幾次想放棄,不過最后還是堅持下來了。在《Java 2 學習指南》介紹了一種很有效果的學習方法,每天最少花十五分鐘學習,積少成多。如果今天你無法專心學習,那么學完十五分鐘后就停止;如果今天你比較機動,則可以學習較長時間,只要你機動的天數越多,通過考試的機會就越大。
考試:
??? 考試分兩種,中文考試和英文考試,當然,中文考試后得到的證書是中文認證,英文考試后得到的證書是全球認證,我的英文基礎很差,當時報名的時候選擇了中文考試,后來在從考試中心報名回程的路上思想斗爭了很久,結果打電話到考試中心把中文考試改成英文考試,道理很簡單,同樣的報名費,一個是拿中文認證,一個是拿全球認證,當然愿意拿全球認證,大不了邊復習邊學習英文,再說,所有的復習資料幾乎都是英文的,不知不覺就接受了這種考試方式,畢竟沒有太多的語法問題,難點只是單詞。
??? 提前一個小時到了考試中心,把筆記拿出來再看看,然后就開始考試,考試很嚴格,先簽一個協議,內容大概就是怎樣就算是考試違規等等,如果考試違規將是終身取消考試資格。考試的時候不允許帶任何東西進入考場,也就是說除了腦袋里的東西,任何其他物品都不能帶入,甚至不能帶飲料和食物,不過聽說有些考試中心可以帶飲料進入,充足的水分能幫助大腦積極思維。我所在的考場只是一件很小的房子,里面只有兩個考試座位,兩個人背對背坐,一個監考人員,小小的房子就有兩個全方位的攝像機,把考試現場錄制下來傳到美國Sun考試中心總部,所以如果你有夾帶的想法,先趁早打消。
???? 考試結束后,點“End”交卷,大概10秒鐘過后,時候成績單自動在考室外面打印出來,考試中心的工作人員拿到考室給你看看成績,然后恭喜你順利通過考試。
考后感言:
????? 通過考試,至少有三點收獲:取得了這個領域里最權威的證書,能有一個很好的開端;徹底了解了Java的工作機制,對語言的熟悉程度加深了很多;經過艱辛的學習,順利通過考試。證明了你的學習能力,這種成就感能激勵你繼續學習,加倍努力。
????? 但這僅僅只是一個開端,通過考試不證明你能用Java很好的做開發。最后,祝愿大家能順利通過考試!!