- 程序員面試金典(第6版)
- (美)蓋爾·拉克曼·麥克道爾
- 721字
- 2020-01-10 15:33:47
第1章 面試流程
在大多數頂尖科技公司和許多其他公司的面試中,算法和編程問題占最大一部分。這些問題可以歸類為問題解決型題目(problem-solving question)。面試官希望測試你解答未見過的算法題目的能力。
很多時候,你或許只能夠在一場面試中完成一道題。45分鐘并不長,在這樣短的時間內很難解決幾個不同的問題。
整個解題過程中,你應該盡可能地大聲講解你的思考過程。有時面試官或許會中途打斷你,想給你一些提示。沒關系,這十分常見,而且這并不意味著你表現得很糟糕(當然不需要提示則會更好)。
面試結束后,面試官會對你的表現有一個基本的印象。或許,他會為你的表現打一個分數,但是,分值實際上并不代表一個定量的評價。從來沒有一個表格能列出不同的表現應該獲得多少分,面試成績并不是這樣得出的。
其實,面試官一般會根據以下幾個方面對你的表現做出評價。
? 分析能力:你在解決問題的過程中是否需要很多幫助?你的解決方案優化到了什么程度?你用多長時間得出了解決方案?如果不得不設計或者架構一個新的解決方案,你是否能夠很好地組織問題,并且全面考慮不同決策的取舍?
? 編程能力:你是否能夠成功地將算法轉化為合理的代碼?代碼是否整潔且結構清晰?你是否思考過潛在的錯誤?你是否有良好的編程風格?
? 技術知識、計算機科學基礎知識:你是否有扎實的計算機科學以及相關技術的基礎知識?
? 經驗:你在過去是否做出過良好的技術決策?你是否構建過有趣且具有挑戰性的項目?你是否展現出魄力、主動性或者其他的重要品質?
? 文化契合度、溝通能力:你的個人品質和價值觀是否與公司和團隊相契合?你和面試官是否溝通順暢?
這些方面的權重會根據不同的題目、面試官、職位、團隊和公司有所變化。對于一個標準的算法題目,面試的表現基本上完全取決于前三個方面。
推薦閱讀
- 零基礎學Visual C++第3版
- Kibana Essentials
- Practical Internet of Things Security
- Wireshark Network Security
- Koa開發:入門、進階與實戰
- Android 應用案例開發大全(第3版)
- C#程序設計基礎:教程、實驗、習題
- Unity 2D Game Development Cookbook
- Orleans:構建高性能分布式Actor服務
- Elasticsearch Essentials
- 深度探索Go語言:對象模型與runtime的原理特性及應用
- Building Business Websites with Squarespace 7(Second Edition)
- Visual C++開發寶典
- Visual C++程序設計全程指南
- Learning Redux