天天看點

Java 實習生(月薪 3k-5k 水準)應具備哪些知識、能力?給學弟學妹們支招

我 10 年前在一家外企做 Java 實習生的時候,就差不多這個水準((月薪 3k-5k),10 多年過去了,可以稍微把目标放得大一點,比如說 8k-10k,我覺得也不是不可能!

在一線城市找一份靠譜的實習工作我覺得還是不難的,怕就怕有些學弟學妹盲目樂觀,以為能找一份不錯的實習工作,結果碰一鼻子灰,最後心灰意冷,可能就轉行了。或者盲目悲觀,大四了呀,學曆不咋滴呀,整天恍恍惚惚的,無心學習,最後也轉行了。

注意注意,隻要現在立刻馬上開始按照我說的學習路線開始,就一點不晚。

第一,Intellij IDEA、Git 這兩樣工具一定要會用!

第二,Java 基礎一定要紮實!我這有一份 GitHub 上星标 115k+ 的 Java 教程,裡面涵蓋了 Java 基礎的所有知識點,包括 Java 文法、Java 集合架構、Java IO、Java 并發程式設計和 Java 虛拟機,基本上從 Java 這門程式設計語言的層面來說,知識點都涵蓋了,關鍵是内容不多,隻講重點。

太贊了,GitHub 上标星 115k+ 的 Java 教程!

如果時間安排得比較得當的話,讀完這份教程大概也就 2 周的時間。就能檢測出自己到底處于一個啥水準了。如果連這上面的知識點都沒掌握的話,找一份 3k-5k 的 Java 實習工作我覺得難。如果掌握了,那麼恭喜你,有很大的希望上岸!

第三,Spring 的系列架構一定要會用,尤其是 Spring Boot 是重點!

第四,基本的 SQL 要會寫,尤其是 MySQL,基本的增删改查是一定要會的。

接下來,我來詳細地說一下,該怎麼學習這些知識點。

一、工具篇

如果你既想寫出品質杠杠的 Java 代碼,又想追求開發效率,用 Intellij IDEA 準沒錯!可以去 B 站上看一下這個 Intellij IDEA 的教學視訊。

https://www.bilibili.com/video/BV1PW411X75p

像 CheckStyle、Alibaba Java 代碼規範、SonarLint 這三個插件是一定要裝的,可以極大程度上保證代碼品質。Intellij IDEA 的插件越來越豐富了,除了我上面提到的這些,還有呢:

Grep Console:控制台輸出處理

Rainbow Brackets:彩虹 括号

Save Actions:優化儲存操作

SequenceDiagram:一鍵生成時序圖

Maven Helper:分析Maven項目的相關依賴

EasyCode:一鍵幫你生成所需代碼

Lombok:幫你簡化代碼

CodeGlance:代碼微型地圖

Java Stream Debugger:Java8 Stream調試器

Git Commit Template:使用模闆建立commit資訊

大家都知道,版本控制系統非常重要!!!!!!即便你隻是一個人在編碼,它也可以幫助你建立項目的快照、記錄每個改動、建立不同的分支等等。如果你參與的是多人協作,它更是一個無價之寶,你不僅可以看到别人對代碼的修改,還可以同時解決由于并行開發帶來的沖突。版本控制系統有很多,其中最突出的代表就是 Git。想要把 GitHub 學好的話,可以到 GitHub 倉庫下載下傳這份 Pro Git 中文版。

二、Java 基礎

我把 Java 基礎部分真正要學的内容列一下。

01、Java 簡介

Java hello world

Java JVM JRE JDK

Java 變量和字面值

Java 資料類型

Java 操作符

Java 輸入輸出

Java 表達式 & 語句 & 代碼塊

Java 注釋

02、Java 流程控制

Java if else

Java switch 語句

Java for 循環

Java while 循環

Java break 語句

Java continue 語句

03、Java 數組

Java 數組

多元數組

Java 數組複制

04、Java 面向對象(1)

Java 類和對象

Java 方法

Java 方法重載

Java 構造方法

Java 字元串

Java 通路權限

Java this 關鍵字

Java final 關鍵字

Java 遞歸

Java instanceof 操作符

05、Java 面向對象(2)

Java 繼承

Java 方法重寫

Java super 關鍵字

抽象類 & 抽象方法

Java 接口

Java 多态

Java 封裝

06、Java 面向對象(3)

嵌套&内部類

Java static 關鍵字

Java 匿名内部類

Java 單例

Java 枚舉類

Java 枚舉構造方法

Java 枚舉字元串

Java 反射

07、Java 異常處理

Java 異常簡介

Java 異常處理

Java try catch

Java throw 和 throws

Java 捕獲多個異常

Java try-with-resources

Java 注解

Java 注解類型

Java 日志

Java 斷言

08、Java 集合

Java 集合架構

Java 集合接口

Java List 接口

Java ArrayList

Java Vector

Java Stack

09、Java 隊列

Java 隊列接口

Java 優先級隊列

Java 雙端隊列接口

Java LinkedList

Java 數組隊列

Java 阻塞隊列接口

Java ArrayBlockingQueue

Java LinkedBlockingQueue

10、Java Map

Java Map 接口

Java HashMap

Java LinkedHashMap

Java WeakHashMap

Java EnumMap

Java SortedMap 接口

Java NavigableMap 接口

Java TreeMap

Java ConcurrentMap 接口

Java ConcurrentHashMap

11、Java Set

Java Set 接口

Java HashSet

Java EnumSet

Java LinkedHashSet

Java SortedSet 接口

Java NavigableSet 接口

Java TreeSet

Java 集合算法

Java 疊代器接口

Java ListIterator 接口

12、Java 位元組流

Java IO 流簡介

Java InputStream

Java OutputStream

Java FileInputStream

Java FileOutputStream

Java ByteArrayInputStream

Java ByteArrayOutputStream

Java ObjectInputStream

Java ObjectOutputStream

Java BufferedInputStream

Java BufferedOutputStream

Java PrintStream

13、Java 字元流

Java Reader

Java Writer

Java InputStreamReader

Java OutputStreamWriter

Java FileReader

Java FileWriter

Java BufferedReader

Java BufferedWriter

Java StringWriter

Java PrintWriter

14、Java 并發程式設計

程序與線

多線程的入門類和接口

線程組和線程優先級

線程的狀态及主要轉化方法

線程間的通信

重排序和 happens-before

volatile

synchronized 與鎖

CAS 與原子操作

AQS

計劃任務

Stream 并行計算原理

Frok/Join

通信工具類

CopyOnWrite

并發集合容器

鎖接口和類

阻塞隊列

線程池原理

15、Java 虛拟機

Java 記憶體結構

垃圾回收

JVM 記憶體區域

Java 虛拟機棧

class 檔案

位元組碼指令

JVM 參數調優

Java 對象模型

HotSpot

類加載機制

編譯和反編譯

反編譯工具(javap)

JIT

虛拟機性能監控和故障處理工具(jps、jstack、jmap、jstat、jconsole、javap)

怎麼系統化的學習呢?推薦一套視訊,兩本書,兩本小冊。

視訊推薦浙江大學翁恺教授的《Java 程式設計》,可以在 B 站上看。

https://www.bilibili.com/video/BV1DJ411B7cG

書的話,推薦《Java 核心技術卷 1》和《深入了解 Java 虛拟機》。

小冊的話,推薦我前面提到的 GitHub 上星标 115k+ 的 Java 教程和幾位阿裡朋友重寫的《Java 并發程式設計》。

三、架構篇

要找一份 Java 實習工作的話,Spring 的系列架構是必須得掌握的,尤其是 Spring Boot。因為如果你會這玩意的話,基本上是做不了項目的。主要涉及的内容有:

Spring

Spring MVC

MyBatis

Spring Boot

關于 SSM(Spring+Spring MVC+MyBatis)的學習,可以看下面這個視訊。

https://www.bilibili.com/video/BV1NX4y1G7wx

關于 Spring Boot 的學習,可以看純潔的微笑的部落格,通路量在千萬級别以上,影響了無數的初學者,我個人強烈推薦。

學了 SSM + Spring Boot,就可以上手實戰項目了,像 GitHub 上的 vhr 和 mall,都是不錯的練手項目,強烈推薦。

四、資料庫

對了,Java 實習工作,不外乎增删改查嘛,不要抱太多幻想,基本上任何一個人的實習經曆,都是從 CRUD 開始的,我也不例外的。

剛去外企那會,上司布置的任務就是,寫 SQL,直接寫哦,把上司想要查詢的資料給查詢出來,我印象很深刻,統計一天内、一個星期内、一個月内、半年内使用者的消費資料。

要學習 SQL 和 MySQL 的話,推薦《SQL 必知必會》和《MySQL 必知必會》,兩本很薄的書,很快就能刷完。

視訊的話,也給推薦兩個。

SQL:一個老外的視訊課(中字版啦),内容制作得非常棒,是以完全不用擔心聽不懂。

https://www.bilibili.com/video/BV1UE41147KC

MySQL:一個女老師講的,彈幕很精彩。

https://www.bilibili.com/video/BV12b411K7Zu

這一套組合拳打下來,找一份實習工作我認為是完全沒問題了。這也是一個 Java 後端程式員必須掌握的技能點,缺一不可!

哦,差點忘了!

找工作之前一定記得刷一刷面試題,背一背八股文,要乖哦,千萬不要抗拒!千萬不要裸面,真的!其實私下裡,很多學弟學妹們都向我哭訴過,說大廠的面試題太難了,有的題出的真的是萬萬沒想到啊(狗頭)。甚至有些中小廠的面試題都很難對答如流(他們的面試官可能看過我這份面試題庫,哈哈哈),有了這份面試題庫後,大家再也不用慌了!