1. 程式人生 > >一位java程式設計師辛勤工作三年後一次跳槽(阿里/美團/頭條/網易..)

一位java程式設計師辛勤工作三年後一次跳槽(阿里/美團/頭條/網易..)

為啥跳槽

每次說因為生活成本的時候面試官都會很驚奇,難道有我們這裡貴?好想直接給出下面這張圖,廈門的房價真的好貴好貴好貴。。。

面試過程

面的是Java崗,總共面了7家公司,通過了6家。按自己的信心提升度我把面試過程分為上半場和下半場。

上半場

1.曹操專車

這是吉利集團下屬子公司,已經是一家獨角獸。

一面中規中矩,沒啥特別的。二面好像是個主管,隔了好幾天,基本沒問技術問題,反而是問職業規劃,對加班有啥看法,有點措手不及,感覺回答的不好。但是過幾天還是收到HR的現場面試通知。

現場是技術面加HR面,技術面被問了幾個問題有點懵逼:a. zookeeper的watcher樂觀鎖怎麼實現 b. 一個專案的整個流程 c. 說出一個空間換時間的場景 d. centos7的記憶體分配方式和6有啥不同 f. 你對公司有什麼價值。

HR跟我說節後(那會再過兩天就是清明)會給我訊息,結果過了半個月突然接到他們的電話,說我通過了,給我講了他們的薪資方案,沒太大吸引力,再加上這種莫名其妙的時間等待,直接拒了。

2.美亞柏科

估計很多人沒聽說過這家公司,這是一家廈門本土公司,做政府安防專案的,在廈門也還是小有名氣。但是面試完直接顛覆了我對這家公司的認知。進門最顯眼的地方是黨活動室,在等面試官的一小段時間裡有好幾撥人到裡面參觀。

面試前做了一份筆試題,基本都是web/資料庫方面的。

一面

簡單問了幾個redis的問題之後面試官介紹了他們的專案,他們都是做C和C++的,想找一個人搭一套大資料叢集,處理他們每天幾百G的資料,然後伺服器全部是windows!

二面

是另一個部門的,印象中就問了kafka為什麼效能這麼好,然後就開始問買房了沒有,結婚了沒有,他對我現在的公司比較瞭解,又扯了挺久。

三面

應該是個部門老大了,沒有問技術問題,也是問買房了沒,結婚沒,問各種生活問題,有點像人口普查。我有點好奇,問他們為啥這麼關心這些問題,他直接說他們更強調員工的穩定性,專案比較簡單,能力不用要求太高,不要太差就行。汗,直接拒了。

3.位元組跳動(今日頭條)

HR美眉打電話過來說是位元組跳動公司,想約下視訊面試時間。那會是有點懵的,我只知道今日頭條和抖音。後面想到北京的號碼才想起來。頭條可以說是這次所有面試裡流程最規範的,收到簡歷後有郵件通知,預約面試時間後郵件簡訊通知,面試完後不超過一天通知面試結果,每次面試有面試反饋。還有一個比較特別的,大部分公司的電話或者視訊面試基本是下班後,頭條都是上班時間,還不給約下班時間(難道他們不加班?)。

一面

面試官剛上來就說他們是做go的,問我有沒有興趣,他自己也是Java轉的。我說沒問題,他先問了一些Java基礎問題,然後有一道程式設計題,求一棵樹兩個節點的最近的公共父節點。思路基本是對的,但是有些細節有問題,面試官人很好,邊看邊跟我討論,我邊改進,前前後後估計用來快半小時。
然後又繼續問問題,HTTP 301 302有啥區別?設計一個短連結演算法;md5長度是多少?整個面試過程一個多小時,自我感覺不是很好,我以為這次應該掛了,結果晚上收到面試通過的通知。

二面

是在一個上午進行的,我以為zoom視訊系統會自動連上(一面就是自動連上),就在那邊等,過了5分鐘還是不行,我就聯絡HR,原來要改id,終於連上後面試官的表情不是很好看,有點不耐煩的樣子,不懂是不是因為我耽誤了幾分鐘,這種表情延續了整個面試過程,全程有點壓抑。問的問題大部分忘了,只記得問了一個執行緒安全的問題,ThreadLocal如果引用一個static變數是不是執行緒安全的?問著問著突然說今天面試到此為止,一看時間才過去二十幾分鍾。第二天就收到面試沒過的通知,感覺自己二面答的比一面好多了,實在想不通。

下半場

一直感覺自己太水了,程式碼量不大,三年半的IT經驗還有一年去做了產品,都不敢投大廠。上半場的技術面基本過了之後自信心大大提升,開始挑戰更高難度的。

美團

這個是廈門美團,他們在這邊做了一個叫榛果民宿的APP,辦公地點在JFC高檔寫字樓,休息區可以面朝大海,環境是很不錯,面試就有點虐心了。

兩點半進去。

一面

我的簡歷大部分是大資料相關的,他不是很瞭解,問了一些基礎問題和netty的寫流程,還問了一個redis資料結構的實現,結構他問了裡面字串是怎麼實現的,有什麼優勢。一直感覺這個太簡單,沒好好看,只記得有標記長度,可以直接取。
然後就來兩道程式設計題。第一題是求一棵樹所有左葉子節點的和,比較簡單,一個深度優先就可以搞定。
第二題是給定一個值K,一個數列,求數列中兩個值a和b,使得a+b=k。我想到了一個使用陣列下標的方法(感覺是在哪裡有見過,不然估計是想不出來),這種可是達到O(n)的複雜度;他又加了個限制條件,不能使用更多記憶體,我想到了快排+遍歷,他問有沒有更優的,實在想不出來,他提了一個可以兩端逼近,感覺很巧妙。

二面

面試官高高瘦瘦的,我對這種人的印象都是肯定很牛逼,可能是源於大學時代那些大牛都長這樣。先讓我講下kafka的結構,然後怎麼防止訂單重複提交,然後開始圍繞快取同步問題展開了長達半小時的討論:先寫資料庫,再寫快取有什麼問題?先寫快取再寫資料庫有什麼問題?寫庫成功快取更新失敗怎麼辦?快取更新成功寫庫失敗怎麼辦?他和我一起在一張紙上各種畫,感覺不是面試,而是在設計方案。

三面

這是後端團隊負責人了,很和藹,一直笑呵呵。問了我一些微服務的問題,我提到了istio,介紹了設計理念,感覺他有點意外。然後他問java8的新特性,問我知不知道lambda表示式怎麼來的,我從lambda演算說到lisp說到scala,感覺他更意外。此處有點吹牛了。我問了一些團隊的問題,專案未來規劃等,感覺榛果還是挺不錯的。

四面

這個應該是榛果廈門的負責人了,技術問題問的不多,更多是一些職業規劃,對業務的看法等。面試結束的時候他先出去,我收拾下東西,出去的時候發現他在電梯旁幫我開電梯,對待面試者的這種態度實在讓人很有好感。
出來的時候已經是六點半。

網易

面的是網易雲音樂,平時經常用,感覺如果可以參與研發應該是種挺美妙的感覺。

一面

下午打過來的,問我有沒有空,我說有,他說你不用上班嗎?有態度真的可以為所欲為(苦笑)。然後問了為什麼離職,聊了會房價,問了幾個netty的問題,gc的問題,最後問下對業務的看法。

然後約了個二面的時間,結果時間到了沒人聯絡我,第二天打電話跟我道歉重新約了時間,不得不說態度還是很好的。二面問的反而很基礎,沒太多特別的。讓我提問的時候我把美團二面裡的快取問題拿出來問他,很耐心的給我解答了好幾分鐘,人很好。

阿里

這個其實不是最後面試的,但是是最後結束的,不得不說阿里人真的好忙,週三跟我預約時間,然後已經排到下一週的週一。總體上感覺阿里的面試風格是喜歡在某個點上不斷深入,直到你說不知道。

一面

自我介紹,然後介紹現在的專案架構
第一部分就是日誌上傳和接收,然後就如何保證日誌上傳的冪等性開始不斷深入,先讓我設計一個方案,然後問有沒有什麼改進的,然後如何在保證冪等的前提下提高效能。中間穿插分散式鎖、redis、mq、資料庫鎖等各種問題。這個問題討論了差不多半小時。
然後就問我有沒有什麼要了解的,花了十幾分鍾介紹他們現在做的事情、技術棧、未來的一些計劃,非常耐心。

二面

也是從介紹專案開始,然後抓住一個點,結合秒殺的場景深入,如何實現分散式鎖、如何保證冪等性、分散式事務的解決方案。
問我分散式鎖的缺點,我說效能會出現瓶頸,他問怎麼解決,我想了比較久,他提示說發散下思維,我最後想了個簡單的方案,直接不使用分散式鎖,他好像挺滿意。
感覺他們更看重思考的過程,而不是具體方案。還問了一致性hash如何保證負載均衡,kafka和rocketmq各自的優缺點、dubbo的一個請求過程、序列化方式,序列化框架、PB的缺點、如何從資料庫大批量匯入資料到hbase。

三面

是HR和主管的聯合視訊面試。這種面試還第一次遇到,有點緊張。
主管先面,也是讓我先介紹專案,問我有沒有用過mq,如何保證訊息冪等性。我就把kafka0.11版本的冪等性方案說了下,就沒再問技術問題了。
後面又問了為啥離職,對業務的看法之類的。然後就交給HR,只問了幾個問題,然後就結束了,全程不到半小時。
不懂是不是跟面試的部門有關,阿里對冪等性這個問題很執著,三次都問到,而且還是從不同角度。

總結

從面試的難易程度看阿里 > 美團 > 頭條 > 有贊 > 網易 > 曹操專車 > 美亞柏科。整個過程的體會是基礎真的很重要,基礎好了很多問題即使沒遇到過也可以舉一反三。另外對一樣技術一定要懂原理,而不僅僅是怎麼使用,尤其是缺點,對選型很關鍵,可以很好的用來回答為什麼不選xxx。另外對一些比較新的技術有所瞭解也是一個加分項。

讀者福利(學習資料分享)

而針對以上面試技術點,我在這裡也做一些技術知識面試專題資料免費分享,希望能更好的幫助到大家。

資料免費領取方式:加入網際網路java高階架構QQ群:536172545免費獲取!

面試題答案

BAT大廠面試題

整理的這些架構技術希望對Java開發的朋友們有所參考以及少走彎路,本文的重點是你有沒有收穫與成長,其餘的都不重要,希望讀者們能謹記這一點。同時我經過多年的收藏目前也算收集到了一套完整的學習資料,希望對想成為架構師的朋友有一定的參考和幫助。
資料免費領取方式:加入網際網路java高階架構QQ群:536172545免費獲取!

相關推薦

java程式設計師辛勤工作年後跳槽(阿里//頭條/..)

為啥跳槽 每次說因為生活成本的時候面試官都會很驚奇,難道有我們這裡貴?好想直接給出下面這張圖,廈門的房價真的好貴好貴好貴。。。

驚險的跳槽面試經歷(阿里//頭條//有贊...)

為啥跳槽每次說因為生活成本的時候面試官都會很驚奇,難道有我們這裡貴?好想直接給出下面這張圖,廈門

驚險的跳槽面試經歷(阿里//頭條//有贊...)(yet)

為啥跳槽每次說因為生活成本的時候面試官都會很驚奇,難道有我們這裡貴?好想直接給出下面這張圖,廈門的房價真的好貴好貴好貴。。。image.png面試過程(先打個廣告,有興趣加入阿里的歡迎發簡歷至 [email protected],或簡書上給我發信息)面的是Java崗,總共面了7家公司,通過了6家。按自

Java程式設計師的人生規劃

其次,成功進入一家企業後,應持之以恆的在那家公司工作3-5年時間,努力工作,不斷學習,遇到錯誤積極糾正,不斷的提高自己。同時在公司內部應該學會與人溝通,充分展現團隊的力量。在這個過程中如果發生意外,如被公司解聘,應該即時的重新認識自己,為什麼會被解聘,為什麼得不到公司的重視,並從中找出原因,積極糾正,重新找回

老實程式設計師的心魔()心魔因委屈而孕育,因失望而長大

        在我現在的公司做軟體開發真心很累。我來了之後APP從無到有,從分析需求到原型設計,再到介面文件,這些其它崗位的活兒分配給我,我願意承擔,我喜歡,但是唯有一點我不認同,就是把他人的多數問題總是推脫給我,而我卻孤立無援。  我如果不澄清自己的清白的話那些問題永遠是

名企6年Java程式設計師工作總結,寫給在迷茫中的你!

很多年前,剛剛從大學畢業的時候,很多公司來校招。其中最爛俗的一個面試問題是:“你希望你之後三到五年的發展是什麼?”。我當時的標準回答是(原話):“成為在某一方面能夠獨當一面的技術專家“。後來經歷了幾家不同的公司,換了不同的方向,才知道這個真是一個很難的問題。因為兵無常勢,什麼東西都是在不斷的變化,一早的時

十年京東Java程式設計師工作總結,寫給迷茫中的你!

很多年前,剛剛從大學畢業的時候,很多公司來校招。其中最爛俗的一個面試問題是:“你希望你之後三到五年的發展是什麼?”。我當時的標準回答是(原話):“成為在某一方面能夠獨當一面的技術專家“。後來經歷了幾家不同的公司,換了不同的方向,才知道這個真是一個很難的問題。因為兵無常勢,什麼東西都是在不斷的變化,一早的時

北京java程式設計師,畢業年同學為什麼會有3K和3W的差距

我一直相信人都是群居動物,並且在這一群人裡,每個人都可以相互影響,所以真正影響一個人性格,品質,能力乃至個人發展的,是你所處的環境。   為什麼可以提升到個人發展這麼高的高度,影響個人發展的難道不應該是自己的努力,勤奮,積極向上的心嗎?沒錯,但是這些特質都屬於個人的性格,歸根結底還

分享java程式設計師是如何走向巔峰成為阿里的P8高階架構師

具有一到五年開發經驗的程式設計師 需要學習內容很多 JVM/分散式/高併發/效能優化/Spring MVC/Spring Boot/Spring Cloud/MyBatis/Netty原始碼分析等等等 01、透徹理解Tomcat原理手寫動靜態資源的實現 02、分享能源領域的分散式監測系統

北京房山java程式設計師,人是怎樣步步廢掉的

  在我轉行java後,開始進入到一家小型的軟體開發公司,和幾個同事合租房,因為所在二線城市,也不會很忙,每天都能七八點下班回到家。   我逐漸發現我的舍友們普遍都睡的很晚,下班後的日常先定個外賣,刷著抖YIN,微BO,正是有精力的時候選擇癱在沙發上玩王者或者吃雞,衝

Java程式設計師工作的同時應該具備什麼樣的能力?

前言: 從我個人的角度來看,這些做了3-5年的所謂高階程式設計師,充其量,就是修修改改寫了幾行程式碼,他們的工作性質,做3年,5年,甚至10年,我相信也進步不了什麼。 尤其是現在市場上大量的外包需求,要求快速的切入,開發的程式設計師,甚至還不瞭解所以然,就已經做出

Erlang程式設計師的自白

Erlang不能錯過的盛宴 (快步進入Erlang的世界) 作為程式設計師,我們曾經聞聽很多“業界動態”,“技術革新”,曾經接觸很多“高手箴言”,“權威推薦”。這些正確與否,都已成過去! 現在,讓我們迎接Erlang盛宴! 一、經歷 2007年11月在koder

Java程式設計師月薪達到萬,需要技術達到什麼程度?

第二你需要有全面的網際網路技術相關知識。從底層說起,你起碼得深入瞭解mysql,redis,mongodb,nginx,tomcat,rpc,jms等方面的知識。你要問需要了解到什麼程度,我可以給你說個大慨。首先對於MySQL,你要知道常見的引數設定,儲存引擎怎麼去選擇,還需要了解常見的索引引擎,知道怎麼去選

一個6年java程式設計師工作感悟,寫給還在迷茫的你

前言 很多年前,剛剛從大學畢業的時候,很多公司來校招。其中最爛俗的一個面試問題是:“你希望你之後三到五年的發展是什麼?”。我當時的標準回答是(原話):“成為在某一方面能夠獨當一面的技術專家“。後來經歷了幾家不同的公司,換了不同的方向,才知道這個真是一個很難的問題。因為兵無常勢,什麼東西都是在不斷

程式設計的意義何在?——資深程式設計師的自問

程式設計的意義是什麼,我又為什麼要程式設計呢?這是一個不時會浮現在我腦海中的問題,它來得並不頻繁,但每次卻都伴隨著對自己職業生涯或人生目標的質疑而產生,令我感到些許困惑和不安。而在這十幾年的職業生涯中,我也似乎總能在每個階段為自己找到一個繼續熱愛程式設計的理由,直到它已無法解答再一次疑惑的產

Java程式設計師而言 如何提高自己英語水平

  對一名Java程式設計師而言,如何提高自己英語水平?對Java程式設計師來說,英語儼然成為自己必備語言。因為計算機起源和發展都源於英語世界,準確和權威的資料都是英文原版。翻譯帶來的誤解和差異很多時候會成為我們學習的困擾。   不僅僅是閱讀障礙需要提升自己的英語水平,在自己編寫程式碼的時候英語

失足程式設計師的來信

不知為什麼,最近給我寫信的人多了起來,傾訴他們的苦惱和迷茫,很高興自己的課程能影響到這麼多人,除了幫他們學技術 ,還使他們思考,思考自己是否應得一個更好的生活。 下面我找出了一封比較長的,跟各位同學分享下。 嫌圖下的,貼文字: Alex老師: 您好! 我是部落格園署名朝天闕的屌絲,一米八

程式設計師老去...資深程式設計師的自白....

很多年以後... 在我60歲的那天早晨.... 天剛矇矇亮我就起床了.... 先去公園晨練.... 然後回來做早餐(50歲的時候我學會了做飯) 送完外孫上學.... 剛好8 點.... 由於北京從2025年開始單雙月限行了,這個月是單月,所以只能擠地鐵。人一如既往的多,一小夥子要給我讓座,看了看他的小身板,

Java程式設計師談-----java程式設計師成長之路

引言 其實本來真的沒打算寫這篇文章,主要是LZ得記憶力不是很好,不像一些記憶力強的人,面試完以後,幾乎能把自己和麵試官的對話都給記下來。LZ自己當初面試完以後,除了記住一些聊過的知識點以外,具體的內容基本上忘得一乾二淨,所以寫這篇文章其實是很有難度的。 但是,最近問LZ的人實在是太多了,為了避免重複回

java程式設計師是如何走向巔峰成為阿里的P8高階架構師!!!

具有一到五年開發經驗的程式設計師 需要學習內容很多 JVM/分散式/高併發/效能優化/Spring MVC/Spring Boot/Spring Cloud/MyBatis/Netty原始碼分析等等等 01、透徹理解Tomcat原理手寫動靜態資源的實現 02、分享能源領域的分散式監測系統架構