有人回答說這只能是大企業(yè)或者互聯(lián)網(wǎng)企業(yè)工程師才能拿到。也許是的戒傻,小公司或者非互聯(lián)網(wǎng)企業(yè)拿兩萬的不太可能是碼農(nóng)了税手,應(yīng)該已經(jīng)轉(zhuǎn)管理。還有區(qū)域問題需纳,這個不在我的考慮范圍內(nèi)芦倒,因為除了北上廣深杭,其他地方也很難達到不翩。
還有人提到這個水平不止2w兵扬,其實工資是跟面試表現(xiàn)有關(guān)的麻裳,也跟其他綜合水平有關(guān),比如你是985器钟,top10津坑,或者研究生學歷,也或者懂點node傲霸,懂點大數(shù)據(jù)等等疆瑰,或者表達能力強,擊中面試官痛點都會加分昙啄。如果你達到我說的水準穆役,起薪就是2w,有其他優(yōu)秀的表現(xiàn)還會在這個基礎(chǔ)上加分梳凛。但純JAVA方面待遇是比較吻合的耿币。還有SSH真的不是我要黑,2w水平的面試幾乎很少問SSH的知識韧拒,要問也是問架構(gòu)層次的還有設(shè)計模式的淹接。例如mybatis是如何管理session和cache的。spring里面有哪些你熟悉的設(shè)計模式叭莫,你怎么理解和應(yīng)用的。
烁试。其實互聯(lián)網(wǎng)相關(guān)的知識去互聯(lián)網(wǎng)公司后很容易接觸雇初,并不是什么難點。如果你是在一線業(yè)務(wù)部門减响,我說的幾個點幾乎時時伴隨著你靖诗,完全不用擔心自己不會很多剛來的大學生在半年內(nèi)都能把一些中間件系統(tǒng)摸的很明白,并不是說有多難支示,只是接觸少刊橘,對未知的東西感到害怕疑惑而已。我在這里可以給那些想學習這方面的程序員提供一份進階路線颂鸿,主要針對1到5年及以上工作經(jīng)驗的Java開發(fā)人員促绵,提供互聯(lián)網(wǎng)行業(yè)熱門技術(shù)的專題技術(shù),由業(yè)內(nèi)技術(shù)大牛嘴纺,行業(yè)及實戰(zhàn)經(jīng)驗豐富的講師進行技術(shù)分享败晴。內(nèi)容涵蓋 高并發(fā)、高可用栽渴、分布式尖坤、高性能技術(shù)。
這也是我最后一次更新答案闲擦,希望給那些需要這些信息的人幫助慢味。那些質(zhì)疑我的人去面試一下就明白我說的對不對场梆,不要隨便就質(zhì)疑。如果有機會可以再開一題纯路,來談?wù)劵ヂ?lián)網(wǎng)的JAVA面試題或油,我可以把90%的題目全部給你列出來。我其實不懷疑我說的這些技能樹能拿到25K或者30K+的可能感昼,但現(xiàn)在互聯(lián)網(wǎng)相對來說還是比較泡沫装哆。
首先兩萬的月薪在BAT實在太普遍了,一般是高級工程師和資深工程師的職位定嗓。在阿里是p6~p7左右蜕琴,在百度是t5左右,騰訊是t2-3左右宵溅,京東是t3-1凌简,美團是p6左右,其他的我不了解恃逻。這種級別是他們主要碼農(nóng)層級雏搂,加班多,能解決大部分問題寇损,但對系統(tǒng)的整體架構(gòu)能力和深入分析瓶頸的能力還需要培養(yǎng)凸郑。
其次掌握的技能樹主要有三個方面:
第一個是基礎(chǔ)。比如對集合類矛市,并發(fā)包芙沥,IO/NIO,JVM浊吏,內(nèi)存模型而昨,泛型,異常找田,反射歌憨,等有深入了解,最好是看過源碼了解底層的設(shè)計墩衙。比如一般面試都會問ConcurrentHashMap务嫡,CopyOnWrite,線程池漆改,CAS植袍,AQS,虛擬機優(yōu)化等知識點籽懦,因為這些對互聯(lián)網(wǎng)的企業(yè)是絕對重要的于个。而且一般人這關(guān)都過不了,還發(fā)鬧騷說這些沒什么用暮顺,為什么要面試厅篓。舉一例子秀存,在使用線程池時,因為使用了無界隊列羽氮,在遠程服務(wù)異常情況下導致內(nèi)層飆升或链,怎么去解決?你要是連線程池都不清楚档押,你怎么去玩澳盐?再舉一例,由于對ThreadLocal理解出錯令宿,使用它做線程安全的控制叼耙,導致沒能實現(xiàn)真的線程安全。所以作為一個拿兩萬的JAVA程序員這點基礎(chǔ)是要有的粒没。
第二你需要有全面的互聯(lián)網(wǎng)技術(shù)相關(guān)知識筛婉。從底層說起,你起碼得深入了解mysql癞松,redis爽撒,mongodb,nginx响蓉,tomcat硕勿,rpc,jms等方面的知識枫甲。你要問需要了解到什么程度源武,我可以給你說個大慨。首先對于MySQL言秸,你要知道常見的參數(shù)設(shè)置软能,存儲引擎怎么去選擇迎捺,還需要了解常見的索引引擎举畸,知道怎么去選擇。知道怎么去設(shè)計表凳枝,怎么優(yōu)化sql抄沮,怎么根據(jù)執(zhí)行計劃去調(diào)優(yōu)。高級的你需要去做分庫分表的設(shè)計和優(yōu)化岖瑰,一般互聯(lián)網(wǎng)企業(yè)的數(shù)據(jù)庫都是讀寫分離叛买,還會垂直與水平拆分,所以這個也有經(jīng)驗的成分在里面蹋订。然后redis率挣,mongodb都是需要了解原理,需要會調(diào)整參數(shù)的露戒,而nginx和tomcat幾乎都是JAVA互聯(lián)網(wǎng)方面必配椒功,其實很阿里的技術(shù)棧選擇有點關(guān)系捶箱。至于rpc相關(guān)的就多的去,必須各種網(wǎng)絡(luò)協(xié)議动漾,序列化技術(shù)丁屎,SOA等等,你要有一個深入的理解『得校現(xiàn)在應(yīng)用比較廣的rpc框架晨川,在國內(nèi)就是dubbo了,可以自行搜索删豺。至于jms相關(guān)的起碼得了解原理吧共虑,一般情況下不是專門開發(fā)中間件系統(tǒng)和支撐系統(tǒng)的不需要了解太多細節(jié),國內(nèi)企業(yè)常用的主要是activeMQ和kafka吼鳞。你能對我說的都研究的比較深入看蚜,阿里p7都不是太大問題的,當然這個還需要看你的架構(gòu)能力方面的面試表現(xiàn)了赔桌。
第三就是編程能力供炎,編程思想,算法能力疾党,架構(gòu)能力音诫。首先2W程序員對算法的要求我覺得還是比較低,再高級也最多紅黑樹吧雪位,但是排序和查詢的基本算法得會竭钝。編程思想是必須的,問你個AOP和IOC你起碼的清清楚楚雹洗,設(shè)計模式不說每種都用過香罐,但也能了解個幾種吧。編程能力這個我覺得不好去評價时肿,但是拿一個2000W用戶根據(jù)姓名年齡排序這種題目也能信手拈來庇茫。最后就是架構(gòu)能力,這種不是說要你設(shè)計個多牛逼多高并發(fā)的系統(tǒng)螃成,起碼讓你做一個秒殺系統(tǒng)旦签,防重請求的設(shè)計能快速搞定而沒有坑吧。
這以上就是我說得2w水準寸宏,如果你運氣好宁炫,面試表現(xiàn)好,3w+也有可能哦
如果你想學習Java工程化氮凝、高性能及分布式羔巢、高性能、深入淺出。性能調(diào)優(yōu)竿秆、Spring炭臭,MyBatis,Netty源碼分析和大數(shù)據(jù)等知識點可以來找我袍辞。
而現(xiàn)在我就有一個平臺可以提供給你們學習鞋仍,讓你在實踐中積累經(jīng)驗掌握原理。主要方向是JAVA架構(gòu)師搅吁。如果你想拿高薪威创,想突破瓶頸,想跟別人競爭能取得優(yōu)勢的谎懦,想進BAT但是有擔心面試不過的肚豺,可以加我的Java架構(gòu)進階群:523401738
注:加群要求
1、具有1-5工作經(jīng)驗的界拦,面對目前流行的技術(shù)不知從何下手吸申,需要突破技術(shù)瓶頸的可以加。
2享甸、在公司待久了截碴,過得很安逸,但跳槽時面試碰壁蛉威。需要在短時間內(nèi)進修日丹、跳槽拿高薪的可以加。
3蚯嫌、如果沒有工作經(jīng)驗哲虾,但基礎(chǔ)非常扎實,對java工作機制择示,常用設(shè)計思想束凑,常用java開發(fā)框架掌握熟練的,可以加栅盲。
4汪诉、覺得自己很牛B,一般需求都能搞定剪菱。但是所學的知識點沒有系統(tǒng)化摩瞎,很難在技術(shù)領(lǐng)域繼續(xù)突破的可以加拴签。
5.阿里Java高級大牛直播講解知識點孝常,分享知識,多年工作經(jīng)驗的梳理和總結(jié)蚓哩,帶著大家全面构灸、科學地建立自己的技術(shù)體系和技術(shù)認知!