作者:蝸牛伊
連結:https://my.oschina.net/woniuyi/blog/2876567
關於自己
本科就讀於黑龍江某高校,碩士就讀於西南某高校,專業均為材料相關,研究生才開始系統學習相關知識,稍微一丟丟晚,但是這怎麼能阻擋我對計算機的熱愛之情呢。廢話不多說,上乾貨。
學習路線
路線一
以影片為主,影片能幫我們快速的進行實操,跟著老師走也基本不會有太大的錯誤,大部分影片來源於嗶哩嗶哩,以尚矽谷和黑馬的為主,高畫質、不花錢,你值得擁有,下麵具體說下學習過程,按照先後順序大概如下:
-
Java方面:JavaSE,JavaWeb,JavaEE主流框架,大概就是Mybatis(最常用,靈活簡便),Hibernate(這個好多公司都沒用,重量級,學起來比較費力,容易頭暈),Maven(開發必用),Spring,SpringMVC(現在開發的話基本就是Spring家族的天下了,可想而知其統治地位),git和svn(版本管理工具,git 愈發流行了,推薦廖雪峰,影片公眾號後臺回覆 非科班的影片推薦)。是時候拿出壓箱底的圖了
-
資料庫方面:MySQL,Oracle,Redis。MySQL是開源的關係型資料庫,大部分公司用這個,Oracle收費的,銀行用的比較多,二者都實現了標準的sql陳述句,推薦首先學習MySQL,一通百通,而且面試都是問MySQL,把它搞定就行了。Redis是最常用非關係型資料庫,學起來比MySQL容易些,上手快。
-
分散式方面:Dubbo,SpringBoot,SpringCloud。分散式是未來發展的主流,dubbo以後也作為spring家族的一員專註遠端呼叫這塊。SpringCloud有一整套的微服務理念的落地實現,只能說很強!
-
Linux,推薦兄弟連的,一節影片很短,幽默詼諧,想看影片的還是一樣,公眾號後臺回覆 非科班的影片推薦,不過同學們記得做筆記啊,知識點很雜和多;Netty高效能網路框架,這塊有時間可以看看影片,原理還是比較簡單,推薦這個網站
http://ifeve.com/netty-in-action-1/,就是訪問太慢了,需要耐心。
路線二
以書籍為主,影片看完基本就再也不會看第二遍了,書本能讓我們反覆的去咀嚼,深挖其中的原理,從而記憶更牢固,一本好書能夠讓你學習起來更加輕鬆愉快,下麵推薦的書籍都是我從各個渠道收集而來,口碑較好的書籍:
-
計算機基礎方面:《計算機網路自頂向下方法》吐血力薦!書中從生活中的小事舉例,形象生動,深入淺出,印象深刻,極易理解,本來網路這個東西就很抽現,看不見摸不著,選擇他作為入門,我只能說或許你又快人一步了!《資料結構與演演算法》只要踏入這個行業,這個東西就必不可少,但凡說到原理,就是在談這個東西,所以它的重要性是不言而喻的,而且面試筆試中也是必問的,答應我,好好學,好嗎!(儘管我也學的很菜)《計算機組成原理》、《作業系統》這兩本書開發中運用的比較少,但是非常有助於我們理解其底層執行機制和執行環境,當然如果你覺得一直搬磚也不錯的話,略過。這四本書是計算機的基礎,最好是能夠多看幾遍,對於後面的學習大有裨益。都是機械出版社,從外文翻譯過來的,封面風格一致。
-
資料庫方面:《高效能MySQL》這本書有點厚,知識點很全,適合作為工具書,《MySQL 技術內幕—InnoDB 儲存引擎》此書講的很底層,適合有一定基礎的時候再看,但是個人覺得儲存原理那塊講的特別好,有了此書,分分鐘碾壓面試官好嘛,《Redis設計與實現》講的挺透的,但是個人對這本書沒有太多的感覺,醬紫。
-
Java方面:《瘋狂Java講義》,《瘋狂Java程式員的基本修養》作者李剛,這兩本書比較基礎,適合小白入門及查缺補漏,沒事多翻翻,《Java程式設計思想》Java學習必讀經典,不管是初學者還是大牛都值得一讀,但是我還是羅嗦一句,小白慎入,有點厚,壓力有點大,哈哈。《輕量級JavaEE應用實戰》也是李剛的,這本書比較綜合了,建議先看框架影片,然後再看書理解起來比較容易,這書不是一般的厚,厚到讓你懷疑人生,仍記得從圖書館借出來後,旁人看我的異樣眼光,這種書一般不用挨著看,挑重點。《深入理解Java虛擬機器》Java高階程式員必經之路,對Java有著深入的剖析,開發中少用,但絕對值得細細品味,《Java多執行緒設計樣式》可謂是Java中最讓人頭疼的一部分知識,但是又不得不學習,算是高階知識了,怎麼說額,硬著頭皮上吧。這些都是從事Java開發的必要知識,也是Java面試的重點。
-
演演算法方面:《程式員面試程式碼指南》左神的傾力之作,你離大神只有一本書的距離!《程式設計之美》和《劍指offer》程式員中幾乎人手一本,你不買一本好意思說自己是程式員?把這三本書中的中等題刷完也完全足夠對付面試和筆試中演演算法題了,別說手撕程式碼,手撕面試官都沒有問題,好嗎?
-
其他方面:《鳥哥的Linux私房菜》此書也是我的入門書籍,內容較多,適合當作工具書查閱,甚至被封為“linux入門神書”,不接受反駁。
路線三
- 經常去各大網站都能夠學習到很多東西,網際網路學習需要你一種開放的心態,既要學會從中獲取,也要學會給予。列下我經常去的幾個:開源中國,csdn,牛客網,知乎,github,Stacoverflow。一路走來他們都有幫我解決了很多問題。我們都知道很多東西都是開源的,尤其學習原始碼特別有幫助,下載各種軟體和工具也是十分方便,多嘗試去閱讀英文,對自己有好處,也是你區別於一般程式員的一種體現。
學習完以上知識後,一定要找幾個綜合一點的案例實操,從頭到尾,從前端到後臺擼一遍,瞭解真實的企業開發流程和常用工具,這個十分重要,雖然不能夠與真實環境相比,起碼越接近越好撒,給網上比較好的綜合案例吧,部落格案例公眾號後臺回覆 非科班的影片推薦。然後有了這些經驗,就可以去找實習了,過程比較虐心哈,你們自己去體會。
秋招的時候,有實習經歷肯定會加分的,但是沒有實習的也有機會的,面試問的最多的還是基礎,基礎,基礎,重要的事情說三遍,特別是計算機基礎和Java基礎,常用框架基本是問底層原理。
雜談
作為一個轉行人員,與科班出身的不一樣,從頭到尾我們必須要清楚自己的標的,每一步該乾什麼,大概花多長時間,遇到困難也要自己解決,經常就是一個小問題一卡就半天或者一天過去了,但是這些坑都要自己一個一個去踩,才會有所進步,才能有所成長。
- 報班與否:我自己當初也是面臨這個選擇。每個人的情況不一樣,學習效率、時間塊、財力、學習資源等等因素。報班好處:系統學習,整個計劃不需要自己考慮,困難小,時間稍短,資源多;壞處:壓力大,節奏快,花錢,自己思考的時間少。當然自學的話,面臨的困難更多,但是解決問題的能力也是蹭蹭的,你需要有一顆強大的心臟。
- 準備時間早晚否:送分題,肯定是越早越好。但是實際上由於視野受限,一般大多數人不會很早準備
笨鳥先飛,但是如果沒有方向,最後也會不知所蹤。一定要對自己有個規劃,然後一步一步的學習,只要下定決心要學,無論哪種方式,堅持、積極終會有所回報的。
朋友會在“發現-看一看”看到你“在看”的內容