面試官談代碼質量:
- 容錯能力,特別輸入是否考慮,如何處理;考慮例外情況和資源回收;
- 掌味訓礎知識點;能通過和面試官交流、請教,解決問題;
- 考慮邊界情況;
- 正確命名變數和函式名稱;能根據具體的問題,選擇合適的資料結構;
- 關注程式的正確性和魯棒性;關注對于輸入引數的檢查、處理錯誤和例外的方式、命名方式等;能夠在面試官的提醒下,找到程式的缺陷,從而正確解決問題;
代碼規范性:
- 清晰的書寫: 在進行手寫代碼的時候,要注意書寫的格式,規范性,清晰地書寫每一個字母;
- 清晰的布局
- 合理的命名
代碼完整性:
- 功能測驗:把題目中要求的功能想清楚;
- 邊界測驗:考慮問題的規模;是否是大數問題,問題輸入的規模;是否應該用特殊的資料結構來存盤這些資料;
- 負面測驗:考慮錯誤案例;是否存在錯誤輸入,是否需要處理錯誤輸入;當出現錯誤輸入的時候,我們應該如何進行處理等;
- 三種錯誤處理的方法:
- 函式回傳值,告訴呼叫者函式出錯;
- 當錯誤發生時,設定一個全域變數;這種情況下,呼叫者經常會忘記檢查全域變數;
- 例外;try catch 機制;當函式運行出錯的時候,即拋出例外,可以根據不同的出錯原因定義不同的例外型別,不同的語言有不同的例外處理情況;早期的時候的語言可能沒有例外處理機制;
- 在面試的時候,針對錯誤處理情況要和面試官來進行討論;選擇較好的錯誤處理方式來進行解決問題;
- 三種錯誤處理的方法:
代碼魯棒性:
- Robust 健壯性;是指程式能夠判斷輸入是否合乎規范要求,并對不符合要求的輸入予以合理的處理;
- 防御性編程:提前預測錯誤可能發生的情況,并對錯誤進行應對性處理;
保持更新,轉載請注明出處;更多內容請關注cnblogs.com/xuyaowen;
代碼倉庫:https://github.com/yaowenxu/codes/tree/master/劍指Offer;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/24682.html
標籤:其他
上一篇:面試之HTTP協議相關的問題
下一篇:樹---序列化二叉樹
