轉載:java程序員如何拿到2萬月薪

做者:匿名用戶
連接:https://www.zhihu.com/question/39890405/answer/83676977
來源:知乎java

著做權歸做者全部。
商業轉載請聯繫做者得到受權,非商業轉載請註明出處。
做者:匿名用戶
連接:https://www.zhihu.com/question/39890405/answer/83676977
來源:知乎

---------------------------------------------------------------我是分割線------------------------------------------------------------
有人回答說這隻能是大企業或者互聯網企業的工程師才能拿到。也許是的,小公司或者非互聯網企業拿兩萬的不太多是碼農了,應該是已經轉管理後纔有可能。還有區域問題,這個不在個人考慮範圍內,由於除了北上廣深杭,其餘地方也很難。
---------------------------------------------------------------我是分割線------------------------------------------------------------
還有人提到這個水平不止2w,其實工資是跟面試表現有關的,也跟其餘綜合水平有關,好比你是985,top10,或者研究生學歷,也或者懂點node,Android等等的,或者表達能力強,擊中面試官痛點確定加分是吧。 若是你達到我說的水準,咱們談的起薪就是2w,有其餘優秀的表現咱們在這個基礎上加點。但純JAVA方面待遇是比較吻合的,畢竟這幾個企業我都待過或面試過。 SSH真的不是我要黑,2w水平的面試幾乎不多問SSH的知識,要問也是問架構層次的還有設計模式的。例如mybatis是如何管理session和cache的。spring裏面有哪些你熟悉的設計模式,你怎麼理解和應用的。
--------------------------------------------------------------我是分割線------------------------------------------------------------
兩天沒來看,竟然有了這麼多贊,感激。更開心的是業界幾個超大牛也給我點讚了。同時也有不少質疑的聲音。其實互聯網相關的知識去互聯網公司後很容易接觸,並非什麼難點。若是你是在一線業務部門,我說的幾個點幾乎時時伴隨着你,你徹底不用擔憂本身不會。 我司不少剛來的大學生在半年內都能把一些中間件系統摸的很明白,並非說有多難,只是接觸少,對未知的東西感到懼怕疑惑而已。我在這裏能夠給那些想學習這方面的同窗提供幾本書,這幾本書對互聯網的知識能很快入門和了解全景。不是廣告。
  • 大型網站技術架構-核心原理與案例分析。 @李智慧大牛的書
  • 大型分佈式網站架構-設計與實踐。做者:陳康賢
  • 大型網站系統與java中間件實踐。做者: 曾憲傑(原淘寶技術,如今蘑菇街)
  • 而後再推薦一個網站併發編程網 - ifeve.com。這個網站的知識絕對夠你面試一個阿里P7,京東T3-2,騰訊T3-1。
好吧,我也不知道爲何都是推薦淘寶系的東西。巧合哦?!
這也是我最後一次更新答案,但願給那些須要這些信息的人幫助。那些質疑個人人去面試一下就明白我說的對不對,不要隨便就質疑。 若是有機會能夠再開一題,來談談互聯網的JAVA面試題,我能夠把90%的題目所有給你列出來。還有那個京東的工程師也說這個技能樹不止2W,可我想說的是京東的水平真的很通常,如今一直處於模仿抄襲階段。那個saf就封裝了一層dubbo,後面加了一個序列化協議就變成jsf了,用了別人的就用了,有這麼很差意思嗎?架構師的水平真的太差了,不少都是機器堆的,固然大家有錢。有的業務一半的機器就能夠很好的知足現有巔峯的場景,東哥是被11年的事故搞怕了嗎? 我其實不懷疑我說的這些技能樹能拿到25K或者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。你能對我說的都研究的比較深刻,阿里p6我以爲是沒問題的,固然這個還須要看你的架構能力方面的面試表現了。

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

以上就是我以爲2w水平的JAVA程序員。不要說什麼SSH,那最多值8K。node


謝照東 ,一個沒有夢想的小青年
之前學習的時候,由於資源有限,因此很難找到好的資料,或者牛逼的大神帶我之類的。我最大的愛好就是去幹嗎呢?對,就是一位答主說的。看看各大公司的JD!
作java的大公司無外乎就那麼幾個,。我在招聘網站上先找個通常的吧,比較大衆那種。

Alibaba(25k-45k):
京東(20l-30k):
美團(20k-40k):
網易(15k-30k):
百度(20k-35k):
排名不分前後,公司太多,就先列舉這些

以上,你們本身都能判別出來,在2W左右的程序員通常都在什麼水平:
  1. 紮實的計算機基礎,包括操做系統,網絡,數據結構等
  2. 熟悉java語言,包括但不限於JVM,IO,多線程等
  3. 熟悉常見開源技術,而且可以知道其原理,深入理解。(RPC,MQ,J2EE框架,應用服務器,分佈式組件等等)
  4. 數據存儲相關知識,MySQL,NoSQL等
  5. 學習能力和熱情,熱愛編程,熱愛開源
  6. 團隊合做,善於溝通,足夠的工做經驗(2年+)
沒有總結徹底,可是我以爲這些都是很是必須的。:)

你說呢?

著做權歸做者全部。
商業轉載請聯繫做者得到受權,非商業轉載請註明出處。
做者:匿名用戶
連接:https://www.zhihu.com/question/39890405/answer/83742932
來源:知乎

阿里巴巴


分析:
1. 「NIO」->老老實實研究一下netty的源碼和原理,保證他問不倒你;「類加載原理」->老生常談了,記得一個delegate,一個classloader如何形成內存泄漏就行;「動態代理、CGLIB」->確定是問你如何生成proxy類,二者有啥異同。找幾篇博客來看看就行。另外,我估計很大程度是須要你結合spring來回答,所以仍是看看spring的aop吧;「GC的原理」->這個就厲害了,GC有好多種,究竟是哪一種的原理啊?可是以我身爲一名老年程序猿來告訴你,好好看一下CMS GC和G1 GC就行。CMS答好了確定是OK的,G1純粹是錦上添花,給面試官留個追求技術的印象吧;「JVM內存模型」->JVM怎麼還有內存模型?是Java語言的內存模型吧?沒什麼好說的,看Java語言規範吧;「性能優化手段」->胡侃吧,朝着怎麼改進鎖,怎麼異步,怎麼利用緩存,怎麼選擇合適的GC算法,怎麼調整Hotspot VM的各generation比例,blabla(此處應有嘔吐的表情,這種問題最煩了,你要是底氣足,頂一句「具體問題具體分析」,我敬你是一條漢子)
2. 「瞭解併發基礎變成最優」->看不懂,感受是廢話,無論。併發這種東西,好好看一下java.util.concurrent包裏的類。
3. 「具有開發實戰技能,能夠熟練使用Eclipse、Idea、熟悉常見的調試方法及技巧、ant/svn/maven,有疑難雜症的排查經驗」->工做一段時間都會吧?ant和svn徹底不夠酷,看得出來要麼阿里的人比較守舊(或者懶),要麼阿里的技術很老土。
4. blabla

總結一下,阿里的要求整體比美團低,可是給的工資比美團高( 僅限這兩個JD的比較!特意加粗)。那麼問題來了,究竟是美團裝逼,高要求招人,低要求作事;仍是阿里sb,低要求招人,高標準給工資?固然還有一個可能,就是貼這個JD的hr是sb。總的來講,能拿到美團的offer,確定能拿到阿里的offer。所以優質騷年應該以美團的標準來要求本身(認真臉)。


美團

分析:
1. 計算機專業基本功和寫代碼能力是廢話,太主觀。咱們先放着,一會再回來review。
2. 「熟練掌握 Java 及面向對象設計開發」=>工做一年以上;「對部分 Java 技術有深刻研究」=>熟練IO的各類姿式,或者研究過Java內存模型,有此兩者在手,面試官絕對對你另眼相看;「研究過優秀開源軟件的源碼並有心得」=>去Github找找幾個star多的項目來看吧,推薦netty,不要多,一個就好。
3. 「瞭解 SOA 架構理念、實現技術;熟悉常見設計模式」=>維基百科歡迎你,看看就好了;「熟練掌握 Spring、myBatis 等框架」=>過一遍源碼吧
4. 「熟練掌握 MySQL 應用開發、數據庫原理和經常使用性能優化和擴展技術」=>買本mysql的書來看(認真臉);「NoSQL,Queue 的原理、使用場景以及限制」=>好好看看redis就行
5. 「http 協議 搜索引擎」=>維基百科;「緩存」=>Google Guava cache,memcached,redis;「jvm 調優」=>掌握jvm參數(認真臉);「序列化」=>Google protocol buffer;「nio」=>netty;「RPC 調用框架」=>dubbo(垃圾)
6. "xxx優先"=>有最好,沒有就算了
7. 美團應該不會2b到考邏輯題或者腦經急轉彎,因此這裏確定是結合你作過的項目來講。通常都會問,1⃣️項目架構,問什麼選擇這個不選擇那個;2⃣️碰到的最有挑戰/最複雜/最blabla的問題是什麼,怎麼解決的
8. 「高度的創業心和投入度」=>不必定要每天加班,可是碰到問題或者項目緊急的時候要加班,面試的時候要表現出這個態度,哈哈;「技術,業務,blabla」=>不能死關注技術,必定要結合業務來回答面試問題

好了,再回到第一條,「計算機專業基本功和寫代碼能力」,咱們能夠綜合一下(根據分析2~8),美團要求的 能夠是一個:(注意「能夠」,你這麼作了「能夠」得到美團面試官的確定,假如面試官真的是根據這份JD來要求你的話) 1. 對Java語言自己,咱們掌握一下內存模型,看一點併發相關的東西(java.util.concurrent包裏的類都看一遍),找幾篇博客看下weak/soft/phantom reference是什麼意思就行啦; 2. 對於JVM,看看書,理解一下Hotspot的常見結構啊名詞啊啥的,記幾個重要的參數,足以應付面試官了; 3. 熟讀netty源碼; 4. 略讀Spring源碼,重點理解關鍵概念(AOP面試官很愛問的哦); 5. 在維基百科上過一過JD裏提到的一些名詞; 6. 買本mysql的書看看,高性能mysql那本書就很好; 7. redis或memcached哪一個用的多就多看看相關博客。都沒用過?建議你看redis 8. 好好包裝一下你作過的最nb的項目,準備幾個技術難點和解決方法,記住必定要結合業務哦。(什麼?沒有?沒有不會編嗎?怎麼編?往分佈式和高併發方向編會嗎?不會?那你不適合互聯網。) 9. 多工做幾年! 你看,也不是很難嘛。若是上面的幾點你都作到了,還拿不到2w的美團高級JAVA開發工程師的offer,那美團確定是凍結了headcount。<del>我認識的好多遠遠達不到上面需求的人都在美團呢。</del> PS:面試官問你算法的話,必定要裝做特別自信的說:「啊(第二聲),算法?通常工做當中不須要本身手寫算法吧?一方面是經常使用的算法,好比排序,查詢,都有現成的代碼來用;另外一方面真須要手寫算法的問題通常都是面向特定需求的問題,或者要求效率特別高的地方。這些地方能夠結合真正的需求來作。」固然常見的算法的僞代碼仍是要會寫的哦。若是面試官問你紅黑樹,哈哈,那趕忙跑路。不是谷歌臉書也不是面試算法程序猿的公司問你紅黑樹,這公司必定是在裝逼(認真臉)。
相關文章
相關標籤/搜索