OCP Oracle Java SE 8專業(yè)程序員認(rèn)證學(xué)習(xí)指南——認(rèn)證與深入學(xué)習(xí)的階梯
2016-03-09 10:40:04 來源:Victor Grazi ,譯者 夏雪 評(píng)論:0 點(diǎn)擊:
招聘技術(shù)角色時(shí),傳統(tǒng)的觀點(diǎn)說沒什么能比侯選者的經(jīng)驗(yàn)更重要,一般來說,許多招聘主管可能不會(huì)太關(guān)注認(rèn)證。但是,Java認(rèn)證考試是個(gè)例外,因?yàn)樗鼈兎浅5碾y,考察了Java的每個(gè)特性,通過了它們之中的一個(gè)就能夠有力地證明你對(duì)該主題有深入的理解了。
OCP Oracle Java SE 8專業(yè)程序員認(rèn)證學(xué)習(xí)指南II是 Jeanne Boyarsky 和 Scott Selikoff 的全新著作,是該系列圖書的第二本,第一本(OCP Oracle Java SE 8助理程序員認(rèn)證I)已經(jīng)在去年出版發(fā)行了。該書首先介紹了該考試的簡史和發(fā)展,然后是通常你自己要針對(duì)考試、考場所做的準(zhǔn)備及安排,如何安排考試時(shí)間,要帶什么來帶什么走,如何查分?jǐn)?shù)等。接下來討論了你將在考試中遇到的題型,以及考試目標(biāo)。
該書完全是按照J(rèn)ava手冊(cè)來編排的,目的讓未打算參加認(rèn)證的人也可以用它來學(xué)習(xí)Java 8。這本書寫得非常清晰完整,很合適需要通過這些考試的有經(jīng)驗(yàn)的Java開發(fā)人員。
Java現(xiàn)在有20年了,從任何標(biāo)準(zhǔn)來看它都是門不易精通的語言。而這本書充分覆蓋了其中最難的概念。在簡介之后,介紹了面向?qū)ο笤O(shè)計(jì)的基礎(chǔ),包括繼承、接口、抽象類。然后是整潔的代碼的設(shè)計(jì)模式。在第2章清晰地講述了lambda,包括有效表達(dá)式和無效表達(dá)式的示例,并做了深入的解釋。第3章細(xì)致地講解了map、collection,以及一直以來都很難以讓人理解的泛型。Java將函數(shù)式編程引入到了Java mainstream中,我看過很多講解lambdas、streams和函數(shù)式編程的書,這本書的第4章對(duì)此的講解是比較好的。然后是日期相關(guān)的內(nèi)容,包括Java 8中新的date和time的API和本地化。后續(xù)章節(jié)討論了異常、并發(fā)、IO和NIO.2,以及JDBC。該書未涉及Spring之類的框架,但這些并不在考試范圍內(nèi)。JavaScript(Nashorn項(xiàng)目是作為Java的一級(jí)成員交付的)也未在考試范圍內(nèi),但在聯(lián)機(jī)附錄中可以找到它。
這本書不僅是適用于已有OCP 7認(rèn)證準(zhǔn)備參加OCP 8的升級(jí)考試1Z0-810的讀者,也適用于準(zhǔn)備參加OCP 8完整考試1Z0-809的讀者,以及已有Sun/Oracle Java 6或更低Java認(rèn)證準(zhǔn)備參加OCP 8升級(jí)考試1Z0-813的讀者。Oracle決定,在1Z0-813升級(jí)考試中包括另外兩個(gè)OCP 8考試中所沒有的一些額外主題。這本書還給出一個(gè)附錄,對(duì)Java 6 版本的OCP 8升級(jí)考試會(huì)有所幫助。
該書有豐富的復(fù)習(xí)題和問答,而且這些問題通常還會(huì)針對(duì)相應(yīng)主題和潛在的陷阱進(jìn)行廣泛的討論。
在具有答案及解析的問題之后有一個(gè)初步的評(píng)估測試,以及幾個(gè)試題。這個(gè)考試假定你是熟悉lambda表達(dá)式的,書中也為不熟悉lambda和其他新方言的人提供了額外的指導(dǎo)。
每一章都是以相應(yīng)主題的考試目標(biāo)開始的,然后深入地闡述該主題,在“考試要點(diǎn)”之后總結(jié)了本章的知識(shí)點(diǎn)。這些章節(jié)的最后是一套完備的復(fù)習(xí)題和答案。
這些章節(jié)中穿插了很多“現(xiàn)實(shí)世界場景”,討論了實(shí)際的應(yīng)用案例。
這本書寫得非常清晰明了,對(duì)Java的所有內(nèi)容都進(jìn)行了全面的概括。它適用于希望去過認(rèn)證的讀者,也適用于想要深入了解Java的任何語言的資深程序員。
InfoQ很榮幸采訪了該書的合著者Jeanne Boyarsky。
InfoQ:認(rèn)證對(duì)于招聘主管來說有多重要?
這很難說。在某些國家和公司看來認(rèn)證會(huì)更重要一些。然而,即使你所提到的招聘主管不重視認(rèn)證,為了認(rèn)證而學(xué)習(xí)也能幫你更加準(zhǔn)確、更加自信和更加快速地回答面試問題。另外,這個(gè)認(rèn)證能讓你更加突出。假設(shè)有兩份相似的簡歷,一個(gè)有認(rèn)證,而一個(gè)沒有……
InfoQ:認(rèn)證能讓你成為更好的程序員嗎?
當(dāng)然!你會(huì)真正對(duì)Java有更加深入的理解。你會(huì)學(xué)會(huì)應(yīng)用不同技術(shù)的時(shí)機(jī)。你會(huì)更熟悉特定的方言。你還能更加熟練地檢查錯(cuò)誤,使你實(shí)際編碼的速度超出預(yù)期。
InfoQ:您能簡單說明一下OCA和OCP考試范圍的不同嗎?
對(duì)于經(jīng)驗(yàn)豐富的開發(fā)人員來說,曾經(jīng)有過一門稱為SCJP的考試(Sun認(rèn)證的Java程序員)。Oracle收購Sun的時(shí)候,把它的名稱改為了OCJP(Oracle認(rèn)證的Java程序員)。然后他們?cè)噲D標(biāo)準(zhǔn)化數(shù)據(jù)庫和開發(fā)領(lǐng)域考試的命名。于是,考試被分為了兩類。OCA是一門比較簡單的考試,涵蓋了Java的基礎(chǔ)。例如,它涵蓋了ArrayList,但沒有HashMap。OCP涵蓋的主題更加深入,并增加了很多的主題,比如并發(fā)和JDBC。
InfoQ:我作為一名招聘主管,應(yīng)該何時(shí)去找通過OCA認(rèn)證的人,何時(shí)去找通過OCP認(rèn)證的人呢?
我認(rèn)為OCA是一個(gè)實(shí)習(xí)生的水準(zhǔn)。或許入門級(jí)的候選者在學(xué)校學(xué)過一堆的語言,而Java僅僅是剛?cè)腴T。問題是OCA水平的知識(shí)還不足以去做實(shí)際的Java開發(fā)。這種水平可以成為向OCP進(jìn)階的基石。不要誤會(huì)我的意思。它是一個(gè)很好的開始,對(duì)于不熟悉Java的人來說這是一項(xiàng)了不起的成就。
InfoQ:Java 9已經(jīng)在為2017年3月的GA版做安排了。您會(huì)維持OCA和OCP指南的更新嗎?
Scott和我希望去編寫一本Java 9的版本。這本書現(xiàn)在賣得很好,所以我們希望出版社對(duì)Java 9的版本更新會(huì)有興趣。記住,直到認(rèn)證目標(biāo)發(fā)布之前不要去出版學(xué)習(xí)指南。Java 8是在2014年年初推出的,而第一份考試學(xué)習(xí)是在2015年年初出版的。所以在2017年或2018年年初討論Java 9的學(xué)習(xí)指南還為時(shí)尚早。在最近的時(shí)間里,Scott和我會(huì)密切關(guān)注考試目標(biāo)并在我們的博客上更新,地址為http://www.selikoff.net/oca 和 http://www.selikoff.net/ocp。如果Oracle決定增加考試目標(biāo),我們應(yīng)該會(huì)涵蓋它。
InfoQ:是什么原因讓您決定來寫這本書呢?
Wiley曾經(jīng)為一本正在寫的與認(rèn)證有關(guān)的書找過我。我積極地參與了一段時(shí)間,還做了一本Java 7考試用書的技術(shù)編輯。看起來這個(gè)機(jī)會(huì)非常地不錯(cuò)。我知道寫一本書需要做大量的工作,所以我立即去找Scott Selikoff一起來寫,他是一名Java專家。
InfoQ:你最喜歡去寫哪些章節(jié)?
當(dāng)然是OCP這本的第4章了。我真的非常享受去寫函數(shù)式編程API和方言的相關(guān)內(nèi)容。它是另一種思維方式,所以它對(duì)于擁有一個(gè)良好的心智模式真的很重要。有大量極端的情況和陷阱,這讓你寫起來非常的有趣。
Scott喜歡第7章:并發(fā),有一部分原因是這些內(nèi)容可以用來提升日常應(yīng)用的性能。
InfoQ:Nashorn只是聯(lián)機(jī)附錄,有什么用嗎?
在升級(jí)考試的beta考試中包括了一些Nashorn(Java內(nèi)部的JavaScript引擎)相關(guān)的目標(biāo),但在主要的考試?yán)餂]有。我認(rèn)為它完全不用考。實(shí)事上,你在聯(lián)機(jī)附錄中會(huì)看到我們?yōu)槭裁凑J(rèn)為它不應(yīng)該考試的想法。在beta考試之后,Oracle最終決定不再考這一主題了。因?yàn)槲覀円呀?jīng)完成了這一章,Wiley已經(jīng)開始編輯它了,為此已經(jīng)付出了心血,所以我們決定把它作為額外的內(nèi)容放到網(wǎng)上。
InfoQ:這本書中最容易寫的是哪一部分?
那肯定是flashcards了。寫這一章時(shí),我是從希望涵蓋的一些要點(diǎn)開始入手的。這包括所有我能想到的Oracle可能會(huì)為應(yīng)試者下套的地方。同時(shí),這些知識(shí)也可以讓你寫出更好的flashcards。
InfoQ:與合著者一起是像結(jié)對(duì)編程一樣開展工作嗎?
不完全是,因?yàn)槲覀兺ǔJ欠珠_來做的。Scott 和我在列提綱商量什么應(yīng)該放到哪一章里時(shí)進(jìn)行了很多的討論。為保持清晰一致我們都閱讀了另一個(gè)人寫的其他章節(jié),并提了很多的建議。Scott 和我還通過電話、電子郵件和即時(shí)通訊工具的溝通激發(fā)出了許多的想法。再加上有一個(gè)合著者能讓你很好地跟蹤進(jìn)度,你會(huì)覺得要對(duì)另一個(gè)人負(fù)責(zé)。當(dāng)然,工作量上肯定也要比自己去做所有事要少啊!我真的很享受與Scott的合作,我們很快就找到了節(jié)奏。
關(guān)于本書作者
Jeanne Boyarsky,通過了OCA/OCP 8認(rèn)證,作為一名開發(fā)人員曾為紐約一家銀行工作過13年的時(shí)間,她在這里做過開發(fā)人員、導(dǎo)師并進(jìn)行過培訓(xùn)。在空閑的時(shí)間里,她是CodeRanch的高級(jí)版主,從事代碼庫論壇方面的工作。
Scott Selikoff,通過了OCA/OCP 8認(rèn)證,已經(jīng)做過超過15年的專業(yè)Java企業(yè)開發(fā)人員了。他目前在經(jīng)營Selikoff Solutions有限責(zé)任公司,該公司為紐約區(qū)三個(gè)州的企業(yè)提供軟件咨詢服務(wù)。
查看英文原文:http://www.infoq.com/articles/OCP-Java-SE-8-Programmer-Study-Guide-Book-Review
相關(guān)熱詞搜索:OCP Java SE 8 Programmer Study Guide Book Review 數(shù)據(jù)科學(xué) 文化 & 方法 DevOps 語言 & 開發(fā) Java Book Review InfoQ
上一篇:TIOBE 2016年3月編程語言排行榜:編程語言呈內(nèi)部發(fā)展趨勢(shì)
下一篇:架構(gòu)漫談(四):如何做好架構(gòu)之架構(gòu)切分

頻道總排行
- Cisco NetFlow v9為何無人問津?
- 技術(shù)專題:智能化運(yùn)維
- 開源代碼管理:如何安全地使用開源庫?
- Facebook架構(gòu)解讀
- IT運(yùn)維分析與海量日志搜索需要注意什么(1)
- 金山運(yùn)維肖力:如何將業(yè)務(wù)遷移到虛擬化環(huán)境并穩(wěn)定運(yùn)行(1)
- Apache Ignite(四):基于Ignite的分布式ID生成器
- CrazyEye,一款國人開源的堡壘機(jī)軟件(1)
- SDN時(shí)代的網(wǎng)絡(luò)管理系統(tǒng)會(huì)走向何方
- WOT2016吳兆松:Zabbix監(jiān)控自動(dòng)化的未來如何發(fā)展
頻道本月排行
- 8你消費(fèi)我買單——"漏洞"天使OneRASP...
- 7有了Jenkins,為什么還需要一個(gè)獨(dú)立...
- 6IT運(yùn)維分析與海量日志搜索需要注意什么(1)
- 5新浪微博王傳鵬:微博推薦架構(gòu)的演進(jìn)(1)
- 4史上最大機(jī)器學(xué)習(xí)數(shù)據(jù)集,雅虎對(duì)外開...
- 4雅虎開源可以提升流操作速度的DataSketches
- 4大眾點(diǎn)評(píng)高可用性系統(tǒng)運(yùn)維經(jīng)驗(yàn)分享
- 4云運(yùn)維如何選擇部署適合自身的IDC和...
- 4開源還是商用?十大云運(yùn)維監(jiān)控工具測...
- 4論開發(fā)與運(yùn)維沖突的根源、表現(xiàn)形式及...