厲害了!IT行業的面試寶典~

IT程序員的面試和普通面試有著明顯的差別,所以你要知道程序猿面試要讓面試官瞭解什麼訊息。

厲害了!IT行業的面試寶典~

一、面試獲得成功的六個步驟

編程面試的目的,是為了確定你的編程水平有多高。一般來說,你將被要求用編程來完成一個功能或者方法,但有時候,你會需要編輯一個類的定義,或者設計一系列相關的代碼模塊。

在任何一種情況下,你都要有條不紊地解決問題,並遵循以下六個步驟:

1、首先,要確保你理解了面試官的問題。許多問題都是故意措辭模糊或者模稜兩可,這個時候你可以請面試官把問題說清楚,從而確保你真正回答面試官的問題。你的提問同時還有一個好處,就是它能給你自己一些時間,讓你的腦子轉起來。

2、用一到兩個例子來確定問題的限制條件和要求(在現場面試時在白板上完成這個過程,在電話面試時在筆記本上完成)。嘗試用中等規模的例子,以便覆蓋到一些特殊情況。如果你能想到可能相關的表格,就把它畫出來。事實上,把你想到的任何東西都寫下來是會有幫助的,因為它能為你提供一個視覺錨點,從而讓你在走不通時或者思考過程中隨時返回某一個點。

3、把話說清楚,這可能是最重要的一步。要試著讓面試儘可能有更多的互動,面試官不知道你在想什麼,而讓他們參與到你的思考過程裡,會讓她給你一些有用的提示,防止你偏向錯誤的方向。你的目標就是要先和麵試官確證你的答案,然後再去寫代碼,而且你考慮答案越清晰、越高效,你得到的即時反饋也就越好。

4、通過應用以下技巧來找到答案:回想一下你遇到的類似問題,再想想它們是如何被解決的,嘗試各種不同的算法(分治算法、貪心算法、遞歸、排序,等等),把問題分解成更小的、可處理的小問題(這樣你就能得到相應部分的分數),最後再通覽一遍你列出的數據結構,因為有時候,只要想到了正確的數據結構,就能給出正確的答案。

5、當你向面試官問清楚了問題、並向她解釋了你的答案之後,就可以開始寫代碼了。要記住,在共享文檔裡寫代碼的時候,你可以複製粘貼、寫評論,而且能回過頭來完成骨架算法和功能。但在白板上寫代碼就不一樣了,它需要你的頭腦很清醒,而且需要你具備管理白板空間的技能。如果足夠幸運的話,現在當你開始在白板左上角動筆的時候,應該非常明白你要寫些什麼東西,而且你要確保在你寫答案的時候,沒有擋住面試官的視線。花點兒時間把代碼寫得緊湊而美觀一點兒,因為你的代碼也會是面試反饋的一部分。在你寫代碼的時候,要大聲解釋你在寫什麼,這會讓你的面試官更容易地跟上你的思路。

6、最後,用不同的例子和特殊案例驗證一下你的代碼,並且要一行一行地過。這會展示你的思考過程,讓你檢查出小錯誤,並告訴面試官你的辦法是可行的。如果你想得到額外加分的話,甚至可以把單元測試的代碼寫下來!最後再和麵試官聊一下你的答案在空間和時間利用方面的複雜性,然後結束整場面試。

厲害了!IT行業的面試寶典~

二、電話面試中提示出的問題

電話面試值得特別一提,因為這是大多數人失利的地方。之所以會這樣,部分原因在於電話面試是招聘過程中第一道真正的關卡,但也有一部分原因在於,這種形式容易造成溝通的錯誤,而且缺乏可視化線索,所以電話面試是特別嚴酷的。

電話面試有兩大障礙。

第一大障礙是,在電話面試的一開始,雙方都能看到的唯一的東西就是一個空白的共享文檔。這會讓面試者傾向於過度補償非語言溝通的缺失,從而著急忙慌地在屏幕上進行溝通。令人遺憾的是,這麼做很少會有好結果。所以當務之急並不是去關注那個正在盯著你的空白文檔,而是要首先理解和評估問題(也就是完成上述六個步驟中的前四個),同時通過儘可能地沉浸到面試中來彌補現實存在感的缺失(要記住,電話的另一頭是一位可以很容易就被別的事情[比如查看郵件]分心的面試官)。

電話面試的第二大障礙,就是要同時在電腦上打字和在電話上聊天的後勤保障問題。

你不必一隻手敲代碼、一隻手打電話,也不必把電話調到揚聲器模式,我建議你用電腦上的Google Hangouts接面試電話(你得有一個GoogleVoice號碼,而且得在面試前測試一下)。你還可以用耳麥或者耳機來進一步降低不好的接收效果、提高溝通質量。


分享到:


相關文章: