歡迎光臨
每天分享高質量文章

Java程式員月薪達到三萬,需要技術水平達到什麼程度?(文末送書)

最近跟朋友在一起聚會的時候,提了一個問題,說Java程式員如何能月薪達到三萬,技術水平需要達到什麼程度?人回答說這隻能是大企業或者網際網路企業工程師才能拿到。也許是的,小公司或者非網際網路企業拿二萬的不太可能是碼農了,應該已經轉管理。還有區域問題,這個是不在我的考慮範圍內 因為除了北上廣深杭,其他地方也很難達到。

還有人提到這個水平不止3w,其實工資是跟面試表現有關的,也跟其他綜合水平有關,比如你是985,top10,或者研究生學歷,也或者懂點node,懂點大資料等等,或者表達能力強,擊中面試官痛點都會加分。如果你達到我說的水準,起薪就是3~4w,有其他優秀的表現還會在這個基礎上加分。但純JAVA方面待遇是比較吻合的。還有SSH真的不是我要黑,3w水平的面試幾乎很少問SSH的知識,要問也是問架構層次的還有設計樣式以及底層原理等技術。例如mybatis是如何管理session和cache的。spring裡面有哪些你熟悉的設計樣式呢?你怎麼理解和應用的。

其實網際網路相關的知識去網際網路公司後很容易接觸,並不是什麼難點。如果你是在一線業務部門,我說的幾個點幾乎時時伴隨著你,完全不需要擔心自己不會。我司很多剛來的大學生在半年內都能把一些中介軟體系統摸的很明白,並不是說有多難,只是接觸少,對未知的東西感到害怕疑惑而已。

我在這裡給那些想達到這個高度甚至想往架構師發展程式員提供一份進階路線圖,主要針對2到5年及以上工作經驗的Java開發人員,從廣度到深度東西還比較全面的,裡面的技術包涵了Java高併發、微服務、原始碼分析、高效能、分散式等技術,其實這些技術想必大家都接觸過,那麼來詳細看看。

1

分散式專題

2

高併發專題

3

效能最佳化

4

原始碼分析

首先三萬的月薪在BAT實在太普遍了,一般是高階工程師和資深工程師的職位,在阿裡是p6~p7左右,在百度是t5左右,騰訊是t2-3左右,在京東是t3-1,美團是p6左右,其他的我不瞭解。這種級別是他們主要碼農層級,加班很多,能解決大部分問題,但對系統的整體架構能力和深入分析瓶頸的能力還需要培養。

其次掌握的技能樹主要有三個方面:

第一個是基礎。比如對集合類,併發包,IO/NIO,JVM,記憶體模型,泛型,異常,反射,等有深入瞭解,最好是看過原始碼瞭解底層的設計。比如一般面試都會問ConcurrentHashMap,CopyOnWrite,執行緒池,CAS,AQS,虛擬機器最佳化等知識點,因為這些對網際網路的企業是絕對重要的。而且一般人這關都過不了,還發鬧騷說這些沒什麼用,為什麼要面試。舉一例子,在使用執行緒池時候,因為使用了無界佇列,在遠端服務異常情況下導致內層飆升,怎麼去解決?你要是連執行緒池都不清楚,你怎麼去玩?再舉一例,由於對ThreadLocal理解出錯,使用它做執行緒安全的控制,導致沒能實現真的執行緒安全。所以作為一個拿兩萬的JAVA程式員這點基礎是要有的。

第二你需要有全面的網際網路技術相關知識。從底層說起,你起碼得深入瞭解mysql,redis,mongodb,nginx,tomcat,rpc,jms等方面的知識。你要問需要瞭解到什麼程度,我可以給你說個大慨。首先對於MySQL,你要知道常見的引數設定,儲存引擎怎麼去選擇,還需要瞭解常見的索引引擎,知道怎麼去選擇。知道怎麼去設計表,怎麼最佳化sql,怎麼根據執行計劃去調優。高階的你需要去做分庫分表的設計和最佳化,一般網際網路企業的資料庫都是讀寫分離,還會垂直與水平拆分,所以這個也有經驗的成分在裡面。然後redis,mongodb都是需要瞭解原理,需要會調整引數的,而nginx和tomcat幾乎都是JAVA網際網路方面必配,其實很阿裡的技術棧選擇有點關係。至於rpc相關的就多的去,必須各種網路協議,序列化技術,SOA等等,你要有一個深入的理解。現在應用比較廣的rpc框架,在國內就是dubbo了,可以自行搜尋。至於jms相關的起碼得瞭解原理吧,一般情況下不是專門開發中介軟體系統和支撐系統的不需要瞭解太多細節,國內企業常用的主要是activeMQ和kafka。你能對我說的都研究的比較深入,阿裡p7都不是太大問題的,當然這個還需要看你的架構能力方面的面試表現了。

第三就是程式設計能力,程式設計思想,演演算法能力,架構能力。首先2W程式員對演演算法的要求我覺得還是比較低,再高階也最多紅黑樹吧,但是排序和查詢的基本演演算法得會。程式設計思想是必須的,問你個AOP和IOC你起碼的清清楚楚,設計樣式不說每種都用過,但也能瞭解個幾種吧。程式設計能力這個我覺得不好去評價,但是拿一個2000W使用者根據姓名年齡排序這種題目也能信手拈來。最後就是架構能力,這種不是說要你設計個多牛逼多高併發的系統,起碼讓你做一個秒殺系統,防重請求的設計能快速搞定而沒有坑吧。

裡面的技術不是讓你全部掌握,但是很多東西是面試官必問的,所以你不能不知道,更希望給那些需要這些資訊的人幫助。那些質疑我的人去面試一下就明白我說的對不對,如果有機會可以再分享一次,我們來談談網際網路的JAVA面試題,我可以把90%的題目全部給你列出來。我其實不懷疑我說的這些技能樹能拿到25K或者30K+的可能,但現在網際網路相對來說還是比較泡沫。

這以上就是我說得3萬水準,如果你運氣好,面試表現好,4W+也有可能哦!

再分享一波福利,自己收集了一些Java架構影片,裡面就包括了高併發、分散式、JVM、微服務、IO等技術,還有一套BAT面試題影片,大家可以可以來我的群裡下載,免費分享給大家。

進群關註公眾號拿書拿資料!!

人到中年,開始走下坡路,擔心被前浪拍在沙灘上,被“下崗”、或者“提前下崗”簡直是嚇得瑟瑟發抖啊!

為了幫大家擺脫這種中年危機,走上升職加薪的道路。

給大家推薦一個我朋友的Java架構技術公眾號,裡面會分享分散式、微服務、高併發、JVM,以及大資料,區塊鏈等技術,有會定時分享IT類最新資訊。

成就夢想不是夢,還是要看你關註不關註!

技術在手,offer我有

關註上方公眾號,從當日新增粉絲中抽取名幸運粉絲各贈送一本

:微服務(Spring Cloud)的書籍給粉絲,郵費我出!!!

贊(0)

分享創造快樂