月薪兩萬的Java工程師需要達到什麼水平?

千鋒武漢發表於2021-11-24

      相信目前 很多Java工程師的工資水平已經突破2w大關,並且有了更高的追求目標,當然也有很多初級後臺開發再往這個方向努力。其實2w月薪並不是評定一個Java工程師優秀與否的唯一標準,但是至少能在一定程度上說明你比別人更有優勢或者在工作上更加出色,例如985出身,top10名校畢業,研究生學歷,懂點大資料,表達能力強,擊中面試官痛點等等都會是求職加分項。

      那麼, 月薪兩萬的Java工程師需要達到什麼水平?小千 認為做好以下3點你就成功了一大半。

36

      一、 基礎過硬

      對集合類,併發包,類載入,IO/NIO,JVM,記憶體模型,泛型,異常,反射等有深入瞭解,看過原始碼瞭解底層的設計。比如一般面試都會問ConcurrentHashMap,CopyOnWrite,執行緒池,CAS,AQS,虛擬機器最佳化等知識點,因為這些對網際網路的企業是絕對重要的。而且一般人這關都過不了,還發鬧騷說這些沒什麼用,為什麼要面試。

      舉一例子,在使用執行緒池時,因為使用了無界佇列,在遠端服務異常情況下導致內層飆升,怎麼去解決?再舉一個例子,由於對ThreadLocal理解出錯,使用它做執行緒安全的控制,導致沒能實現真的執行緒安全。還有遇到記憶體洩露怎麼排插問題,怎麼最佳化系統效能。所以作為一個立志拿兩萬的Java程式設計師這點基礎沒有是說不過去的。

      二、 具備全面的網際網路技術知識

      從底層說起起碼得深入瞭解mysql,redis,nginx,tomcat,rpc,jms等方面的知識。如果非要問究竟瞭解到什麼程度?首先對於MySQL,你要知道常見的引數設定,儲存引擎怎麼去選擇,還需要了解常見的索引引擎,知道怎麼去選擇。知道怎麼去設計表,怎麼最佳化sql,怎麼根據執行計劃去調優。

      高階一點的工作,你需要去做分庫分表的設計和最佳化,一般網際網路企業的資料庫都是讀寫分離,還會垂直與水平拆分,所以這個也有經驗的成分在裡面。然後redis幾乎是必須的技能,而nginx和tomcat幾乎都是Java網際網路方面必配。至於rpc相關的內容要掌握的也非常多,必須各種網路協議,序列化技術,SOA等等。至於jms相關的起碼得了解原理吧,一般情況下不是專門開發中介軟體系統和支撐系統的不需要了解太多細節,國內企業常用的主要是activeMQ和kafka。

       程式設計能力,程式設計思想,演算法能力,架構能力

      首先2W程式設計師對演算法的要求小千覺得還是比較低,再高階也最多紅黑樹吧,但是排序和查詢的基本演算法得會。

      程式設計思想是必須的,問你個AOP和IOC你起碼的清清楚楚,設計模式不說每種都用過,但也能瞭解個幾種。

      程式設計能力這個小千 覺得不好去評價,但是拿一個2000W使用者根據姓名年齡排序這種題目也能信手拈來。最後就是架構能力,這種不是說要你設計個多高併發的系統,起碼讓你做一個秒殺系統,得有一個明確的思路和方向。  

      以上就是小千總結的 月薪兩萬的Java工程師需要達到的技術水平,希望能幫到大家!想了解更多Java知識,歡迎關注小千,後期會繼續分享Java技術知識的。

      本文來自千鋒教育,轉載請註明出處。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2843788/,如需轉載,請註明出處,否則將追究法律責任。

相關文章