有人說這只能是大企業(yè)或者互聯(lián)網(wǎng)企業(yè)工程師才能拿到。是的舱污,小公司或者非互聯(lián)網(wǎng)企業(yè)三萬(wàn)的不太可能是碼農(nóng)了呀舔。還有區(qū)域問題,這個(gè)不在我的考慮范圍內(nèi)扩灯,因?yàn)槌吮鄙蠌V深杭别威,其他地方也很難達(dá)。
還有人提到其實(shí)工資是跟面試表現(xiàn)有關(guān)的驴剔,也跟其他綜合水平有關(guān),比如你是985粥庄,TOP10丧失,或者研究生學(xué)歷,也或者懂點(diǎn)節(jié)點(diǎn)惜互,懂點(diǎn)大數(shù)據(jù)等等布讹,或者表達(dá)能力強(qiáng)琳拭,擊中面試官痛點(diǎn)都會(huì)加分。有其他優(yōu)秀的表現(xiàn)還會(huì)在這個(gè)基礎(chǔ)上加分描验。但純JAVA方面待遇是比較吻合的白嘁。還有SSH真的不是我要黑,3W水平的面試幾乎很少問SSH的知識(shí)膘流,要問也是問架構(gòu)層次的還有設(shè)計(jì)模式的絮缅。例如MyBatis的是如何管理會(huì)議和高速緩存的.spring里面有哪些你熟悉的設(shè)計(jì)模式,你怎么理解和應(yīng)用的呼股。
高薪在BAT實(shí)在太普遍了耕魄,一般是高級(jí)工程師和資深工程師的職位。在阿里是P6?P7左右彭谁,在百度是T5左右吸奴,騰訊是T2-3左右,京東是T3-1缠局,美團(tuán)是P6左右则奥,其他的我不了解。這種級(jí)別是他們主要碼農(nóng)層級(jí)狭园,加班多读处,能解決大部分問題,但對(duì)系統(tǒng)的整體架構(gòu)能力和深入分析瓶頸的能力還需要培養(yǎng)妙啃。
以阿里巴巴招聘標(biāo)準(zhǔn)舉例
分析
1.Java基礎(chǔ)扎實(shí)档泽,理解IO,多線程揖赴,集合等基礎(chǔ)框架可以理解為熟悉J2SE馆匿,J2EE;對(duì)JVM原理有一定的了解,可以理解為對(duì)什么是JVM燥滑,JVM內(nèi)存模型以及JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)熟練掌握渐北,為什么JVM要?jiǎng)澐譃樾律夏甏。谰么取?/p>
2.對(duì)你用過的開源框架赃蛛,能了解它的原理和機(jī)制;對(duì)Spring,ibatis的開源框架熟悉可以理解為用過主流的SSM搀菩,網(wǎng)狀等框架呕臂,并且一定程度上看過它們的源碼,不能一直停留在寫業(yè)務(wù)代碼上肪跋,不然永遠(yuǎn)突破不了你的技術(shù)瓶頸歧蒋。
- 掌握多線程以及高性能的設(shè)計(jì)與編碼,這塊需要對(duì)并發(fā)編程有所認(rèn)識(shí),比如從JMM角度看并發(fā)谜洽,知道同步狀語(yǔ)從句:volitile關(guān)鍵字的原理等萝映。
- 性能調(diào)優(yōu)可以理解為對(duì)JVM,Tomcat阐虚,MySQL的優(yōu)化;
- 具有高并發(fā)應(yīng)用開發(fā)經(jīng)驗(yàn)序臂,實(shí)際上是對(duì)分布式這塊的概括,比如你使用過zookeeper实束,dubbo奥秆,redis緩存,nginx負(fù)載均衡等磕洪。
- 最好再能有微服務(wù)經(jīng)驗(yàn)吭练,比如Spring Boot,Spring Cloud等析显。
4 . 對(duì)技術(shù)有濃厚興趣......這塊是對(duì)軟實(shí)力的一個(gè)要求鲫咽,說明你積極向上,能吃苦耐勞谷异,敢于拼搏分尸。這種軟技能,實(shí)際上還有一方面要考察你的探索學(xué)習(xí)能力歹嘹,比如你有沒有研究過netty源碼的底層實(shí)現(xiàn)箩绍,有沒有經(jīng)常寫一些自己的博客,有沒有在github上經(jīng)吵呱希活動(dòng)材蛛,更好地是做一些contribution。
- 有做過大型項(xiàng)目的技術(shù)PLA / PM者優(yōu)先怎抛。這句話是對(duì)你能力以及經(jīng)驗(yàn)有一個(gè)加分項(xiàng)的考量卑吭。
總結(jié)概括你需要擁有全面的互聯(lián)網(wǎng)技術(shù)相關(guān)知識(shí):
從底層說起,你起碼得深入了解的MySQL和Redis的的马绝,的MongoDB的響應(yīng)豆赏,Nginx等的Tomcat的,RPC富稻,JMS等方面的知識(shí)掷邦。
當(dāng)我們聊技術(shù)實(shí)力的時(shí)候,我們到底在聊什么椭赋?需要了解到什么程度?
首先對(duì)于MySQL的抚岗,你要知道常見的參數(shù)設(shè)置,存儲(chǔ)引擎怎么去選擇哪怔,還需要了解常見的索引引擎宣蔚,知道怎么去選擇廷痘。知道怎么去設(shè)計(jì)表,怎么優(yōu)化SQL件已,怎么根據(jù)執(zhí)行計(jì)劃去調(diào)優(yōu)。高級(jí)的你需要去做分庫(kù)分表的設(shè)計(jì)和優(yōu)化元暴,一般互聯(lián)網(wǎng)企業(yè)的數(shù)據(jù)庫(kù)都是讀寫分離篷扩,還會(huì)垂直與水平拆分,所以這個(gè)也有經(jīng)驗(yàn)的成分在里面茉盏。然后redis的鉴未,mongodb的都是需要了解原理,需要會(huì)調(diào)整參數(shù)的鸠姨,而nginx的和tomcat的幾乎都是JAVA互聯(lián)網(wǎng)方面必配铜秆,其實(shí)跟阿里的技術(shù)棧選擇有點(diǎn)關(guān)系。至于RPC相關(guān)的就多的去讶迁,必須各種網(wǎng)絡(luò)協(xié)議连茧,序列化技術(shù),SOA等等巍糯,你要有一個(gè)深入的理解⌒パ保現(xiàn)在應(yīng)用比較廣的RPC框架,在國(guó)內(nèi)就是Dubbo了祟峦。一般情況下不是專門開發(fā)中間件系統(tǒng)和支撐系統(tǒng)的不需要了解太多細(xì)節(jié)罚斗,國(guó)內(nèi)企業(yè)常用的主要是ActiveMQ的和kafka≌悖總結(jié)一個(gè)非常全面的互聯(lián)網(wǎng)Java架構(gòu)技術(shù)學(xué)習(xí)路線總綱:
在互聯(lián)網(wǎng)公司面試中针姿,架構(gòu)的底層一定是面試官會(huì)問到的問題,針對(duì)面試官一般會(huì)提到的問題厌衙,我錄制了一些底層原理的錄像視頻距淫,加群619881427可以免費(fèi)獲取這些錄像,里面有些分布式,微服務(wù)撬码,性能優(yōu)化偶洋,Spring,MyBatis的等源碼知識(shí)點(diǎn)的錄像視頻拐揭。上圖的性能優(yōu)化只是其中的一小部分,這些視頻都是我找一些資深架構(gòu)師朋友一起錄制出來(lái)的奕塑,視頻希望能夠幫助到以下幾類程序員:
1.對(duì)現(xiàn)在的薪資不滿堂污,想要跳槽,卻對(duì)自己的技術(shù)沒有信心龄砰,不知道如何面對(duì)面試官盟猖。
2.想從傳統(tǒng)行業(yè)轉(zhuǎn)行到互聯(lián)網(wǎng)行業(yè)讨衣,但沒有接觸過互聯(lián)網(wǎng)技術(shù)。
3.工作1 - 5年需要提升自己的核心競(jìng)爭(zhēng)力式镐,但學(xué)習(xí)沒有系統(tǒng)化反镇,不知道自己接下來(lái)要學(xué)什么才是正確的,踩坑后又不知道找誰(shuí)娘汞,百度后依然不知所以然歹茶。
4.工作5 - 10年無(wú)法突破技術(shù)瓶頸(運(yùn)用過很多技術(shù),在公司一直寫著業(yè)務(wù)代碼你弦,卻依然不懂底層實(shí)現(xiàn)原理)
如果你現(xiàn)在正處于我上述所說的幾個(gè)階段可以加下我的群來(lái)學(xué)習(xí)惊豺。而且我也能夠提供一些面試指導(dǎo),職業(yè)規(guī)劃等建議禽作。