歷經70+場面試,我發現了大廠面試的bug,並總結其中心得
想起了學弟在去年秋招時面試了50餘家,加上暑期實習面試了20餘家,加起來也面試了70餘場。
基本把國內有名的網際網路公司都面了一遍,不敢說自己的面試經驗很豐富,但也是不差的。
這次專門把大廠的面試做了個總結,希望幫到大家拿到理想offer。
網際網路公司從投遞拿到offer的完整流程一般有:
-
筆試、測評
-
面試
-
offer溝通、三方
限於篇幅,這篇文章主要講面試中的那些事。
面試又分為技術面和hr面試,大廠的技術面一般有三面,中小廠通常只有二面。
每輪面試的整個流程一般分三部分,第一部讓你做個自我介紹,第二部分面試官考察專業能力環節,最後一部分是反問面試官環節。
第二部分和第三部分,在一面、二面、三面等都有不同的側重點,下文會詳細講到。
自我介紹部分是非常關鍵的,用1-2分鐘介紹下自己,突出下自己的相關亮點,有幾點要注意:
-
面試官在面試前可能沒看過你的簡歷,通過自我介紹的時候瞭解你的情況
-
可以用最擅長的來收尾,引導面試官的提問
-
別扯沒用的經歷,比如面試網際網路大廠的技術崗,不要講太多社團經歷
-
人菜沒關係,學校差沒關係,專案low沒關係,但一定要自信
推薦一份Java面試題手冊給大家:
附一份自我介紹樣例:
面試官您好,我叫XXX,是XXX大學2022屆的學生,專業是XXX。在校期間,自己的成績XXX,獲得過XXX榮譽;做過XXX專案,專案使用了XXX,完成XXX;參加過XXX比賽,獲得過XXX獎;在XXX公司實習,工作是XXX,為了完成這個工作,我做了xxx努力,最後取得xxx成果。
面試經驗少的小夥伴,可以在面試前對著鏡子模擬面試情景,反覆刻意練習自我介紹,這樣才能保證面試從容、不緊張。
一面
一面面試官通常由公司技術骨幹擔任,對於校招來說,一面比較看重基礎。
一面通常考察:計算機基礎八股文 + 技術棧八股文 + 手撕演算法題 + 專案(實習)+ 開放性問題。
計算機基礎八股文包括計算機網路、作業系統、資料結構與演算法,這些課程在大學都會學到,某些大廠是很看重這些基礎的,比如位元組。
技術棧八股文指Java、C++、Python、Go等程式語言,比如Java,面試會問 Java基礎、Java併發、JVM、MySQL、Redis、Spring、MyBatis、MQ等知識。
八股文知識,在我這份面試小抄pdf基本都可以找到。
手撕演算法題,就是寫程式碼,分為線上和線下,因為疫情原因,現在基本都在線上。
線上寫程式碼通常有兩種形式:
-
通過一些線上OJ平臺,比如牛客網、賽碼網,這些OJ平臺支援視訊面試,OJ平臺都有自己的題庫,在leetcode上基本都能找到。
-
通過騰訊會議、zoom等線上視訊會議系統,面試官會開共享螢幕,在本地IDE寫程式碼。比如寫個快排、二叉樹的左檢視。
手撕演算法題現在面試都需要,至少一道起步,像位元組這類要考演算法題的公司,一般2-3道。
手撕演算法題考的題目在leetcode上都可以找到,大多考察easy和medium型別的題目,刷300道高頻leetcode題,面試的手撕演算法題基本沒問題。
資料結構與演算法相關面試題:
需要獲取這份手冊小夥伴轉發+關注公眾號【不脫髮有志青年】即可獲取!
Tip:
對於自己會的題目,不要高興過頭就立馬寫程式碼。相反,留下兩分鐘思考,組織語言講清楚思路,再開始寫程式碼,會顯得自己頭腦清晰。
對於不會的題目、沒有思路的題目,不要直接說一句“這個不會”,而是跟面試官交流,讓面試官給點提示,一般面試官都會給提示的。
比較好的公司都更會更看重於你解題過程中展現出來的思維能力和思考過程。
有時候你可能並沒有得出最優解,但是如果你思路清晰,能跟上考官的提示,與面試官展開一個共同探討的過程,往往比直接得出最優解更能獲得考官的芳心。
專案或者實習在通常在一面中通常問的不會很深,只是簡單聊聊專案的技術棧、專案的基本功能、框架的使用等。
最後,面試官會問一句“你還有什麼問題要問我的嗎?”,這個問題相當於把主動權交給你了,但也要注意,這時候就算不加分,至少也不要扣分。
最好不要問的,比如薪資水平、上下班時間、交通食宿補助、加班是否有加班費。因為這些問題是問hr的,現在問不合適,反而會造成壞印象。
可以問什麼?對於一面的面試官,通常是技術骨幹或者主管,可以問以下一些問題:
-
部門的主營業務是什麼?表達下自己對業務的好奇
-
部門使用的技術棧、程式語言是什麼、使用哪些框架、中介軟體?表達下自己對技術的好奇
-
您覺得我的專業能力有哪些需要提升的,您有什麼建議?
-
您剛才那個問題,我想問下您的思路。體現自己好學
最重要的一點,某些同學可能想知道自己此輪面試是否通過,就直接問面試官“我這輪面試通過了沒有”,
切記,不能直接這麼問!一般公司都有規定,面試官是不能現在跟你說的,會造成很尷尬的場面。
迫切想知道,自己面試的結果,可以問下面試官,多久會有結果、接下來的面試流程是什麼。
二面
對於中小廠來說,二面就是技術終面了。
二面的面試官一般是技術leader,更看重解決問題的能力。
二面中,八股文和演算法題比一面考察的少些,會更多問專案和實習的問題,還會問些開放性問題。
二面官會以專案為切入點,先問專案本身的背景和基礎功能等,在一步步深入,問到專案相關擴充套件,直到你不會為止。
專案相關的問題可分為兩方面,一是專案本身,二是專案擴充套件。
我彙總了常見的專案問法,可以對照看下,能答上百分之90,專案就能成為加分項。
專案本身
-
專案的背景是什麼,解決一個什麼樣的問題?
-
專案中你的職責是什麼?
-
專案的基礎功能有哪些?
-
專案使用的技術棧是什麼,技術架構是怎麼樣的?使用微服務了嗎?
-
專案是怎麼搭建的,機器配置是什麼樣的,有做分散式嗎?
-
專案的具體功能細節,比如論壇專案中評論是如何儲存的?怎麼展示所有的評論?
-
專案中框架或者中介軟體的使用細節。專案裡怎麼用ES的,ES怎麼支援搜尋的?快取和DB是如何結合使用的?
專案擴充套件
-
專案存在哪些問題,你準備怎麼解決?
-
專案的具體功能點如何優化?如論壇專案,查詢評論是在DB裡掃表查詢嗎?想要查詢更快可以做哪些優化?
-
專案中最有挑戰的模組是哪個,你是怎麼解決的?
-
專案中使用某種框架的原因,比如使用了本地快取Caffeine,為什麼使用這個Caffeine,不使用Guava?
-
專案要增大10倍的qps,你會怎麼設計?
-
專案上線後出現線上問題怎麼解決?如頻繁fullGc,定時任務失敗怎麼辦?
開放性問題就比較靈活了,不要以為開放性問題就放鬆了下來,也是要認真回答的。
常見的開放性問題有:
-
最近在看什麼書?面試官通過這個問題考察你對前言領域、對專業領域是否關注,是新事物理解如何。
-
你瞭解過XXX技術嗎,如瞭解過Service Mesh嗎?還知道有關微服務的嗎?看好奇心,是否會主動探索。
-
你平時是怎麼學習的?看學習的方法、學習的習慣,學習有沒有體系?
-
人生髮展、最近五年的職業規劃?
-
你實習時或者做專案時,是如何協作的?看團隊協作能力。
-
聊優缺點,你最大的亮點是什麼?
-
聊在校經歷,在校成績
-
最有成就感的事情,最喪的事情
二面都是主管級別的面試官了,所以二面的反問環節可以比一面更巨集觀些了,可以問:
-
您面試後候選人,尤其是校招生,最看重什麼?
-
如果我有幸進入您的團隊,您對我的期望是什麼?
-
您覺得勝任這個職位的人什麼品質最重要?
-
您對於候選人,尤其是校招生的職業規劃有什麼建議?
-
這個職位的晉升機制、發展路徑是怎麼樣的?
-
我將要進入的團隊有多少人,業務發展方向是什麼?
-
公司、部門對於新人的培養是什麼樣的?
-
您認為我對於這個崗位的差距在哪裡,哪些方面需要提升?
三面
進入二面,拿offer的概率就很大了。
三面官一般都是大leader,技術總監這類級別的。
三面通常就不會再問很多基礎相關的知識了,三面更看重個人素質,畢竟能通過前面兩輪面試的,技術能力肯定是過關的。‘
三面主要考察專案、開放性問題、智力問題,有些公司還會在考兩道演算法題,問些八股文基礎。
智力問題是想考察候選人是不是聰明,這些題目其實就是看過就會秒解,不會一小時都想不出來。
常考的智力題有很多,這裡簡單列上幾個,後面會出個智力題彙總的文章
通過燒繩子判斷時間
分蛋糕問題
找出壞球
最快時間過橋問題
家庭聚會握手問題
天秤找出變質的那瓶藥
猴子香蕉問題...
HR面
進入HR面試,基本問題不大了。
HR面試主要考察的是候選人的性格、上進心、價值觀、工作的態度等
HR面試也要提前準備下,尤其是涉及到對方公司的企業文化、有什麼代表性產品、歷年的薪資水平等。
HR面試的回答沒有什麼固定答案,根據實際情況回答就好。
這裡有個注意點,HR問到“你最大的缺點是什麼?”
千萬不要回答沒有缺點,我的缺點就是追求完美。只要是人就有缺點,說沒有缺點一定會令人反感!
可以採用避重就輕的描述,並且自己還在不斷改正,比如說自己性子急、對待效率低下的人,但是我平時和別人聊天的時候會控制自己語速和講話,慢慢培養自己耐心。