本文是公眾號讀者
即將擁有人魚線投稿的面試經歷
自身情況
跳槽之前,樓主在一個小型網際網路公司,主要是做網際網路彩票。
其中做過面向使用者的APP,也有o2o模式的,也有b2b模式的的專案,用的技術比較雜,沒有指定的規範,只要能完成任務就可以,技術挑戰也不是很大。
然後我只能把我所做的東西做好,推動一些新技術更是難上加難,主要都是業務為主,對於高併發、高可用等技術方案猶如天上月亮一樣,只可遠觀,而不可褻玩焉。
然而去年10月,國家釋出新的法律條文,網際網路彩票屬於非法彩票,這個公司業務全部下架,所以開始著手打算找尋新的工作,衝刺大廠的機會終於來啦。
面試準備
我面試準備時間大概有2個月左右,主要還是兩塊,一是基礎技術、二是專案。我大概花了一個月的時間,快速複習了一遍之前學習過的知識以及寫在簡歷上的技能。
對於專案,重點是專案和技術的融合,因為我本身對整個專案的業務非常熟悉,這個時間花費的不算多,但是通過面試之後,感覺這個環節非常重要。這個在下文中會說明。
還有就是自己最好關注一下新的技術之類的(ServiceMesh等),面試的時候也會問。
投遞簡歷建議
- 如果想去大公司面試,建議提前一週投簡歷,或者到週三之後投遞簡歷,(大公司投遞人很多,可能這周的面試都約滿了,所以HR都是週三之後看招聘資訊再約下週面試)。
- 這樣的話,在第一週你可以投遞一些小公司來練手,如果成功,可以拿一個offer來保底。
ps:我個人就是第一週投遞大公司幾乎沒有人看,第二週就有HR打電話約
面試建議
- 如果HR約你面試,你自己特別想去這個公司,我建議約在下午。(上午大概也就是10:00左右開始,到12:00點,中午需要吃飯的,你自己需要等到下午面試,最好是一次性把技術都面完,HRBP可以通過電話面試的)
- 大公司面試如果順利的話,估計大概至少3-4個小時(要有心理準備),所以我感覺約在下午比較好
- 還有就是我建議預留出2-3天下午的時間,有可能突然大公司HR給你打電話,這樣不至於約滿了,沒有時間給大公司來面試。
技術一面:
大多數情況,都是你面的職位同級別的同學來面(也有可能是你部門的leader)
大部分都是基礎,畫圖、手寫個簡單的演算法。一般都是變種的簡單的演算法,不會直接讓你寫快速排序,而是給你出一個類似的場景。
我個人認為演算法不要準備那麼深,一般都是二分查詢、排序之類的、連結串列、佇列等等。
ps:如果手寫演算法的時候自己寫不出來,也要寫,因為他不一定看。
技術二面:
應該是你部門leader,主要就是說你的專案,畫架構圖,機器部署,qps、tps都是多少。
然後也可能問一些其他基礎的,還有就是給你場景,讓你設計(這個可能會問很多,這個只能看自己的情況啦)
ps:可能有的朋友會問,怎麼引導面試官到我們最擅長的技術上去?我個人建議嗅探機制
我舉個例子,如果你研究過Spring Cloud註冊中心Eureka的原始碼,假如問你CAP理論,你說了一堆。。。然後你可以嘗試著問問面試官:eureka是類似於AP思想,我可以大概給你畫個原理圖嗎?
你去詢問,如果面試官同意了,這個時候你要簡單的畫,不要太複雜
如果面試官對這個感興趣,他會繼續問你的(我們就等著他問的,對不)。
為什麼這麼說呢?不同的面試官傾向點不同。
有的認為,我問你什麼,你直接說主題就好(要在單位時間內問更多問題)
如果你說的多啦,有的面試官可能認為你的表達或者理解能力有問題,你說的不是重點。
所以這就是我說的你先去嗅探,看看面試官是偏向哪方面的。
這就好比一場重要的NBA季後賽,剛開場的時候,雙方球員都會用不同強度的防守動作,試探一下這個夜晚裁判的判罰尺度,好為後面做打算。這個類比,感覺蠻貼切,ps:NBA鐵桿球迷 ^_^
技術三面:
一般都是交叉面試(其他部門leader)。這個和技術二面差不多,就不多說了。
ps:我個人建議,一面的時候回答差不多就可以,不要太深入。一定把精力和體力都放在技術二面和技術三面上。(後面的都是leader啊)
HRBP:
就是問為什麼離職、換工作想法、期望薪資,銀行流水截圖,定級別,談薪資,發offer。
面試覆盤
在這裡我不想和其他面經一樣,甩出來一大堆面試題。個人覺得列出這些題目也沒有太大意義,我們面試同一個公司同一個部門的概率很低。
也就是說,面試的題目不可能完全一樣,但是你細心一點就會發現大部分公司都是大同小異,就那些基礎翻來覆去的問。
如果你面了幾家公司之後,你真的會感覺再問這些東西,你都會有點噁心的感覺。
美團我面了兩個部門,下午2點到10點半,可能面的有點矇蔽啦,最後面試官問了個問題:
三點一刻的時候,時針和分針的夾角是多少度,我想了一會說1/4度,然後面試官拍拍我肩膀說是不是忘記乘什麼了,然後就走了,最後也過了。
我說這個的意思,也就是說面試題,我們不可能在這之前都能見過,10道題,你能把7-8到題答的很好,我感覺就可以了。
基礎面試的話,我個人認為不要投入太多精力和體力,要把體力和精力都放在後面的面試(後面面試是leader啊)。
技術二面和三面的時候,幾乎都問的專案相關技術。我個人認為,why how what 這樣的回答方式,非常適用在leader面試的時候。
舉個例子:問你redis幹嘛用的,你可以回答儲存一些變動不頻繁的類似商品的資料。但是面試官就會問你為什麼用redis,給你來一個redis幾連炮。
我認為如果是問到專案裡的技術,比如redis,一定要把why how what這套思想全部說出來。
我們專案為什麼用redis(這個很重要),我怎麼用的,我們做了什麼。我認為技術 2 面可能主要考察的就是你的思考能力和思維能力。
在我看來問你專案裡的技術這個是送分題,你必須要回答的很好,把why how what整個階段思考的過程全都說出來,這個就要看你對自己的專案的理解啦
當然你們專案裡的技術方案可能有問題,你也可以根據你的專案大小和公司規模來說存在的問題。
個人認為沒有最好的技術,只有最合適的。面試官可能會問你,存在的問題你怎麼去解決?這個就是附加題。這就要看你對自己專案技術理解和巨集觀架構的理解啦。
所以我建議各位朋友對自己公司平時做的專案的各種細節,一定都要cover住,這個非常非常重要!
比如面試管問你讓你設計一個秒殺的系統,你要根據自己的技術面和對秒殺系統的理解去說自己的想法。
在我看來,不同場景用到的方案可能都不會相同,開放題,考察的大概就是你思考和思維能力,思考的過程可能比結果更重要
美團面試(外賣、金融部門):
其中一天面試了美團的外賣部門和金融部門,我不建議同時面兩個部門,如果想這麼面的話,準備點乾糧。下午2:00到10:30,八個半小時,有點吃不消。
只拿到了到店部門和金融部門的offer,外賣部門沒有拿下offer,我個人認為HRBP的面試的時候出了問題。
問我期望薪資時候,問你為什麼要這個薪資這個問題?因為外賣部門是第一次接受HRBP面試,所以沒有做什麼準備。我隨口說了一句:我值這個錢!
說完之後就感覺有點二啦。(之後遇到這個問題都是委婉的說了一下別的)。
阿里面試:
技術一面就是部門leader,問了兩個多小時,這個是我感覺最難面的。只問了半個小時的基礎知識和演算法,其他都是他給你個場景:
- 看電影,選電影院場次和座位的表結構
- 你現在的系統如何提升100倍的請求,架構怎麼演化
- EurekaServer叢集現在是5W臺,怎麼在毫秒的時間內同步成功等等,讓你去設計和思考
我一直站著在白板上畫圖之類的,一直到面試結束。
技術二面(leader的leader),這個還好,就是問了專案裡的技術,算過啦。
技術三面(不清楚職級,應該交叉部門leader),掛了。
本來以為已經失之交臂了,沒想到被第一次面試的部門leader推薦到了另一個平臺部門。第二次面試因為是其他部門leader推薦,比較順利的拿到了offer。
關於學習
我個人認為要給自己定一個目標比較好,比如跳槽漲薪、學習成果要達到什麼程度,有句話說的好再好的大學也有壞學生,在爛的學校也有好學生
我覺得要進大廠,就要假想大廠都是很厲害的人物,才能促進你自己學習動力,我自己的惰性很強,要促進自己學習的動力這個對我來說很重要。
如果你認為很多人都一般般啦,你自己學會點新的東西,就會有點膨脹,惰性就會變強。
對於我個人而言假想敵對我來說很重要。你要假象別人都很強,我要自己多學習。當然,這是我自身的情況。每個人不一樣,所以僅供參考。
關於談薪資
因為每個公司的薪資漲幅是有要求比例的,比如最高就是20%或者30%,但是不是絕對的。
我就是拿著去哪兒的offer薪資和別的公司談的,效果還是很好的。(拿你最高薪資的offer去談)
End
個人公眾號:石杉的架構筆記(ID:shishan100)
歡迎長按下圖關注公眾號:石杉的架構筆記!
公眾號後臺回覆資料,獲取作者獨家祕製學習資料
石杉的架構筆記,BAT架構經驗傾囊相授