本人19本科應屆生,專注Java后臺學習,已簽騰訊WXG的offer,
眾所周知,鵝廠后臺一直以C++為重,面試官也是做C++開發,但是語言只是工具,對代碼的理解才是核心,面試時重點考察的是基礎知識,以及解題的思考程序,憑借著對Java的理解去回答,也受到了面試官的認可,最終幸運的拿到offer,來源:知乎,作者:五彩駒,
一直以來,通過知乎這個程式員大牛聚集地,學習到了很多經驗方法,也少走了很多彎路,感謝這個平臺給予我的幫助,也分享一下我的Java學習經驗,并且同時也整理了Java核心知識點,一共283頁的pdf檔案,需要的朋友可以點擊:點這個!點這個!,暗號:csdn,

Java基礎
做java開發,java基礎是最需要下功夫的一項,在校招時最注重的就是基礎,拿不出像樣的專案沒關系,但是基礎萬萬不可不牢固,
想要基礎扎實,看書沉淀是必須的,有一些編程基礎的同學推薦閱讀《JAVA核心技術 卷1》,可以跳過圖形程式設計、事件處理、Swing、applet以及部分日志章節,如果比較吃力也可以先跳過多執行緒章節,
看完一本書,一定要多加練習去理解和吸收,科班的同學可以用java寫實驗,寫的同時一定要多多運用學到的特性,練習階段各種設計模式套上去用,不要怕笨重,即使是濫用特性和設計模式也是一種有效的學習,
有了一定量的編程經驗后,可以再回過頭將《JAVA核心技術 卷1》速讀一遍,查漏補缺,同時我們開始擴寬我們的知識領域,開始進行JavaWeb的學習,
JavaWeb基礎
JavaWeb是一系列技術的綜合,也是大多數Java學習者日后的技術方向,及早的了解JavaWeb也有利于更深層面理解,Java在完整的應用中,是如何與各個模塊互動并發揮作用的,
基礎篇包括Servlet和JSP的學習、tomcat的使用、理解MVC分層模式、mysql的基礎用法及JDBC、了解http協議,
可以看到這部分的內容是很雜且多的,此階段注重廣度的基礎學習,日后慢慢深入,
重點要理解Servlet的原理以及生命周期,在完成這一部分的學習后,可以簡單的做個小網站,包括注冊登陸,增刪改查等功能,如果想繼續折騰,可以考慮將專案部署在阿里云或者騰訊云上,一個完整可供他人訪問的專案,所獲得的成就感是非凡的,
Java進階
Java始終是我們JavaWeb開發體系中最核心的一環,唯有不停地探索,才能把握住方向和機遇,
- 在做完一個簡單完整的JavaWeb專案后,我們對代碼的認知和理解會提高不少,這對接下來的深入學習打下基礎,Java圣經:《JAVA編程思想》值得仔細品讀,作者的功力十分深厚,即使很多內容還無法理解,但每次讀完一定會有所識訓,同樣建議跳過“圖形化用戶界面“章節,這是一本伴隨我們技術成長的好書,買一本放在旁邊,摸著就有底氣,
- 讀完編程思想,建議寫一個有一定復雜度和代碼量的后臺專案,
- 做完專案我們又該看書沉淀技術了,此時我推薦《Effective Java》,這本書并不厚但是干貨十足,作者講述Java的最佳實踐和經驗規則,它能幫助我們寫出清晰、健壯、高效的代碼,同時這本書涵蓋了非常多的面試考點,一定要牢記于心!
- 最后還要深入學習Java多執行緒技術以及Java虛擬機原理,這兩部分難度較大,理解起來比較抽象,也許日后作業中,我們很少遇到并發問題,不一定有機會進行JVM調優,但是這部分一定要認真對待,越理解底層寫出的代碼越高效,查bug時越準確,另外更重要的是面試常考!推薦兩本書《Java并發編程的藝術》《深入理解Java虛擬機》,以及并發編程網:并發編程網 ifeve.com 重點掌握java記憶體模型,各種鎖的原理及應用,JVM GC垃圾回收原理,
還有2020年最新的大場面試題,需要的朋友可以點擊:點這個!點這個!,暗號:csdn,

JavaWeb進階
圍繞整個java體系學習,我們要筑起高高的城墻,
- Linux,現在的服務器基本都是Linux系統,也不存在圖形化操作界面,作為開發工程師推薦閱讀《The Linux Command Line》,有中文在線免費版本TLCL,學習的時候,可以去阿里云或騰訊云租一個學生服務器,每個月大概10元左右,直接ssh到云服務器上操作,能更好地模擬公司的開發及生產環境,
- 作業系統原理,主要學習行程控制調度、行程通信、存盤和設備管理、檔案管理以及系統安全,這一部分可以通過看教材或者自行找一些網課補充,
- 資料庫,可以買一本《MySQL必知必會》小冊子作為基礎入門,沒有什么理論的堆砌,是一本實踐指南,學習資料庫原理可以閱讀《MySQL技術內幕》索引優化、事務、鎖、范式都是重點,
- 網路協議,入門可以讀《圖解HTTP》《圖解TCP/IP》如果要深入研究可以讀《UNIX網路編程 卷1》和《TCP/IP詳解卷1》大多數開發者接觸http和tcp、udp、ip協議比較多,但是對整體網路協議堆疊有個完整了解是必要的,
- 資料結構與演算法,資料結構是演算法的基礎,一定要清晰明了,演算法則是筆試面試中無法繞過的難關,推薦去LeetCode刷題,現在也有了中文官方網站:力扣(LeetCode) 中國官網 - 全球極客摯愛的技術成長平臺 從easy難度開始刷起,積累一定題量之后,做演算法題會很快找到型別方法,
- SSM框架,Spring+SpringMVC+MyBatis可以說是開發必備了,但框架只是錦上添花,不要太依賴框架進行學習,當我們能不依賴任何框架開發完整專案時,才是真正掌握了它,最為重要的是理解Spring的兩個特性:IOC 反轉控制和DI 依賴注入,明白實作原理以及為什么要使用Spring,只有這樣才能在層出不窮的框架中靈活應對,立于不敗之地,
加分技能
- 前端,一些崗位要求全堆疊,即使不是全堆疊,懂得前端技術的后臺能寫出更加合理的介面,與前端工程師合作起來會更順利,理解專案更通透,解決問題準確迅速,
- 學習一門動態語言,動態語言開發起來更靈活迅速,同時比較動態靜態語言的特點,可以更好去提煉跳出語言束縛的代碼思想,推薦學習JavaScript或者Python等,
- 大資料,大資料開發近幾年也是熱門方向之一,有興趣的同學可以學習,
- 熱門工具及框架,包括分布式Dubbo、快取優化redis、nginx、虛擬化技術docker等,一般來說本科應屆生不會要求很高,但是要對熱門技術有一定的了解,
最后提供免費的Java架構學習資料,學習技術內容包含有:Spring,Dubbo,MyBatis, RPC, 原始碼分析,高并發、高性能、分布式,性能優化,微服務 高級架構開發等等,
需要的朋友可以點擊:點這個!點這個!,暗號:csdn,
還有Java核心知識點+全套架構師學習資料和視頻+一線大廠面試寶典+面試簡歷模板可以領取+阿里美團網易騰訊小米愛奇藝快手嗶哩嗶哩面試題+Spring原始碼合集+Java架構實戰電子書+2020年最新大廠面試題,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/132151.html
標籤:其他
