為啥跳槽?
每次說因為生活成本的時候面試官都會很驚奇,難道有我們這里貴?好想直接給出下面這張圖,廈門的房價真的好貴好貴好貴。。。
面試過程:上半場
曹操專車
這是吉利集團下屬子公司,已經(jīng)是一家獨角獸。一面中規(guī)中矩,沒啥特別的。二面好像是個主管,隔了好幾天,基本沒問技術(shù)問題,反而是問職業(yè)規(guī)劃,對加班有啥看法,有點措手不及,感覺回答的不好。但是過幾天還是收到HR的現(xiàn)場面試通知?,F(xiàn)場是技術(shù)面加HR面,技術(shù)面被問了幾個問題有點懵逼:
a. zookeeper的watcher樂觀鎖怎么實現(xiàn)
b. 一個項目的整個流程
c. 說出一個空間換時間的場景
d. centos7的內(nèi)存分配方式和6有啥不同
e. 你對公司有什么價值。
HR跟我說節(jié)后(那會再過兩天就是清明)會給我消息,結(jié)果過了半個月突然接到他們的電話,說我通過了,給我講了他們的薪資方案,沒太大吸引力,再加上這種莫名其妙的時間等待,直接拒了。
美亞柏科
估計很多人沒聽說過這家公司,這是一家廈門本土公司,做政府安防項目的,在廈門也還是小有名氣。但是面試完直接顛覆了我對這家公司的認知。進門最顯眼的地方是黨活動室,在等面試官的一小段時間里有好幾撥人到里面參觀。面試前做了一份筆試題,基本都是web/數(shù)據(jù)庫方面的。第一面簡單問了幾個redis的問題之后面試官介紹了他們的項目,他們都是做C和C++的,想找一個人搭一套大數(shù)據(jù)集群,處理他們每天幾百G的數(shù)據(jù),然后服務(wù)器全部是windows!二面是另一個部門的,印象中就問了kafka為什么性能這么好,然后就開始問買房了沒有,結(jié)婚了沒有,他對我現(xiàn)在的公司比較了解,又扯了挺久。三面應(yīng)該是個部門老大了,沒有問技術(shù)問題,也是問買房了沒,結(jié)婚沒,問各種生活問題,有點像人口普查。我有點好奇,問他們?yōu)樯哆@么關(guān)心這些問題,他直接說他們更強調(diào)員工的穩(wěn)定性,項目比較簡單,能力不用要求太高,不要太差就行。汗,直接拒了。
有贊
絕對推薦的一家公司,效率超高。中午找了一個網(wǎng)友幫忙內(nèi)推,晚上就開始一面,第二天早上二面,第三天HR就約現(xiàn)場面試時間,快的超乎想象?,F(xiàn)場面也是先一個技術(shù)面,最后才HR面。面試的整體難度中等。現(xiàn)在就記得幾個問題:G1和CMS的區(qū)別,G1有啥劣勢;Kafka的整體架構(gòu);Netty的一次請求過程;自旋鎖/偏向鎖/輕量級鎖(這個問題在頭條的面試里也出現(xiàn)了一次)、hbase線上問題排查(剛好遇到過NUMA架構(gòu)下的一個問題,借此把hbase的內(nèi)核介紹了下)。 這里不得不說下有贊的人,真的很贊。終面的面試官是一個研發(fā)團隊的負責(zé)人,全程一直微笑,中間電話響了一次,一直跟我道歉。面完之后還提供了團隊的三個研發(fā)方向讓我自己選擇。后面看他的朋友圈狀態(tài),他那天高燒,面完我就去打點滴了,但是整個過程完全看不出來。幫我內(nèi)推的網(wǎng)友是在微信群里找到的,知道我過了之后主動找我,讓我過去杭州有啥問題隨時找他。雖然最終沒有去,但還是可以明顯感受到他們的熱情。
字節(jié)跳動(今日頭條)
HR美眉打電話過來說是字節(jié)跳動公司,想約下視頻面試時間。那會是有點懵的,我只知道今日頭條和抖音。后面想到北京的號碼才想起來。頭條可以說是這次所有面試里流程最規(guī)范的,收到簡歷后有郵件通知,預(yù)約面試時間后郵件短信通知,面試完后不超過一天通知面試結(jié)果,每次面試有面試反饋。還有一個比較特別的,大部分公司的電話或者視頻面試基本是下班后,頭條都是上班時間,還不給約下班時間(難道他們不加班?)。
一面
面試官剛上來就說他們是做go的,問我有沒有興趣,他自己也是Java轉(zhuǎn)的。我說沒問題,他先問了一些Java基礎(chǔ)問題,然后有一道編程題,求一棵樹兩個節(jié)點的最近的公共父節(jié)點。思路基本是對的,但是有些細節(jié)有問題,面試官人很好,邊看邊跟我討論,我邊改進,前前后后估計用來快半小時。然后又繼續(xù)問問題,HTTP 301 302有啥區(qū)別?設(shè)計一個短鏈接算法;md5長度是多少?整個面試過程一個多小時,自我感覺不是很好,我以為這次應(yīng)該掛了,結(jié)果晚上收到面試通過的通知。
二面
在一個上午進行的,我以為zoom視頻系統(tǒng)會自動連上(一面就是自動連上),就在那邊等,過了5分鐘還是不行,我就聯(lián)系HR,原來要改id,終于連上后面試官的表情不是很好看,有點不耐煩的樣子,不懂是不是因為我耽誤了幾分鐘,這種表情延續(xù)了整個面試過程,全程有點壓抑。問的問題大部分忘了,只記得問了一個線程安全的問題,ThreadLocal如果引用一個static變量是不是線程安全的?問著問著突然說今天面試到此為止,一看時間才過去二十幾分鐘。第二天就收到面試沒過的通知,感覺自己二面答的比一面好多了,實在想不通。
下半場
一直感覺自己太水了,代碼量不大,三年半的IT經(jīng)驗還有一年去做了產(chǎn)品,都不敢投大廠。上半場的技術(shù)面基本過了之后自信心大大提升,開始挑戰(zhàn)更高難度的。
美團
這個是廈門美團,他們在這邊做了一個叫榛果民宿的APP,辦公地點在JFC高檔寫字樓,休息區(qū)可以面朝大海,環(huán)境是很不錯,面試就有點虐心了。 兩點半進去。
一面
我的簡歷大部分是大數(shù)據(jù)相關(guān)的,他不是很了解,問了一些基礎(chǔ)問題和netty的寫流程,還問了一個redis數(shù)據(jù)結(jié)構(gòu)的實現(xiàn),結(jié)構(gòu)他問了里面字符串是怎么實現(xiàn)的,有什么優(yōu)勢。一直感覺這個太簡單,沒好好看,只記得有標記長度,可以直接取。然后就來兩道編程題。第一題是求一棵樹所有左葉子節(jié)點的和,比較簡單,一個深度優(yōu)先就可以搞定。第二題是給定一個值K,一個數(shù)列,求數(shù)列中兩個值a和b,使得a+b=k。我想到了一個使用數(shù)組下標的方法(感覺是在哪里有見過,不然估計是想不出來),這種可是達到O(n)的復(fù)雜度;他又加了個限制條件,不能使用更多內(nèi)存,我想到了快排+遍歷,他問有沒有更優(yōu)的,實在想不出來,他提了一個可以兩端逼近,感覺很巧妙。
二面
面試官高高瘦瘦的,我對這種人的印象都是肯定很牛逼,可能是源于大學(xué)時代那些大牛都長這樣。先讓我講下kafka的結(jié)構(gòu),然后怎么防止訂單重復(fù)提交,然后開始圍繞緩存同步問題展開了長達半小時的討論:先寫數(shù)據(jù)庫,再寫緩存有什么問題?先寫緩存再寫數(shù)據(jù)庫有什么問題?寫庫成功緩存更新失敗怎么辦?緩存更新成功寫庫失敗怎么辦?他和我一起在一張紙上各種畫,感覺不是面試,而是在設(shè)計方案。
三面
這是后端團隊負責(zé)人了,很和藹,一直笑呵呵。問了我一些微服務(wù)的問題,我提到了istio,介紹了設(shè)計理念,感覺他有點意外。然后他問java8的新特性,問我知不知道lambda表達式怎么來的,我從lambda演算說到lisp說到scala,感覺他更意外。此處有點吹牛了。我問了一些團隊的問題,項目未來規(guī)劃等,感覺榛果還是挺不錯的。 四面。這個應(yīng)該是榛果廈門的負責(zé)人了,技術(shù)問題問的不多,更多是一些職業(yè)規(guī)劃,對業(yè)務(wù)的看法等。面試結(jié)束的時候他先出去,我收拾下東西,出去的時候發(fā)現(xiàn)他在電梯旁幫我開電梯,對待面試者的這種態(tài)度實在讓人很有好感。 出來的時候已經(jīng)是六點半。
網(wǎng)易
面的是網(wǎng)易云音樂,平時經(jīng)常用,感覺如果可以參與研發(fā)應(yīng)該是種挺美妙的感覺。
一面
下午打過來的,問我有沒有空,我說有,他說你不用上班嗎?有態(tài)度真的可以為所欲為(苦笑)。然后問了為什么離職,聊了會房價,問了幾個netty的問題,gc的問題,最后問下對業(yè)務(wù)的看法。 然后約了個二面的時間,結(jié)果時間到了沒人聯(lián)系我,第二天打電話跟我道歉重新約了時間,不得不說態(tài)度還是很好的。
二面問的反而很基礎(chǔ),沒太多特別的。讓我提問的時候我把美團二面里的緩存問題拿出來問他,很耐心的給我解答了好幾分鐘,人很好。
阿里
這個其實不是最后面試的,但是是最后結(jié)束的,不得不說阿里人真的好忙,周三跟我預(yù)約時間,然后已經(jīng)排到下一周的周一??傮w上感覺阿里的面試風(fēng)格是喜歡在某個點上不斷深入,直到你說不知道。
一面
自我介紹,然后介紹現(xiàn)在的項目架構(gòu),第一部分就是日志上傳和接收,然后就如何保證日志上傳的冪等性開始不斷深入,先讓我設(shè)計一個方案,然后問有沒有什么改進的,然后如何在保證冪等的前提下提高性能,中間穿插分布式鎖、redis、mq、數(shù)據(jù)庫鎖等各種問題。這個問題討論了差不多半小時。然后就問我有沒有什么要了解的,花了十幾分鐘介紹他們現(xiàn)在做的事情、技術(shù)棧、未來的一些計劃,非常耐心。
二面
也是從介紹項目開始,然后抓住一個點,結(jié)合秒殺的場景深入,如何實現(xiàn)分布式鎖、如何保證冪等性、分布式事務(wù)的解決方案。問我分布式鎖的缺點,我說性能會出現(xiàn)瓶頸,他問怎么解決,我想了比較久,他提示說發(fā)散下思維,我最后想了個簡單的方案,直接不使用分布式鎖,他好像挺滿意。感覺他們更看重思考的過程,而不是具體方案。還問了一致性hash如何保證負載均衡,kafka和rocketmq各自的優(yōu)缺點,dubbo的一個請求過程、序列化方式,序列化框架、PB的缺點、如何從數(shù)據(jù)庫大批量導(dǎo)入數(shù)據(jù)到hbase。
三面
是HR和主管的聯(lián)合視頻面試。這種面試還第一次遇到,有點緊張。主管先面,也是讓我先介紹項目,問我有沒有用過mq,如何保證消息冪等性。我就把kafka0.11版本的冪等性方案說了下,就沒再問技術(shù)問題了。后面又問了為啥離職,對業(yè)務(wù)的看法之類的。然后就交給HR,只問了幾個問題,然后就結(jié)束了,全程不到半小時。 不懂是不是跟面試的部門有關(guān),阿里對冪等性這個問題很執(zhí)著,三次都問到,而且還是從不同角度。
總結(jié)
從面試的難易程度看阿里 > 美團 > 頭條 > 有贊 > 網(wǎng)易 > 曹操專車 > 美亞柏科。整個過程的體會是基礎(chǔ)真的很重要,基礎(chǔ)好了很多問題即使沒遇到過也可以舉一反三。另外對一樣技術(shù)一定要懂原理,而不僅僅是怎么使用,尤其是缺點,對選型很關(guān)鍵,可以很好的用來回答為什么不選xxx。另外對一些比較新的技術(shù)有所了解也是一個加分項。