美團架構師談開發:在小公司的Java程序員能拿30K高薪?

前言

(此篇是老文重提)

金九銀十的跳槽面試季即將到來,最近跟朋友在一起聚會的時候,提了一個問題,說1-3年的Java程序員,薪資區間大致是在15-25K左右,那有沒有可能提前達到30K的薪資呢?有人說這隻能是大企業或者互聯網企業工程師才能拿到。也許是的,小公司或者非互聯網企業拿30K的不太可能是初級開發或者碼農了,應該已經轉管理。還有區域問題,這個是不在我的考慮範圍內 因爲除了北上廣深杭,其他地方也很難達到。

首先:30K對應的層級分別是什麼?

30K的月薪在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都不是太大問題的,當然這個還需要看你的架構能力方面的面試表現了。

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

因此在這裏我也給那些技術想達到這個高度甚至想往架構師發展的Java程序員提供一份詳細的進階路線圖,主要針對1-5年及以上工作經驗的Java開發人員,從廣度到深度架構圖還比較全面的,裏面的技術包涵了Java高併發、微服務、源碼分析、源碼分析、高性能、分佈式等內容,這些也是目前互聯網企業比較常用的技術,那麼來詳細看看。(圖片可以保存)

1、底層源碼分析

學習Java技術體系,設計模式,流行的框架與組件,常見的設計模式,編碼必備,Spring5,做應用必不可少的最新框架,MyBatis,玩數據庫必不可少的組件......

美團架構師談開發:在小公司的Java程序員能拿30K高薪?

 

2、分佈式架構

高併發,高可用,海量數據,沒有分佈式的架構知識肯定是玩不轉的,要了解分佈式中的,分佈式架構原理,分佈式架構策略,分佈式中間件,分佈式架構實戰等等內容

美團架構師談開發:在小公司的Java程序員能拿30K高薪?

 

3、微服務架構

業務越來越複雜,服務分層,微服務架構是架構升級的必由之路。比如:微服務框架,Spring Cloud,Docker與虛擬化,微服務架構

美團架構師談開發:在小公司的Java程序員能拿30K高薪?

 

4、性能優化

任何脫離細節的ppt架構師都是耍流氓,向上能運籌帷幄,向下能解決一線性能問題,比如:性能指標體系,JVM調優,Web調優,DB調優等等....

美團架構師談開發:在小公司的Java程序員能拿30K高薪?

 

5、多線程併發

從架構設計,到應用層調優,再深入瞭解底層原理,紮實的Java基本功才能讓自己變爲掃地神僧:內存模型,併發模式,線程模型,鎖細節等等.....

美團架構師談開發:在小公司的Java程序員能拿30K高薪?

 

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

如何一起學習,有沒有免費資料?

最近我也根據上述的技術體系圖蒐集了幾十套阿里、頭條、螞蟻金服等公司19年的面試題,把技術點整理成了視頻、文檔(實際上比預期多花了不少精力),包含知識脈絡 + 諸多細節,由於篇幅有限,這裏以圖片的形式給大家展示一部分。

這份資料尤其適合:

  1. 最近要參加面試的Java程序員,查漏補缺,以便儘快彌補短板;
  2. 想了解“一線互聯網公司”最新招聘需求/技術要求,對比找出自身的長處和弱點所在,評估自己在現有市場上的競爭力如何;
  3. 做了幾年Java開發,但還沒形成系統的Java知識體系,缺乏清晰的提升方向和學習路徑的程序員。
相信它會給大家帶來很多收穫。(更全的內容和資料,在文末獲取)轉發此文關注我私信回覆【架構資料】諮詢獲取方式

美團架構師談開發:在小公司的Java程序員能拿30K高薪?

 

美團架構師談開發:在小公司的Java程序員能拿30K高薪?

 

轉發此文關注我私信回覆【架構資料】諮詢獲取方式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章