最近有學弟/妹問我,找工作的話需要看那些書,想想距離上一次寫書單已經(jīng)兩年了,索性再更新一版吧,希望里面的書能有所幫助(PS:然而大多數(shù)人的做法是,買了好多書,然后就沒有然后了......當然也有我......)
因為我找的是Java方向的工作,所以本書單大部分都是跟Java相關(guān)的,書單中大部分的書我都看過,也會列入一些打算看的書,另外會推薦一些書之外的、我個人很喜歡的東西
《Java編程思想(Thinking in Java)》
這應(yīng)該是Java程序員買的最多的書了,好吧,我并沒有全部看完,從我剛開始學Java到工作,每次都是簡單的翻了一下,不過每次看這本書都會有不同的收獲,這本厚重、印刷差、排版難看的書在我心中的地位也越來越高
《Effective Java》
這是一本我快要翻爛了的書,也是我工位上一直放著的書。個人認為,這本書是從學會Java到學好Java必看的一本書
《Head First設(shè)計模式》
一本和《Thinking in Java》差不多厚的書,但是豐富的插圖和輕松地講解,讓閱讀這本書的過程中充滿樂趣。設(shè)計模式也是一個程序員需要掌握的基礎(chǔ)知識,另外也推薦一下四人幫的《設(shè)計模式》一書(沒看過,不做評論)
《代碼整潔之道》
我覺得這也應(yīng)該是每一個Java程序員應(yīng)該讀一讀的書,在公司中,每天都需要閱讀大量的、前人的代碼,然而出于某種原因,某些代碼的質(zhì)量實在讓人不敢恭維,時常會聽見“x,誰寫的什么xx玩意兒”。批評別人之前,最好是先把自己的做好
(PS,上面兩本書讓我對寫代碼有了全新的認識,大概是“原來代碼還可以這樣寫”的感覺)
《Java并發(fā)編程實戰(zhàn)》
某東神強烈推薦的,據(jù)說他跟面試官扯了一個小時這本書的內(nèi)容,然后成功入職某巴巴。雖然我這么干了沒成功,不過還是推薦一下。初上手覺得書的內(nèi)容略難,我讀了三遍左右,才敢說稍微懂了點書中的內(nèi)容。隨著信息的膨脹,用戶的增長,并發(fā)編程扮演著越來越重要的角色,Doug Lea大神的concurrent包,應(yīng)該被裝進每一個Java程序員的工具包內(nèi)
《深入理解Java虛擬機》
國人出的書中難得的精品。對于了解虛擬機的一些實現(xiàn)機制來說,這本書的內(nèi)容足夠了(面試也足夠了)。書中部分章節(jié)比較枯燥(字節(jié)碼那部分),需要一定的耐心,不過整體來說可讀性還是很高的
《Java程序員修煉之道》
一本著重介紹Java7之后的“世界”的書,講解了Java7的一些新特性,Jvm上多語言編程是我買這本書的原因,不過其他章節(jié)的內(nèi)容也深深的吸引了我
《Spring in Action》
Spring框架不需多說,這個已經(jīng)可以算作Java的基礎(chǔ)知識之一了,《Spring in Action》也是最火的Spring入門書籍。如果英文夠好的話,直接去閱讀Spring的官方文檔是一個更好的選擇
《Maven實戰(zhàn)》
提這本書不是想說這本書有多好,只是想表達maven很重要,Java程序員必須會的東西
《數(shù)據(jù)結(jié)構(gòu)與算法分析:Java語言實現(xiàn)》
數(shù)據(jù)結(jié)構(gòu)可以說是基礎(chǔ)中的基礎(chǔ),曾經(jīng)有句話叫“程序=數(shù)據(jù)結(jié)構(gòu)+算法”,這句話笑笑就好,不過數(shù)據(jù)結(jié)構(gòu)也一直是面試的重點,貫穿應(yīng)屆校招到社招
《啊哈,算法》
為了突擊面試買的算法書,小而短,講的內(nèi)容不多,可以當作休閑用書;算法不是我的強項,平時對算法的研究,基本就是熄燈之后,睡覺之前,討論一下一些有趣的算法題。算法類有名的書《算法導論》、《編程之美》、《算法》、July的博客(網(wǎng)易公開課上有)
《代碼的未來》
學一門腳本語言很重要,日呆的我更喜歡來自島國的Ruby,通過其作者也了解到了這本書。Matz從自身經(jīng)驗出發(fā),介紹了過去、現(xiàn)在,也預(yù)測了一下未來,書的內(nèi)容是他發(fā)的文章整理起來的,對于拓寬一下視野很有幫助
《Ruby基礎(chǔ)教程》
上文說過喜歡Ruby,所以買了這本Ruby的入門書籍。其實沒看多少,學Ruby基本都是靠Ruby Koans:)對于打算學習腳本語言的同學,我想說的是,Python用的比較多......
《鳥哥的Linux私房菜》
或許每一個想要學習Linux的人,都聽過這本書。講的也比較輕松有趣,不過我始終認為,學習Linux的最好方式,就是裝一個系統(tǒng)天天玩
《Java性能優(yōu)化權(quán)威指南》
去年系統(tǒng)出現(xiàn)了嚴重的性能問題,因此入了這本書,只看了前幾章。不過那段時間確實學到了一些查bug的技巧,跟上一條一樣,實踐出真知(不過學習Linux不會有人逼著你必須今天下班之前搞定.....)
《Operating Systems: Three Easy Pieces》
豆瓣評分9.5的操作系統(tǒng)相關(guān)的書籍,全英文版的,個人閱讀的速度比較慢,整體內(nèi)容很吸引人。作為程序員的三大浪漫之一,操作系統(tǒng)相關(guān)問題也是面試中的???,或多或少都需要有一些了解
《第一本Docker書》
14年年末了解到的Docker,感覺Docker在一瞬間就火遍了大江南北,不了解一點相關(guān)的內(nèi)容,怎么在地鐵、微博、朋友圈跟別人談笑風生?(更大的悲劇是,朋友圈里都是聊技術(shù)的......)
《數(shù)據(jù)庫系統(tǒng)概念》
基礎(chǔ)知識類的,至少需要把常用的SQL、幾范式搞懂,避免設(shè)計出來的東西在需求會上被噴
《Groovy程序設(shè)計》
Jvm上的多語言編程充滿魅力,而學習其他Jvm語言的話,Groovy無疑是最快的一個。了解一下,面試的時候也會多一個吹噓的資本
《七周七并發(fā)模型》
Paul Butcher大神的書,介紹了7種并發(fā)模型,當然全看完的話不需要七周。有幸聽過Paul Butcher大神在Qcon上的演講,一句話總結(jié)就是,并發(fā)不難,多用成熟的框架就好,自己從Thread開始寫會類似
一些其他的書
《數(shù)學女孩》
一直都很喜歡數(shù)學,看到這本封面還挺文藝的,就買來看了。講的東西由淺入深,穿插著高中生朦朧的小曖昧......看完這本書我只有一個感想,當年我數(shù)學也挺好的,怎么沒給我?guī)讉€這樣的妹紙?
《白夜行》
看完這本成了東野圭吾的腦殘粉。推薦的原因一個是好看,一個是挺長的,地鐵上能看好幾天
有點跑偏,好吧,想介紹的其他的東西是:
Vim
這是程序員智慧的結(jié)晶,能極大的提升生產(chǎn)效率,類似的還有emacs
Markdown
總寫東西的話,這個推薦了解一下,上手極其容易,這個也是我使用簡書的原因,不多介紹,可以自行百度
暫時先寫這么多,從手邊的書柜上挑了一些想寫的,還有一部分不在身邊的和看過的電子書,后續(xù)繼續(xù)更新