程序員面試流程,面試遊刃有餘

電話面試

  • 面試官打電話的形式考查應聘者,會提早約好時間
  • 有些面試官喜歡搞忽然襲擊,建議應聘者在投出簡歷以後的一兩個星期以內,保證手機電池能至少連續通話一小時。應聘者不要長時間待在很嘈雜的環境下。
  • 電話面試只能依靠聲音,描述複雜算法的時候儘量形象把細節說清楚。 例如,現場面試的時候,若是要描述二叉樹的結構,能夠用筆在白紙上畫出來,電話面試則須要把二叉樹中有哪些節點,每一個節點的左節點是什麼,右節點是什麼都說得很清楚。

共享桌面面試

  • 應聘者把本身的桌面遠程分享給面試官,面試官能夠觀看應聘者編程和調試的過程。
  • 面試官關心應聘者的編程習慣及調試能力。 一般面試官會承認如下幾個點:程序員

    • 思考清楚再開始編碼
    • 良好的代碼命名和縮進對齊習慣
    • 可以進行單元測試

現場面試

前往公司參加面試以前面試

  • 規劃好路線並估算出行時間,預留半小時緩衝時間應對堵車等意外狀況
  • 注意面試邀請函裏的面試流程。 若是面試有好幾輪,時間很長,面試過程可能會以爲疲勞,思惟遲鈍,能夠帶些提神飲料。
  • 準備幾個問題,每輪面試的最後,面試官都會讓應聘者提問。
  • 準備好得體的衣服

面試的3個環節

  • 行爲面試: 面試官參照簡歷瞭解應聘者過往經驗。
  • 技術面試:要求應聘者現場寫代碼。
  • 應聘者提問。

行爲面試

面試官會注意應聘者的性格特色,深刻了解簡歷中舉例的項目經歷。
很多面試官會讓應聘者作一個簡短的自我介紹,因爲面試官手拿簡歷,所以自我介紹不用花不少時間。 用30秒到1分鐘的時間介紹本身的主要學習,工做經歷便可。算法

若是面試官對你的經歷或項目感興趣,那麼他會有針對性地提問。編程

應聘者的項目經驗

建議根據STAR法則描述本身的項目經歷。windows

  • Situation 簡短的項目背景:項目規模,開發的軟件功能,目標用戶等。
  • Task 本身完成的任務:這個要寫詳細,要讓面試官對本身的工做一目瞭然,用詞上注意區分「參與」 和 「負責」。 「負責」了某個項目,面試官可能會問項目的整體設計,核心算法,團隊合做等問題,只是「參與」很難回答。
  • Action 爲完成任務本身作了哪些工做,怎麼作的。 這裏能夠詳細介紹。數據結構

    • 作系統設計的,能夠介紹系統架構的特色
    • 作軟件開發的,能夠寫基於什麼工具在哪一個平臺下應用了哪些技術
    • 作軟件測試的,能夠寫是手工測試仍是自動化測試等
  • Result 本身的貢獻:這方面的信息能夠寫的具體些,最好能用數字加以說明。架構

    • 參與功能開發,則能夠說按時完成了多少功能。
    • 作優化,則能夠說性能提升的百分比是多少
    • 若是是維護,則能夠說修改了多少個bug

舉例:數據結構和算法

winforms是微軟.NET 中的一個成熟的UI平臺(Situation)。 本人的工做是添加少許新功能以外只要負責維護已有的功能(Task)。新的功能主要是讓winforms的控件風格和Vista、windows 7 的風格保持一致。 在維護方面,對於較難的問題,我用winDbg 等工具進行調試(Action)。 在過去的兩年中,我共修改了超過200個bug(Result)。

若是在應聘者的簡歷中上述4類信息不夠清晰,則面試官可能會追問相關問題。編程語言

  • 你在該項目中碰到的最大問題是什麼,你是怎麼解決的。
  • 從這個項目中你學到了什麼。
  • 何時會和其餘團隊成員,有什麼樣的衝突,大家是怎麼解決的?

應聘者在準備簡歷的時候,針對每個項目經歷都應提早作好相應的準備,只有準備充分,應聘者在行爲面試環節才能夠表現的遊刃有餘。函數

!!! tip
在介紹項目經驗(包括在簡歷上介紹和麪試時的口頭介紹)時,應聘者沒必要詳述項目的背景,而要突出介紹本身完成的工做以及取得的成績。

應聘者掌握的技能

描述技能的掌握程度時要注意「瞭解」,「熟悉」,「精通」 的區別。

  • 瞭解:某項技術只是上過課或者看過書,但沒有作過實際的項目。

    • 一般不建議在簡歷充列出只是膚淺的瞭解一點的技能,除非這項技術應聘的職位的確須要。
  • 熟悉:在實際項目中使用某項技能已經有較長時間,經過查閱相關的文檔能夠獨立解決大部分問題。
  • 精通:對某項技能使用駕輕就熟,在項目開發過程當中,有同事請教,咱們有信心有能力解決。
回答「爲何跳槽」

面試官經過這個問題來了解應聘者的性格,應聘者能夠大膽根據真實想法回答,但也不要想什麼說什麼,避免留下壞印象。

回答的時候不要抱怨,不要流露負面情緒。 儘可能避免如下緣由:

  • 老闆太苛刻。
  • 同事太難相處。
  • 加班太頻繁。
  • 工資過低。 我只管幹活,工資公司看着給,相信公司不會虧待勤奮的員工。
如今的工做作了一段時間,已經沒有太多的激情了,所以但願找一份更有挑戰的工做。 具體論證厭倦的緣由,以及面試的職位爲何有興趣。

示例:

技術面試

應聘者須要具有的素質

  • 對編程語言、 數據結構和算法等基礎知識有全面的瞭解。
  • 面試遇到簡單的問題,則必定要注意細節,寫出完整、魯棒的代碼。 遇到複雜的問題,能夠經過畫圖,舉例子分析和分解複雜問題等方法理清思路再編程。
  • 優化時間效率和空間效率,最求找到最優的解法。
  • 主動提問,弄清楚題目要求,表現本身的溝通能力。
  • 當面試官先後問的兩個問題有相關性的時候,儘可能把解決問題的思路遷移到後面的問題中去,展現本身良好的學習能力。
紮實的基礎知識

一般基本功再編程面試環節體如今:編程語言、 數據結構、 算法

  • 至少掌握一兩門編程語言
  • 數據結構是重點,應聘者須要熟練掌握鏈表,樹,棧,隊列,哈希表等數據結構,以及他們的操做。

    • 鏈表,二叉樹問得比較多。
    • 鏈表,插入刪除
    • 二叉樹各類遍歷方法和遞歸寫法。
  • 查找、排序算法

    • 重點掌握二分查找,歸併排序和快速排序
    • 少數算法很重視的公司還會要求熟練掌握動態規劃,貪婪算法。
高質量的代碼

面試官會格外關注邊界條件,特殊輸入等,看似細枝末節,但實則相當重要。

面試的時候以爲題目很簡單,感受本身都作出來了,可最後爲何被拒了呢? 技能面試的面試官通常都是程序員,程序員一般沒有那麼多想法,他們只認一個理,題目作對,作完整了,就讓你經過,不然失敗。 若是遇到簡單題目被拒的狀況,則應該認真反思在思路或代碼中存在哪些漏洞。

!!! tip
面試官除了但願應聘者的代碼可以完成基本的功能,還會關注應聘者是否考慮了邊界條件,特殊輸入(空指針,空字符串等),以及錯誤處理。

清晰的思路

對於複雜的問題,面試官不期待應聘者能在面試不到一小時的時間裏給出完整答案,他更看重的仍是應聘者是否有清晰的思路。

面試官不喜歡應聘者在沒有造成清晰思路以前就草率的開始寫代碼,這樣寫出來的代碼容易邏輯混亂,錯誤百出。

應聘者能夠用以下幾個方法幫組本身造成清晰的思路:

  • 舉例子幫助本身理解問題。
  • 用圖形表示抽象的數據結構。 像分析與鏈表,二叉樹相關的題目。
  • 把複雜的問題分解成若干簡單的子問題。 如遞歸,分治法,動態規劃。
優化效率的能力

優秀的程序員對時間和內存的消耗錙銖必較,他們頗有激情的不斷優化本身的代碼。

  • 要優化代碼效率,要熟知各類數據結構的優缺點,並能選擇合適的數據結構解決問題。
  • 熟練的掌握經常使用的算法。面試中最經常使用的算法是查找和排序。
優秀的綜合能力

應聘者除了展現本身的編程能力和技術功底,還須要展現本身的軟技能。

  • 溝通能力。 面試官會觀察應聘者在介紹項目經驗或者算法思路時是否觀點明確、邏輯清晰。
  • 團隊合做能力。 面試官會從應聘者說話的神態和語氣來判斷。
  • 學習能力。

    • 詢問應聘者最近看什麼書,學到了哪些新技術。 面試官問這個瞭解應聘者的學習願望和學習能力
    • 面試官拋出一個新概念,接下來他會觀察應聘者能不能在較短期內理解這個新概念並解決相關問題。
  • 知識遷移能力。

    • 面試官常常會先問一個簡單的問題,再問一個很複雜但和前面的簡單問題相關的問題。 這時候面試官期待應聘者可以從簡單問題中獲得啓示,從而找到解決複雜問題的竅門。
    • 好比面試官先要求寫一個求斐波那契額數列的函數,再問一個青蛙跳臺階的問題。
  • 抽象建模能力。 面試官從平常生活中提煉問題,考察應聘者能不能把問題抽象出來用合理的數據結構表示,並找到規律解決問題。
  • 發散思惟能力。 面試官限制不得使用常規方法,要求應聘者具有創新精神,打開思路多角度分析解決問題。

應聘者提問環節

在結束面試5~10分鐘,面試官會給應聘者機會問幾個問題,應聘者的問題質量對面試結果也有必定的影響。
建議在面試以前作功能,爲每一輪面試準備2~3個問題。

面試官讓應聘者提問,主要是想了解應聘者關心的問題有哪些,所以應聘者至少要問一兩個問題,不然面試官以爲你對咱們公司,職位等都不感興趣。

提問要點:

  • 不要問和本身職位沒有關係的問題。
  • 不要問薪水。 技術面不是談薪水的時候,要談工資等到經過面試以後和HR談。
  • 不要當即打聽面試結果。
  • 推薦問與職位相關或項目相關的問題,若是提問到位,面試官會以爲你對職位頗有興趣。

    • 對應聘的職位或項目背景有必定的瞭解。
    • 對公司的成立時間,主要業務,職位要求等都瞭然於胸
    • 面試過程留意麪試官說過的話,有很多面試官會在面試以前介紹項目,包含其餘渠道沒法獲得的信息,如項目進展等。

在這裏插入圖片描述

相關文章
相關標籤/搜索