【面經】面試基本流程

寫在前面

和別的行業不同

電腦行業是一個繼續把面試經常列入行程的行業,即便不打算轉行

也必須多去幾家公司去面試了解現在的行情,不然坐久了技術便會落後

所以請各位同學務必重視

本頁部落格會不斷完善,大家可以當做在此模擬練習的地方

面試流程

第一階段:投簡歷

這個大家上招聘網站上投就行啦,就不用教了

當然由於部落客經驗還很少,簡歷怎麼寫,僅僅給幾個要點

【1】推薦平台:牛客網,力扣,前程無憂,獵聘,智聯,拉鉤

【2】電腦的簡歷和別的行業不同,是可以反應學習成果的,自己在下班或者課下學了什麼技術只管網上寫,配合自己的實戰經驗作為證明更好

【3】照片一定要好看,正所謂人要衣裝,佛要金裝嘛,個人推薦在天之藍拍

【4】例如參加學生會,歌唱比賽這些亂七八糟的別往上寫,不僅沒用還會減分

【5】簡歷可以潤色但務必真實,不可瞎編亂造,不要把公司當傻瓜,人家會做背調的,吹牛吹過頭了肯定會穿幫

第二階段:簡歷篩選通過

這時候會有三種面試:電話面試,共享桌面遠程面試、現場面試

電話面試

顧名思義,電話面試是面試官以打電話的形式考查應聘者。

優勢:

【1】對於社恐的同學比較友好,看不到真人

【2】問問題不會過於深奧,畢竟電話里很多事情說不清楚

【3】不用出遠門

考點:

【1】容易突然襲擊,造成在不方便接電話的時候面試

【2】沒有肢體語言,對語言的表述要求較高

【3】如果有外語面試,會增加外語聽力的難度

提示:

【1】應聘者在電話面試的時候應儘可能用形象的語言把細節說清楚。

【2】如果在英語面試時沒有聽清或沒有聽懂面試官的問題,則應聘者要敢於說Pardon,當然中文也是一個道理,不要害怕提問,面試官不會吃人,如果會那種公司也沒必要去。

共享桌面遠程面試

共享桌面遠程面試是指利用一些共享桌面的軟體(如微軟的Skype、思科的WebEx等),應聘者把自己電腦的桌面共享給遠程的面試官。

優勢:

【1】對於社恐的同學比較友好,不用臉對臉

【2】可以在自己熟悉的環境下進行面試

【3】不用出遠門

【4】一般是大公司才有

考點:

【1】思考清楚再開始敲程式碼,不要一下筆就做,這個所有的考試都有

【2】為了讓面試官留下好印象,要有良好的命名習慣

【3】能夠進行單元測試,能做到測試在前開發在後的程式設計師,那基本上面試官得跪下叫爸爸了【開個玩笑哈】

【4】所有的程式碼都不可能一帆風順,哪怕照抄也一樣,如果偶爾有,那是老天的恩惠【本人就有過一次哈哈】,寫程式碼遇到問題後程式設計師的反應能力,這些書上是學不到的,只有實戰才會懂

提示:

【1】在共享桌面遠程面試過程中,面試官最關心的是應聘者的編程習慣及調試能力。

現場面試

優勢

【1】對於擅長社交的同學來說,這個難度不會很高

【2】對於顏值高的同學【當然我不是】,這也是個加分項哈哈哈

考點【下節討論】

現場面試是整個面試流程中的重頭戲。由於是坐在面試官的對面,應聘者的一舉一動都看在面試官的眼裡。面試官通過應聘者的語言和行動考查他的溝通能力、學習能力、編程能力等綜合實力。

提示:

【1】規劃好著裝得體出行路線和時間,千萬不要遲到,你想想看面試都遲到,上班不得天天遲到早退呀

【2】注意麵試流程,有時候面試是挺漫長的要持續幾個小時,建議帶一些提神的裝備

【3】事先準備好幾個問題,有些面試官會在最後讓你問問還有沒有什麼問題需要諮詢的,一般是薪資,五險一金之類的,當然大廠可能不同,以後再補充吧

第三階段:現場面試的三個環節

基本面試環節

時間:5—10分鐘

內容:

【1】應聘者的性格特點

【2】深入了解簡歷中的項目經歷【可以事先準備好】

【3】技術問題一般不涉及

【4】自我介紹30s-60s【可以事先準備好,主要是學習和工作經歷】,注意沒用的經歷【學校里做志願者,學生會之類的的少說,面試官不是跟你嘮家常】

提示:這段時間可以調整自己的情緒,讓自己進入狀態

拓展:面試官深入追問

【1】應聘者的項目經驗

可以從以下四個方面介紹【STAR】

Situation:簡短的項目背景。【這裡內容比較少】

Task:自己完成的任務。【這裡務必詳細,面試官會不停地追問,別只寫了幾行程式碼就說自己負責的,一個不誠信的人找工作基本不可能成功】

Action:為完成任務自己做了哪些工作,是怎麼做的。

Result:自己的貢獻。【這方面也最好具體,最好能用數字加以說明,參與開發功能,則可以說暗示完成了多少功能,如果做優化,可以說性能提高百分比多少,如果修BUG可以說修改了多少BUG】

 

如果在應聘者的簡歷中上述4類資訊還不夠清晰,則面試官可能會追問相關的問題。除此之外,面試官針對項目經驗最常問的問題包括如下幾個類型:

  • 你在該項目中碰到的最大問題是什麼,你是怎麼解決的?
  • 從這個項目中你學到了什麼?
  • 什麼時候會和其他團隊成員(包括開發人員、測試人員、設計人員、項目經理等)有什麼樣的衝突,你們是怎麼解決衝突的?

因此在準備簡歷的時候最好把這些問題都說清楚

【2】應聘者掌握的技能

可以給大家一些簡歷術語

了解:上過課看過書,沒有項目經驗

熟悉:實戰項目中適用某項技術已經有較長的時間,通過查閱文檔可以解決大部分問題

精通:無論什麼人問問題都能回答,能夠回答同學或者同事的絕大多數問題

【3】為什麼跳槽

這個時候是說漂亮話的時候,這個大家都能自己編了,就不多寫了

規避以下幾個原因:老闆太苛刻,同事難相處,加班太頻繁,工資太低廉

推薦原因:想挑戰更有挑戰性的工作

基本面試環節技巧

【1】一定要掌握主動權

因為電腦的問題很多,你不可能在很有限的時間裡就學到滿分

那怎麼掌握主動權呢,就是要找機會很自然地把你自身的優勢說出來,你會什麼1,2,3地說出來

一來面試官可以更清楚了解你的優勢

二來面試官的時間是有限的,用這種方法可以壓縮他的發揮時間

這樣呢面試官事先準備好的問題可能就派不上大用場,可能會被問倒的概率就有所下降了

【2】不要說的很流利

有同學奇怪了,說得流利不是好事情么,未必,面試講究接地氣,就算整個項目是你一個人做的,也不可能流利到這個地步,同學們畢設答辯的時候想必也有過體驗,你說的太流利面試官可能就會認為你在背書

言下之意麵試這種東西,確實要事先準備,但不能讓痕迹太明顯

【3】說話盡量有邏輯

雖然說話不需要太流利,但是腦中一定要有邏輯

不要東打一錘,西打一棒

寫程式就好比寫文章,一篇沒有文章的邏輯

例如:第一段寫自己小時候在幹嘛,第二段寫同學今天借我錢,第三段再寫宇宙大爆炸

這樣一篇文章就完全沒法看了

一個沒有邏輯的程式設計師是完全不受歡迎的

這點同學們一定要注意

技術面試環節

時間:40-50分鐘【重頭戲】

內容:

【1】基礎知識紮實全面,包括程式語言、數據結構、演算法等

【2】能寫出正確的、完整的、魯棒的高品質程式碼【注意特殊輸入】

【3】能思路清晰地分析、解決複雜問題

【4】能從時間、空間複雜度兩方面優化演算法效率

【5】具備優秀的溝通能力、學習能力、發散思維能力等

這些內容都可以做足準備

最簡單的就是去刷LeetCode,牛客網之類的

 

可能有同學認為面試官不要你可能是因為性格不適合,態度不夠誠懇,其實大家都是程式設計師,都是直來直去的,他們只認題目做不做的對

如果題目簡單了但是被拒了,十有八九就是程式碼沒寫好

往往越簡單,面試官給出的數據越刁鑽

 

但如果有些問題比較複雜,面試官就會考慮面試者能否在很短的時間裡給出清晰地思路,因為如果要求面試者在很短的時間裡解決很複雜的問題著實有些強人所難

所以這個時候不要懼怕做不出來,要讓自己能否給出一個完整地思路

 

另外往往你做出來以後面試官會提醒你有更好的辦法,不要放棄思考,畢竟我們編程式就像造武器,最終就是為了火力又猛又輕巧

 

最後就是軟技能

很多同學看我置頂首頁會發現我考法考,學辯論,這其實就是練一下嘴,增加點社交能力

畢竟現在是團伙作案,三個臭皮匠頂個諸葛亮

另外也要不斷增強自己的學習能力,畢竟電腦行業更新迭代太快了

應聘者提問

時間:5-10分鐘

要點:

【1】這裡可以事先準備好,因為這往往是最後的環節

【2】如果操作得好這裡是加分項

【3】和自己的職位有關

【4】不要問薪水【不是說全程不問,技術面試的時候不要問】

【5】不要打聽面試結果

推薦問題:

【1】與應聘崗位和項目相關【建議在面試前就做足功課】

【2】注意麵試官介紹的時候說的話,往往可以成為提問的要點

第四階段:收尾工作

不管成功不成功,相見即是緣分,即便最終不成功也要注意基本的禮貌,畢竟做什麼都是先做人

艾躍進教授說過,一切失敗都是因為做人的失敗

成功了不要狂喜過頭【免得入職以後給你加工作】

失敗了也不要過分沮喪甚至罵街【這樣會無形中影響下一次面試】

咱們要努力告訴面試官,不留爺是你的損失哈哈哈

面試模擬環節

基本面試環節

【模擬面試01號】Java面試突擊

【模擬面試02號】資料庫面試突擊

【模擬面試03號】Java面試問答題

結語:今天就暫時和大家聊到這裡,祝大家收穫理想的Offer