在座的諸位有沒有是自學Java的,有的話評論區給我扣個1看看[狗頭]
但凡自學過的同學都知道有多難,雖說現在網際網路非常發達,不明白的上網一搜就有很多資料,不過大多質量不高,而且非常碎片化,實在很難梳理成一個可持續成長的體系。
所以有了這篇文章,我結合自身自學的經歷與從事開發多年的經驗,整理了一份切實可行的自學路線, 並且每一步都整理了相應的學習資料與練習資料,希望對自學的各位小夥伴能有所幫助。
本文架構大概如下:
常用工具
工欲善其事,必先利其器!
一個易上手、好用、高效的軟體工具對於程式設計師工作效率的提升是不言而喻的,這些常用開發軟體和工具比如:
- 基礎的軟體開發環境和設施
- 好用高效的線上工具和網站
- 本地常用的一些程式設計軟體
- Linux作業系統
- 版本控制工具
- 高效的IDE和編輯器
- API管理工具/文件管理工具
- CI守護系統
- …… 等等
這裡就不展開講了,這一步想必是難不倒各位的,接下來我們正式開始!
計算機基礎
計算機基礎是最最重要的!即使後面的東西都沒學(或者來不及學),基礎部分是肯定需要完成的,這也是後面所有應用框架學習和做專案的基石;反之,在應用框架的學習或者做專案時如果感覺吃力,那就可能非常有必要回過頭再來鞏固對應的基礎知識。 計算機基礎的學習不是一蹴而就的,需要一定的反覆和回爐才能做到真正的融會貫通,需要一個過程。珍惜每一次回顧和複習基礎的機會,應紮實精進,步步為營。 那我們口口聲聲所說的程式設計基礎(計算機基礎)到底指是什麼呢? 此處整理為六大方面:
- Java基礎
- 資料結構和演算法
- 計算機網路
- 作業系統(計組)
- 資料庫/SQL
- 設計模式
應用框架和工具
- 計算機基礎聊完了,接下來就是應用和實踐的環節了。這部分通常會涉及到一些工具、程式設計環境、以及應用框架。
- 企業級開發不同於個人自學,出於可複用性、穩定性、開發成本、開發效率、質量保證等一系列因素的考量,不可能每一個功能、每一個元件都從0開始徒手造輪子,所以這時候各種應用框架和工具的出現就非常有幫助了。
- 其實框架講白了就是別人經過多年迭代寫好的一套工具、程式碼庫、邏輯、亦或是流程,把原本都需要從0開始手寫的基本功能和元件都給封裝進去,使用者只要符合框架約定的規則進行編碼,或者呼叫框架提供的方法或者工具,就能快速拉起業務功能,創造實際經濟價值。
- 所以框架的出現從不同的角度看也是有多面性的:對於企業級開發效率提升而言肯定是有幫助的,但是對於程式設計師個人思考編碼能力提升卻未必是好事,所以多注重基礎、深挖原理,提升自身競爭力還是非常有必要的。
書籍推薦
Tip:
毫無疑問的是,對於上文提到的 「程式設計基礎」 部分,有大量經典的書籍值得閱讀,每一本都是大師們若干年經驗的匯聚,所以學好程式設計基礎,對於我們普通人來說,看書是一個非常直接有效的方式。
很多經典書看一遍可能遠遠不夠,正所謂 「初看懵、再看迷、三看發現有點小意思」 講的就是這個道理,這事急不得,而且有些東西的確需要一個反反覆覆的過程,有些甚至是在工作後的實踐中才會遇到,所以珍惜每一次回爐重造的過程吧。
這裡推薦一些,當然一家之言,如果不認同也無妨
Java基礎
- 《Java核心技術(Core Java)》
- 《Java程式設計思想》
- 《Effective Java》
- 《深入理解 Java 虛擬機器》
- 《實戰Java高併發程式設計》
- 《Java併發程式設計實戰》
資料結構和演算法
- 《資料結構與演算法分析 Java語言描述》
- 《演算法 第4版》
計算機網路(TCP/IP協議)
- 《TCP/IP詳解 卷1:協議》
- 《計算機網路:自頂向下方法》
- 《圖解TCP/IP》《圖解HTTP》
資料庫/SQL
- 《MySQL必知必會》
- 《高效能MySQL》
作業系統
- 《深入理解計算機系統(CSAPP)》
- 《現代作業系統》
設計模式
- 《Head First設計模式》/《大話設計模式》
- 《設計模式:可複用面向物件軟體的基礎》
這些書網上跟書店都有賣,連結這裡就不放了,免得有廣告嫌疑,如果有需要電子檔,轉發本文+關注+私信【1208】即可獲取(一定要先關注,因為現在非好友的訊息是收不到的)
專案經驗
說起來專案經驗也是讓很多同學蛋疼的一件事,不過別怕,這我也替你們想到了,整理了一些很經典的練手專案,即使把這些專案寫在簡歷上,面試官都說不出一個不字
spring boot專案:
spring cloud專案:
其實一般來說,能擼出幾個上面的專案就已經很不錯, 但是如果你想拿一個好一點的offer,那麼分散式微服務你多少還是得懂一點:
怎麼領取不用我多少了吧,前面剛說了,不知道的往前翻翻。
面試準備和求職
簡歷這塊沒什麼好說的,不會的同學網上多下載幾個模板就可以了,主要說一下面試題這塊,近年來Java崗的面試越來越八股文化,搞得很多人吐槽不已。
但也可以理解,畢竟模板化的面試可以節省大量人力物力,作為求職者的我們既然改變不了,那就去適應它,這裡為大家整理了2021年Java崗被問得最多的210道面試題,包含多種正確題解和例項演示
這裡就不都放出來了,免得有人又說我水[狗頭],同樣的,轉發本文+關注+私信【1208】領取。請務必先關注,不然應該是收不到你的訊息的
end