如何準備好一場大廠面試
今年的互聯(lián)網(wǎng)就業(yè)形勢
興哥之前說過:“2019年可能會是過去十年里最差的一年,但卻是未來十年里最好的一年“,這句話在今年的互聯(lián)網(wǎng)得到了很強烈的驗證。
其實也很容易理解:互聯(lián)網(wǎng)過去幾年飛速發(fā)展,給的待遇比其他行業(yè)都要高不少,并且過去幾年入門門檻很低,基本去機構(gòu)培訓幾個月就能上崗,所以出現(xiàn)很多其他專業(yè)培訓轉(zhuǎn)行當程序員的。還有這幾年新生報專業(yè),也出現(xiàn)涌向計算機專業(yè)的趨勢,互聯(lián)網(wǎng)整體的供求關(guān)系出現(xiàn)了逆轉(zhuǎn)。還有一個最直觀的現(xiàn)象是這兩年涌現(xiàn)出來一大批在線的 IT 培訓機構(gòu)也說明了這個問題。
同時由于疫情的關(guān)系,今年倒閉的小公司特別多,進一步加劇了整體的就業(yè)形勢。所以準備要裸辭的同學最好掂量下自己,除非已經(jīng)沒法忍受或者確實實力夠硬,否則還是騎驢找馬最好。
在工作中積累
當你還比較年輕時,例如一兩年經(jīng)驗,通過面試前的準備往往能應付很多面試,因為你還年輕,公司會對你更包容,更看重你的學習潛力。
但當你到了四五年經(jīng)驗,甚至更多時,公司會看重你的積累,因為這個年限一般需要能獨當一面了,招進來能快速負責起一塊業(yè)務。這個時候,如果你平時沒去思考和積累,只靠面試前的準備會很難應付,即使勉強應付過了,可能也沒有亮點,從而在跟其他候選人的PK中落敗。
因此,我們需要在平時的工作中去不斷積累,遇到困難時迎男而上,多思考更優(yōu)的解決方案,多學習其他人的優(yōu)秀方案,多進行階段性總結(jié)。
面試時,很經(jīng)常會遇到?jīng)]準備過的問題,如果你平時沒怎么學習和積累,這時候基本是束手無措。如果你有不斷的思考和積累,你可以將問題轉(zhuǎn)換為:如果是你來設(shè)計這個功能,你會怎么設(shè)計?當你積累的足夠多時,你很容易會有自己的一套設(shè)計方案。因為大部分優(yōu)秀的工具框架的底層設(shè)計思想都是一樣的,優(yōu)秀的東西大家都喜歡用,只要我們朝著那個方向思考,我們很大概率會給出類似的方案。
這種之前沒看過,通過自己思考給出的設(shè)計方案在面試官這會加分。
在工作之外學習
僅靠工作中的成長通常是不夠的,特別是大部分人的工作就是CRUD,所以一定要在平時花點時間去學習。
1)首先你需要有目標,如果沒有目標你會很難堅持下去。比如:為了賺更多的錢、為了成為像xxx一樣牛逼的人等等。
2)不需要你把所有的業(yè)余時間都花在學習上,只需要每天或者每周固定花點時間,讓自己養(yǎng)成習慣。
3)不要東學一點西學一點,盡量集中學習某個方向,以 Java 后端為例,可以先集中學習 Java 常見的八股文,實在不知道學啥的可以參考:《4 年 Java 經(jīng)驗面試總結(jié)、心得體會》
4)學習時不能只看教程(博客、公眾號、在線培訓機構(gòu)等),一個是要培養(yǎng)自己的學習能力,另一個是現(xiàn)在很多教程都是為了割韭菜水平堪憂。但是并不是說完全不要看這些教程,而是在看的時候要有自己的思考。這些教程可以作為一個參考,學習更多的還是要靠自己去實踐、看官方文檔、看源碼等。
5)要有“打破砂鍋問到底”的精神,不要看過就過,多思考為什么,有疑問的地方要徹底搞清楚,通常來說,源碼可以解答你所有的問題。
6)如果自律性不太強,盡量不要碰電視劇、游戲、小說、抖音快手這些,很容易就上癮,并且這些都要花很多時間??梢韵裎乙粯?,整一些不怎么花費時間的,例如看海賊王,一周就更新一集,每集去掉回顧和預告就15分鐘,有時候還會被鴿,哈哈。
7)遇到復雜的知識點不要害怕,要迎難而上,簡單的知識大家都會,區(qū)分不出什么,只有這些復雜的知識點時才能區(qū)分出你和別人的不同。很多問題百度上都搜得到,多搜多看,很容易也就弄懂了。
說實話,要進步其實不難,不需要你買一堆培訓機構(gòu)的教程,不需要你關(guān)注一大堆公眾號,也不需要你收藏一大堆資料。只需要你靜下心來,明確一個方向,百度上找一兩套資料、買兩本書、下載點源碼,一步一個腳印的積累,到了某個階段你會發(fā)現(xiàn)自己已經(jīng)完成蛻變。
1、Java 八股文:Java 的核心知識還是不能落下的,之前的文章里列了很多,我自己覺得準備這些基本夠了,參考:《4 年 Java 經(jīng)驗面試總結(jié)、心得體會》
2、算法:以前我都不怎么準備算法,但是今年花在算法的時間挺多的,主要大環(huán)境這樣,我們只能去適應。在力扣上刷了150道左右,主要是:《LeetCode 熱題 HOT 100》和《劍指 Offer》系列。如果自己一道道刷,刷150題估計要幾個月,幾個快速刷算法的技巧是:1)先思考3分鐘,如果沒有思路,直接看題解,理解其核心思想,然后自己寫出來;2)按系列刷,例如先專門刷回溯的題、再刷雙指針這樣,按系列刷可以加深自己對該系列的理解;3)從易到難,我自己將題目分成三類:數(shù)據(jù)結(jié)構(gòu)算法(數(shù)組、字符串、鏈表、二叉樹、堆、棧、隊列等)、基礎(chǔ)算法(遞歸、二分、排序、DFS、BFS等)、中高級算法(滑動窗口、快慢指針、雙指針、回溯、動態(tài)規(guī)劃等);4)反復刷,最最重要的一定要理解其思想,不要死記硬背,要碰上原題很難,但是大多數(shù)的解題思路是相通的。
3、項目:主要準備最近一家公司所負責的業(yè)務和項目:1)項目的背景,為啥要做這個項目;2)系統(tǒng)的演進之路,有哪幾個階段,每個階段主要做了什么;3)項目中的技術(shù)選型,在項目中使用一些工具和框架時的調(diào)研,為啥選這個;4)項目的亮點:就是你在項目中做過最牛逼的事,復雜的需求方案設(shè)計、性能優(yōu)化、線上問題處理、項目重構(gòu)等等;
4、架構(gòu)設(shè)計:這個也是以前面試沒有準備過的,也是自己在最近這一年才開始有去接觸學習和思考,主要是平臺化的一些思想、DDD 領(lǐng)域驅(qū)動設(shè)計思想,隨著經(jīng)驗的增加,這塊會越來越重要。
5、項目管理:主要是在主導跨團隊的項目時,如何高效的協(xié)調(diào)好各個團隊的工作,使用哪些方法來保障項目的按時交付。在項目遇到困難時,作為項目負責人如何應對等等。跟架構(gòu)設(shè)計一樣,這塊也是隨著經(jīng)驗的增加越來越重要。
6、通用問題:幾個比較容易被問到的問題是:1)為什么離職;2)在上家公司哪些能力得到了成長;3)平時怎么學習的?
7、問面試官:每次面試最后面試官一般會問有沒有什么想問的,如果不知道問什么,可以問下團隊當前負責的業(yè)務是什么?主要面臨的挑戰(zhàn)是什么?
大廠簡歷篩選標準
以下是我總結(jié)的一些大廠常見的篩選標準,不特指某個公司,估計大部分大家也都知道,僅供參考。
1)當前就職企業(yè),當前就職企業(yè)是互聯(lián)網(wǎng)大廠基本簡歷關(guān)就過了,除非有其他特別大的問題。
2)畢業(yè)學校(本科更重要)和專業(yè),如果是知名學校,例如211、985之類的,會有加分,如果是非本科會扣分,如果是非計算機專業(yè)會扣分。
3)期望薪水,這點可能很多人沒想到,但是這個確實是一個很重要的篩選條件,因為這個很直接的反映了你當前的水平。主要參考下限,如果下限低于某個值基本不會考慮。
4)年紀和工作年限,很殘酷的事實,相信大家也應該都聽過“程序員35歲送外賣開滴滴”。
5)專業(yè)技能,如果有閱讀過某些源碼、深入研究過某個框架之類的會加分,使用“精通”字眼的扣分哈哈。還有就是“全棧”或者有幾年做過“前端”這些都是扣分。關(guān)于“全?!?,小公司可能會加分,但是對于大廠這個通常會扣分,大廠一般希望你更專注于某一塊。
6)項目,方向一致會有加分,高并發(fā)大數(shù)據(jù)加分。
7)其他,技術(shù)博客有不錯的技術(shù)文章加分,github 有參與一些知名開源項目加分,有機構(gòu)培訓經(jīng)歷扣分,跳槽過于頻繁扣分,特別是跳的都是小公司。
綜上,對于大部分人來說,特別是對于年輕人,大廠經(jīng)驗還是非常重要的,所以如果有進入大廠的機會,千萬要抓住,不要太在意當前的薪資,大廠能夠給予你的成長機會、后續(xù)的漲薪這些都是小廠沒法比的。
面試中如何讓自己脫穎而出
面試就是如何讓自己成為所有候選人中的裝逼之王,所以如果你只是正常的回答出來,可能會淪為他人的備胎。
1)有自己的思考:初級點的,為什么這個功能要這么設(shè)計?高級點的,如果是你來設(shè)計,你有更好的方案嗎?
2)知識廣度:初級點的,能答出面試官的所有問題。高級點的,在解答出來的同時還能扯到一些相關(guān)的知識。例如在問 G1 垃圾回收器,你能順帶聊下 ZGC。
3)知識深度:初級點的,你能給出大部分人知道的版本。高級點的,你能給出具體實現(xiàn)的細節(jié)。以 MVCC 為例,初級答法就是給出創(chuàng)建版本號和刪除版本號的這個答案,而高級答法就是能從源碼去分析 ReadView、回滾指針、快照讀等內(nèi)容,參考:MySQL 8.0 MVCC 核心源碼解析
視頻面試跟現(xiàn)場面試的比較
今年因為疫情的關(guān)系,基本都是視頻面試,視頻面試基本都是在牛客網(wǎng)。我個人覺得視頻面試比現(xiàn)場面試難度是增加的,主要有幾個:1)溝通交流上,視頻面對你的表達能力要求更高,現(xiàn)場面畢竟還能指指畫畫;2)寫代碼,視頻面試寫代碼基比現(xiàn)場面多了很多,另外現(xiàn)場面試通常是白紙寫,沒法運行驗證,一般思路對就行了。而視頻面在線編碼,可以運行測試結(jié)果,所以更考驗編碼能力了,而且這個在線編碼工具有點難用,我第一次時被坑慘了,如果第一次用,建議提前上去適應一下。
一些大廠的面試流程
阿里:通常3~4面技術(shù)+Hr面,每一輪結(jié)束可以問內(nèi)推人或者通過面試郵件底部的電話轉(zhuǎn)人工查詢面試結(jié)果,一般流程比較長,大多要一個月以上,無法并行面多個部門。
騰訊:通常3-5輪技術(shù)+Hr面,每一輪結(jié)束可以問招聘Hr面試結(jié)果,一般流程比較長,每一面之間可能要隔一周,全部流程大多要一個月以上,無法并行面多個部門。
美團:通常3~4面技術(shù)(3.1開始多一輪交叉面)+Hr面,通過的話一般3個工作日內(nèi)約下一次面試時間,一般半個月就可以走完流程,可以并行面多個部門,美團是少有可以并行面的公司,但是一旦第一個部門定薪定級后,后續(xù)的其他部門即使通過了也會按照第一個的定薪定級。
快手:通常3~4面技術(shù)+Hr面,通過的話一般2個工作日內(nèi)約下一次面試時間,經(jīng)常面完幾個小時內(nèi)就收到電話約下一次面試,一般半個月就可以走完流程,無法并行面多個部門。
字節(jié):通常3~4面技術(shù)+Hr面,面試效率比較高,可能一天內(nèi)就面完技術(shù)面,整個面試流程比較快,但是發(fā)口頭offer比較慢,無法并行面多個部門。
拼多多:通常3面技術(shù)+Hr面,現(xiàn)場面可以一天面完,并且可以周日面,一般半個月就可以走完流程,無法并行面多個部門。
面試要注意的一些點
1)盡量保持自信,自信心的建立源于你自己的武器庫里有多少武器,所以歸根到底還是要多學習、多積累。
2)先拿小公司練手,面試通常會面的越多發(fā)揮的越好。
3)視頻面試提前調(diào)試好設(shè)備,不要像我一樣臨時發(fā)現(xiàn)沒法打開視頻就尷尬了。
4)大廠談薪時通常會看你是否有其他大廠的offer,如果你有其他大廠的offer會有利于談一個不錯的待遇,所以可以多面幾家。
最后
我很喜歡把學習比喻成拼圖,一開始時很艱難,效率很低,并且可能有某些知識你反復看也不理解,因為此時的你看不清拼圖的完整模樣。
但是只要你不斷的積累,當你在拼圖上東積累一塊、西積累一塊后,到了某個階段,你會發(fā)現(xiàn)很多原來不理解的東西可能突然就理解了,同時學習效率也會比以前快多了。
最后送大家一碗雞湯:當你的才華還撐不起你的野心時,那你就應該靜下心來學習。
