現(xiàn)在很多公司都在面試的時候加重了算法方面的比重,無論前端后端機器學(xué)習(xí)崗位
算法面試成功與否至關(guān)重要的幾個因素
- 公司招多少人
- 應(yīng)聘者人數(shù)
- 應(yīng)聘者有多少經(jīng)驗
- 應(yīng)屆生考察基礎(chǔ)
- 有經(jīng)驗的社招人員,是增加項目經(jīng)驗與系統(tǒng)設(shè)計方面的考察
算法面試誤區(qū)
- 算法思路正確,想出來就能過
- 把顯示代碼寫出來就能過
- 做過的題和簡單的題一定沒問題
造成上面失敗的原因:在于面試官的角度上來講,面試官角度下的求職者,首先看到一點的是,對面坐的是我未來的同事,是每周5天內(nèi)合作的人,在面試官的角度上來說,選的是團隊的一員,團隊也是有團隊性格的,也看你合不合適~~~
- 求職者是未來的同事,一起工作的人
-求職者的思維方式與工作模式是否符合公司價值觀與工作流程 - 求職者的代碼可讀性
-是否在code review中需要浪費大量的時間 - 求職者的編程習(xí)慣
-是否遵守基本的編程原則
-是否有良好的QA意識
面試的關(guān)鍵點
- 代碼風(fēng)格
-變量命名,代碼縮進 - 編碼習(xí)慣
-bug free
-異常檢測,邊界處理
-抽象 - 溝通交流能力
-讓面試官明白你的意圖與想法
-展示你自己的溝通交流能力 - 測試
-給出測試用例
-覆蓋所有情況
算法面試問題解答流程
- 明確問題:與面試官交流明確需要解決的問題//這是最重要的一點,你一定要問清楚他的需求,他想解決什么問題????
- 舉例分析:用一些例子來嘗試解決問題
- 描述大體思路:讓面試官了解你的思維過程
-先給出暴力解法:不要擔(dān)心效率,done is better than perfect
-嘗試優(yōu)化:BUD原則,頭腦風(fēng)暴
-walk through - 代碼實現(xiàn):寫干凈的代碼,注意抽象模塊化
- 給出測試例
- 分析算法復(fù)雜度,回答問題