國外程式設計師是如何準備面試的?

黃利民發表於2010-10-04

【伯樂線上導讀】:面試準備的重要性不用編者多言,大家都很清楚。本文是加拿大的程式設計師 Steve Hanov 所寫。大家可以看看國外程式設計師是怎麼準備面試。不管你是否認同他的說法,《詩經》中有句話非常好——“它山之石,可以攻玉”。如果你還有其他面試準備方法,不妨在評論或微博中和大家一起分享。

一、開門見山

一般來說,你(求職者)在面試中會花很多時間談論以前的經歷。如果你還沒有想出你的最具代表性的經歷/案例,那麼你現在是時候該做了。下面有張問題表,雖然很多問題看似比較低階,但相信我,看完這些問題後,你應當反思自己。即便面試時沒有碰到類似這張列表上的問題,你在面試也可以用上已準備好的答案。

  • 1. 說說你自己吧
  • 2. 你的短期目標是什麼?你2到5年內的目標是什麼?
  • 3. 你的願景/使命是什麼?
  • 4. 你想從這個崗位中學到什麼?
  • 5. 你為什麼認為自己能勝任這個崗位?
  • 6. 除了這個崗位,你還在找哪些崗位?
  • 7. 你有什麼樣的管理或領導經驗?
  • 8. 你有什麼樣的團隊工作經驗?
  • 9. 你最滿意/不滿意的經歷是什麼?
  • 10. 你的強項/弱項是什麼?
  • 11. 你最擅長處理哪一類的問題?
  • 12. 你是如何減壓?如何平衡工作和生活?
  • 13. 如果他人提出的要求有違你的道德準則或商業道德,你怎麼處理?
  • 14. 你上次試圖向他人出售點子有什麼樣的結果?
  • 15. 你為什麼要應聘我們公司?你對我們公司瞭解多少?
  • 16. 你認為加入我們公司有什麼樣的利弊?
  • 17. 你最看重僱主的哪一方面?
  • 18. 你過去遇到的主管有哪些共同點?
  • 19. 如果要在競爭中保持領先,你認為我們公司的員工最需要哪些品質?
  • 20. 你最喜歡/不喜歡什麼課程?為什麼?
  • 21. 你的兼職/暑假/實習經歷中有什麼收穫?
  • 22. 你有什麼樣的深造計劃?
  • 23. 為什麼你的成績這麼低?
  • 24. 你是如何打發空餘時間的?
  • 25. 如果我讓你的朋友們描述你,你覺得他們會怎麼說呢?
  • 26. 什麼事最讓你沮喪?
  • 27. 你上次在工作中遇到惱火的事是什麼時候?結果如何?
  • 28. 你如何提高你的整體效益?
  • 29. 去年你遇到最艱難的決定是什麼?為什麼它很艱難?
  • 30. 你為什麼到現在還沒有找到工作?
  • 31. 你在哪些方面沒有任何經驗?比如:銷售、籌款或者簿記。
  • 32. 我們為什麼要僱用你?

上面這個列表中的問題需要深思和反省才能回答,所以在下一次面試之前很有必要提前想一想。有些問題可以有相同的答案。如果問題答案需要講述一段故事/經歷,你可以按如下方式來做:

  • 1. 20秒描述情況。“程式碼出問題了,整個團隊必須找出原因。”
  • 2. 30秒描述你做了什麼。“我認為是記憶體溢位,我注意到AbstractMemberCreationFactory本應該只有一個例項,但它有很多例項”。
  • 3. 20秒描述結果。“我用一行程式碼解決溢位問題,我們的產品如期上線。後來,我都會先測試確保不會再有類似問題”。

在每次面試前,瀏覽整個列表並大聲練習你的回答。這樣做讓你在面試中更加輕鬆自如,你就比其他應聘者有更多的優勢。比如,當在回答問題時,其他應聘者可能會先看著天花板說“嗯”,然後開始回憶過去5年中發生的一切。而你則可以微笑地看著面試官的眼睛,再陳述你的答案。

二、事先練習最常用的程式設計演算法,以建立自信

鋼琴家在達到下一級水平之前,他們必須先學習一套短曲。這些短曲雖然不曾在聚會上彈奏,但他們要練習特定的部分,比如右手小指和切分音。同理,儘管有些演算法你或許沒有在你的程式碼中用過,但它們經常在程式設計面試中出現。比如:

  • 1. 反轉單連結串列;
  • 2. 反轉字串或反轉段落中的單詞順序;
  • 3. 利用星號輸出畫一個任意大小的圓;
  • 4. 整數轉換為字串,數字型的字串轉換為整數;
  • 5. 寫一個函式,返回任意整數對應二進位制形式中的“1”的個數;
  • 6. 寫一個函式,輸出字串中字元的所有排序。(比如:abc acb bac bca cab cba)

一般來說,可以先不考慮演算法的執行時間,都是先用最簡單有效演算法。然後再儘量減少執行時間。能讓演算法正常跑起來,總比你花大量時間想一步到位要好。(一步到位的想法雖好,但大部分時候都是事倍功半。)

提示:做練習時,別自欺欺人看答案。
我第一次寫“反轉單連結串列”演算法是利用課間時間。我並不急,從執行時間較長的方案到優化的方案,我用了半個小時。在驗證演算法正確無誤後,我非常高興!我知道不看答案我也能解決問題了。(建立自信了!)在面試中,當遇到從未見過的問題時,我以前的經驗給了我信心。

三、練習解決問題能力

有些應聘者認為能解決腦筋急轉彎問題就有良好的程式設計技能。如果你也這麼認為,那你應當培養猜謎這方面的興趣和技巧。你可以去圖書館或在網上找這方面的書。然後,挑一些有趣的問題,先別看解答。如果半個小時之內還想不出答案的,才可以查閱解答。

第四、展現出真正的熱情

另一個技巧就是要把真正的熱情展現出來。作為人,我們應該真誠和熱情與他人共處工作。另一方面,我們也要有看穿虛假笑臉的能力(沒有這種能力,也需要鍛煉出來),所以活出真我很重要。

最優秀的面試官會讓你討論一些你非常熱衷的事情,即使有些些事和你所應聘的崗位沒有直接關係。然而,大多數面試官卻沒有這麼做。雖然如此,你還是應當好好考慮那些你非常感興趣的事,並且要抓住機會來和麵試官討論一番。如果面試官允許的話,一定要在面試過程中的前段時間內完成,如果能在第一時間展現出來更佳。面試開始10分鐘後的效果可能就不怎麼樣了,因為面試官已經給你打分了。

想象一下:你第一天去新崗位工作,轉向新的開發平臺,遇到一些有趣的新朋友,並且瞭解了公司的生活。(總之)在公司中會有很多讓你興奮的事,要不然,你為什麼去應聘呢?

五、睡眠/休息

如果你缺覺的話,“舌尖現象”則會急劇上升,導致你在面試中就不能很好回憶事情。所以,面試前必須有個良好的睡眠。 到底睡多長時間最合適呢?請參考此文《你的睡眠時間和睡眠質量達標了麼?》。

編者注:“舌尖現象”非常普遍,它是因為大腦對記憶內容的暫時性抑制所造成的。這種抑制來自於多方面,比如對有關事物的其他部分特徵的回憶掩蓋了所要回憶的那部分特徵,又比如回憶時的情境因素以及自身情緒因素的干擾等等。而消除了抑制,(如經他人提示、離開回憶困難時的情境、消除緊張情緒等,)舌尖現象往往就會消失。很多人都有過這樣的經歷:一些平時很簡單、很熟悉的字、單詞或公式等話到嘴邊就是無法記起,考試過後卻突然憶起。再比如,遇到一個熟人,就是叫不出名字來。心理學上稱這種特殊現象為記憶的“舌尖現象”,意思是回憶的內容到了舌尖,只差一點,就是無法憶起。

打賞支援我翻譯更多好文章,謝謝!

打賞譯者

打賞支援我翻譯更多好文章,謝謝!

任選一種支付方式

國外程式設計師是如何準備面試的? 國外程式設計師是如何準備面試的?

相關文章