雙非本科,逆襲中大廠的 Java 學習路線

從零基礎入門 Java,到最后秋招上岸,筆者也是花費了不少的經歷,也走了很多彎路。這一篇文章會記錄下真正有用的學習路線。

為什么要強調真正有用?網上的很多所謂從入門到求職,推薦的路線都超級長,零基礎的同學,想要學完然后去找工作,幾乎不可能。看了就直接勸退了。比如有些所謂的老師,讓一個連代碼都沒敲幾行的同學,去學 Spring 源碼,這不是瞎扯嘛?

廢話不多說,直接進入正題。我說的路線是面向 Java 開發的,根據路線學完之后,可以選擇開發、測試、運維這幾個方向。

Java語言入門與進階

第一個階段,是 Java 語言的學習,包括入門和進階。推薦 B 站的韓順平老師,每個視頻看完之后,跟著敲一遍,里面會有作業,也可以做一下,熟悉 Java 的語法。里面的小項目,時間充足的可以做一下,趕時間的直接跳過。

總結這個階段需要重點掌握的:Java 基本語法、異常、Integer類、String類、StringBuffer、StringBuilder、重點的集合類型,包括:List 、ArrayList、Vector、HashMap、ArrayList、Hashtable,以及多線程、常見的設計模式。

HashMap、ArrayList、Hashtable 這三個集合的get、put操作,需要跟著視頻閱讀一下源碼。

第一遍看,如果覺得自己對這些東西都很陌生,那么遇到源碼解析的部分,可以跳過,先學會怎么用,把代碼跑起來,讓自己和代碼之間,有一種親切的感覺,而不是看到大堆的英文,然后一直浮躁。

時間充裕的,推薦看這本書:《On Java》

MySQL

第二個階段,學習一種關系型數據庫。推薦學習 MySQL,因為他是免費開源的,適合自學,其他數據庫都類似。推薦小林的《圖解mysql》來簡單入門,對于文章類型的資料,第一次看有很多不懂的地方,沒關系,反復看多幾次,有時間可以看一些大佬寫的書,就會有頓悟的感覺了。

時間充裕的,推薦看這本書:《MySQL 必知必會》

Redis

接著來學習緩存數據庫,Redis 是最常用的,也是免費開源。資料的話,B站隨便找個視頻,先學用法,可以部署在本地或者服務器,跑起來之后,試著運行一些命令,為了后面做項目,遇到 Redis 部分不至于太陌生。

SpringBoot + Mybatis

到這里,就進入框架層面的學習了。這兩個東西,在 B 站都有一堆的視頻,注意不要全看完,不然會很花時間,而且很多看了也會忘,還是先學會怎么用,遇到源碼解析部分先跳過,不然看了也是懵逼狀態。

SpringBoot 主要掌握一些注解的使用,基本的配置,依賴怎么搞的,同時會涉及到 Maven 的知識,簡單了解即可。

Mybatis 主要是用來在框架當中操作數據庫的。

實戰項目

到這里,可以自己找一個感興趣的項目,來實戰一下了。B站、github、碼云這幾個平臺都可以找,最好找一些有完整教程和完整代碼的,可以先部署好,把項目跑起來,然后再從一個個接口入手,學習為什么要這樣寫。

注意,在實戰項目這個過程中,肯定會遇到很多的報錯,不要灰心,即使跟視頻里一模一樣的代碼,也可以會報錯,因為運行的環境不一樣,可能使用的配置版本也不一樣,報錯很正常。時間充足的可以折騰一下;如果趕時間的話,還是建議找一個有完整代碼的項目,不至于一個 bug 自己搞兩三天還解決不了,這樣的消耗不能說沒意義,但是求職路上,時間就是金錢

同時也會遇到一些中間件,比如 MQ、ElasticSearch 等等,也是推薦先學會使用,然后再學底層原理。做的時候可以自己嘗試一下使用git 來管理代碼,而不是直接存在某個文件夾,習慣提交代碼、回滾之類的基本操作,因為工作之后肯定要用到的。代碼管理平臺推薦國內的碼云(gitee)。

找工作

學完以上這些東西,就可以直接背八股文,然后找工作了,如果目標是小廠,那么上面這些就足夠了。

目標是中大廠的同學,還要補一下 JVM 、計算機網絡、操作系統。主要都是一些八股文,我自己是買了一個八股文小程序,每次面試之前,都突擊一下。不想花錢的同學,可以看小林 coding 的網站,但感覺還是我的小程序比較給力,至少命中率都挺高的。

對于八股文小程序的說明,可以看這里。

以上要學的東西,都是一定有用,而不是可能有用,時間緊迫,在有限的時間,我們要做優先級最高的事情!

最后,文中所提及的書籍,都可以在微信公眾號“徒手敲代碼”當中免費獲取,這也是我自己的公眾號,希望通過分享自己的面試求職心得,以及對常見面試題的理解,幫助更多的小伙伴找到心儀的工作。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/14581.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/14581.shtml
英文地址,請注明出處:http://en.pswp.cn/web/14581.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LeetCode198:打家劫舍

題目描述 你是一個專業的小偷,計劃偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。 給定一個代表每個房屋存…

【學習筆記】Windows GDI繪圖(六)圖形路徑GraphicsPath詳解(中)

上一篇【學習筆記】Windows GDI繪圖(五)圖形路徑GraphicsPath詳解(上)介紹了GraphicsPath類的構造函數、屬性和方法AddArc添加橢圓弧、AddBezier添加貝賽爾曲線、AddClosedCurve添加封閉基數樣條曲線、AddCurve添加開放基數樣條曲線、基數樣條如何轉Bezier、AddEllipse添加橢圓…

華為校招機試 - 最久最少使用緩存(20240508)

題目描述 無線通信移動性需要在基站上配置鄰區(本端基站的小區 LocalCell 與周邊鄰基站的小區 NeighborCelI 映射)關系, 為了能夠加速無線算法的計算效率,設計一個鄰區關系緩存表,用于快速的通過本小區 LocalCell 查詢到鄰小區 NeighborCell。 但是緩存表有一定的規格限…

代碼隨想錄-Day07

454. 四數相加 II 給你四個整數數組 nums1、nums2、nums3 和 nums4 &#xff0c;數組長度都是 n &#xff0c;請你計算有多少個元組 (i, j, k, l) 能滿足&#xff1a; 0 < i, j, k, l < n nums1[i] nums2[j] nums3[k] nums4[l] 0 示例 1&#xff1a; 輸入&#x…

系統磁盤高級管理、lvm例子、創建pv、創建VG、創建lv、磁盤擴展

LVM&#xff1a; 邏輯卷&#xff0c;動態調整分區大小&#xff0c;擴展性好 創建pv pvcreate &#xff1a; 將實體 partition 創建成為 PV &#xff1b; pvscan &#xff1a; 搜尋目前系統里面任何具有 PV 的磁盤&#xff1b; pvdisplay &#xff1a; 顯示出目前系統上面…

GNSS仿真測試之三種常用坐標系與轉換

作者介紹 在當今的全球導航衛星系統&#xff08;GNSS&#xff09;技術領域&#xff0c;仿真測試是評估和驗證GNSS接收機性能的關鍵環節&#xff0c;全球導航衛星系統&#xff08;GNSS&#xff09;仿真測試是確保GNSS接收機和導航解決方案在實際部署前能夠正確、可靠地工作的關鍵…

【git】學習記錄: 貯藏功能

Git 貯藏修改是一種臨時存儲工作目錄中已經修改但尚未提交的更改的機制。通過貯藏修改&#xff0c;你可以將當前的工作目錄狀態保存起來&#xff0c;以便你可以在之后的時間點重新應用這些更改&#xff0c;或者在不同的分支間切換時避免沖突。 要使用 Git 貯藏修改&#xff0c…

Linux(centos)常用命令

Linux&#xff08;Centos&#xff09;常用命令使用說明文檔 切換到/home目錄下 使用cd命令切換目錄&#xff0c;例如&#xff1a; cd /home列出/home目錄下的所有文件 使用ls命令列出目錄下的文件和子目錄&#xff0c;例如&#xff1a; ls /home新建目錄dir1 使用mkdir命…

頭歌OpenGauss數據庫-I.復雜查詢第1關:獲取前N名成績

本關任務&#xff1a;編寫函數來實現獲取前N名成績的方法。 提示&#xff1a;前面的實驗沒有提供編寫自定義函數的示例&#xff0c;需要參考OpenGauss數據庫文檔學習自定義函數的使用。 score表內容如下&#xff1a; IdScore13.5223.6534.2343.8554.2363.65 --#請在BEGIN - END…

python windows 開發.exe程序筆記

import win32api import win32gui import win32con import time import tkinter as tk## pyinstaller --onefile t4.py 將python 代碼打包為windows可執行文件 .exe ## airtext 大漠 def clickGoogle():hw win32gui.FindWindow("Chrome_WidgetWin_1", "新標…

解決Redis 緩存雪崩(過期時間不一致) 和 緩存穿透(黑名單)

解決Redis 緩存雪崩&#xff08;過期時間不一致&#xff09; 和 緩存穿透&#xff08;黑名單&#xff09; public Product getdetailById(Integer id) {String key "product." id;// 查詢黑名單中是否有該keyBoolean b hashOperations.hasKey(PROODUCT_DETAIL_B…

算法 Hw7

Hw 7 Graph Algorithm 1 Edge detection2 Reachability3 Bitonic shortest paths 1 Edge detection 由 Cut Property 可知&#xff1a;如果 e 是從某個集合 S 到補集 V?S 的開銷最小的邊&#xff0c;則 e 一定所有最小生成樹中。 由 Cycle Property 可知&#xff1a;如果 e 是…

Gradle常見問題及總結

使用android studio開發項目&#xff0c;難免遇到gradle相關的錯誤&#xff0c;在此總結。 gradle插件與gradle home版本關系錯誤 參考更新 Gradle Gradle下載太慢 Index of /gradle/ (tencent.com) 是國內下載地址,手動下載對應版本即可 緩存不刷新 問題描述 maven發布…

jenkins插件之xunit

分析測試工具執行的結果&#xff0c;并圖形化&#xff0c;比如phpunit&#xff0c;phpstan,可分析junit格式的結果 安裝jenkins插件 搜索xunit并安裝 項目配置 配置 - Build Steps 您的項目 - 配置 - Build Steps, 新增 Run with timeout 超時時間根據實際情況配置 Build…

Day38 貪心算法part05

LC435無重疊區間(未掌握) 思路&#xff1a;先對數組進行排序&#xff0c;找到非重疊的區間的個數&#xff0c;然后區間的總數減去非重疊區間的個數即是需要移除的區間的個數與LC452用最少數量的箭引爆氣球類似&#xff0c;但是不同的是[1,2]和[2,3]在此題并不是重疊區間但是在…

oracle怎么處理json格式

向數據庫導入json相關jar包 loadjava -r -f -u bsuser/XXXX192.168.10.31/bsorcl json.jar 要刪除的話&#xff0c;刪除指定jar dropjava -u bsuser/XXXX192.168.10.31/bsorcl json.jar select * from user_java_classes 然后我們就可以取到json串中任意節點的值

Linux完整版命令大全(四)

2. linux系統設置命令 alias 功能說明&#xff1a;設置指令的別名。語  法&#xff1a;alias[別名][指令名稱]補充說明&#xff1a;用戶可利用alias&#xff0c;自定指令的別名。若僅輸入alias&#xff0c;則可列出目前所有的別名設置。 alias的效力僅及于該次登入的操作。…

行列視(RCV)部署在互聯網還是部署在企業內部?

行列視&#xff08;RCV&#xff09;的部署方式可以根據企業的具體需求和情況來靈活選擇。它既可以部署在互聯網上&#xff0c;也可以部署在企業內部。 對于希望實現遠程訪問、多地點協同工作或者與第三方服務集成等需求的企業&#xff0c;可以選擇將行列視&#xff08;RCV&…

Postgresql源碼(129)JIT函數中如何使用PG的類型llvmjit_types

0 總結 llvmjit_types文件分三部分 類型定義&#xff1a;llvm通過變量找到對應結構體的定義&#xff0c;在通過結構體內的偏移量宏使用成員變量。模版函數定義&#xff1a; 第一&#xff1a;AttributeTemplate被當做一個函數屬性的模板&#xff08;例如nofree、nosync等clang…

SpringBoot項目中redis序列化和反序列化LocalDateTime失敗

實體類中包含了LocalDateTime 類型的屬性&#xff0c;把實體類數據存入Redis后變成這樣&#xff1a; 此時&#xff0c;存入redis不會報錯&#xff0c;但是從redis獲取的時候&#xff0c;會報錯&#xff1a; com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Ca…