官术网_书友最值得收藏!

1.1 為什么

這是求職者在開始準備面試時最常見的問題之一。面試流程為什么是這樣的?現實中可能存在以下情況。

(1) 許多出色的候選人在這些面試中表現不佳。

(2) 如果真的遇到這樣的問題,你可以查找答案。

(3) 在現實世界中,你很少會使用諸如二叉搜索樹之類的數據結構。如果你確實需要,肯定可以學習。

(4) 白板編程是模擬的環境。顯然,在現實世界中,你永遠不會在白板上編寫代碼。

這些抱怨并不是沒有依據的。事實上,我至少在一定程度上贊同這些說法。

同時,對于一些職位(并不是所有職位),有理由以這種方式進行面試。你是否同意這樣的邏輯并不重要,但是你最好能夠了解在面試中為什么會問及這些問題,這有助于你理解面試官的想法。

1.1.1 錯過了優秀人才是可以的

雖然令人難過(也令求職者沮喪),但這是真的。

對公司而言,優秀的求職者被拒實際上是可以接受的。公司的目的是組建強大的員工隊伍,因此可以接受錯過優秀求職者這一事實。當然,公司并不希望出現這樣的情況,因為這樣會增加招聘的成本。盡管如此,只要仍然可以擁有足夠多的優秀員工,這是一個可以接受的折中方法。

公司更擔心的是“錯誤肯定”:一些人在面試中表現得很好,但實際上并不是非常優秀。

1.1.2 解決問題的技能很寶貴

你如果能夠獨自或在一些提示下解決幾個難題,那么你很可能擅長于開發最優算法。你是個聰明人。

聰明的人往往能夠出色地完成工作,這對公司來說是很有價值的。當然,這不是唯一重要的事情,但是這是個非常重要的亮點。

1.1.3 基礎數據結構和算法知識很有用

許多面試官認為,計算機科學的基礎知識實際上非常有用。樹、圖、鏈表、排序等經常會在工作當中出現,所以應該掌握這些知識。

你可以根據需要學習這些知識嗎?當然可以。但是,如果你不知道二叉搜索樹的存在,就很難知道何時應該使用它。而如果你知道它的存在,那么也就基本上掌握了它的基礎概念。

另外一些面試官認為,依靠數據結構和算法來判斷求職者的表現是一種很好的“替代”手段。即使這些知識學起來并不是很難,但是他們認為,是否掌握這些技能和能否成為優秀的開發人員有很強的相關性。掌握這些知識往往意味著你已經完成了計算機科學專業的學歷教育(在這個過程中,你已經學到并掌握了相當廣泛的技術知識)或者自學了這些知識。無論哪一種情況,這都是一個好的信號。

數據結構和算法知識出現在面試中的另一個原因是:很難問一個涉及這些知識的問題解決型題目。事實證明,絕大多數問題解決型題目都涉及一些相關的基礎知識。當有足夠多的求職者掌握這些基礎知識時,考查有關數據結構和算法的問題則很容易形成一種模式。

1.1.4 白板讓你專注于重要的事情

要在白板上編寫完美的代碼,確實十分困難。不過面試官并不期望你能夠做到完美。絕大多數人的代碼中會出現一些bug或小的語法錯誤。

白板的好處在于,你可以在某種程度上專注于整體結構。你并沒有編譯器,所以不需要使代碼能夠通過編譯。你也不需要寫出整個類的定義和樣板代碼。你應該專注于代碼中有趣、關鍵的部分,即題目所要求的核心功能。

這并不是說你應該只寫一些偽代碼,也不是說代碼的正確性無關緊要。大多數面試官并不接受偽代碼,而且代碼中的錯誤越少越好。

另外,使用白板會鼓勵求職者多交流、多解釋他們的思考過程。而如果給求職者一臺計算機,則會大大減少與他們的交流。

1.1.5 但這并不適用于每個人、每家公司和每種場合

上述內容旨在幫助你了解公司的想法。

我個人怎么看?在適當的場合,當這樣的面試流程有效時,可以對求職者的問題解決能力進行合理的判斷,因為表現出色的人往往比較聰明。

然而,這樣的面試流程并不總是奏效的。你或許會遇到不稱職的面試官,或者面試官會問及不合適的題目。

另外,這樣的方法也并不適合所有的公司。一些公司會更重視以前的經驗,或者需要求職者具有特定的技術能力。而這些數據結構和算法問題并沒有考慮到這些方面。

這樣的過程也不會衡量求職者的職業道德或者專注力。然而,幾乎沒有任何一種面試流程可以評估這方面的能力。

該面試流程并不是完美的,但是又有什么樣的面試流程是完美的呢?所有的方法都有缺點。

我的結論是:現實既然如此,只需盡力而為,做到最好。

主站蜘蛛池模板: 惠州市| 平昌县| 习水县| 江孜县| 大安市| 元阳县| 玉山县| 大方县| 无锡市| 衡东县| 峨山| 厦门市| 吉隆县| 新田县| 红河县| 深圳市| 华宁县| 酒泉市| 芦山县| 高州市| 祁东县| 兴城市| 海门市| 安塞县| 城市| 昌江| 永平县| 垫江县| 隆化县| 凌源市| 云安县| 巨鹿县| 石阡县| 兰西县| 甘谷县| 文成县| 洛川县| 保靖县| 建瓯市| 高尔夫| 大田县|