第16部分(第1/4 頁)
R蛭獮過橋最快,所以很快就會得出以下的答案:
第一步:A和B一起過橋,時間是2分鐘
第二步:A帶著手電筒返回,時間是1分鐘
第三步:A和C一起過橋,時間是5分鐘
第四步:A帶著手電筒返回,時間是1分鐘
第五步:A和D一起過橋,時間是10分鐘
總共需要19分鐘
這看起來安排很合理,但答案是錯的。正確的答案是17分鐘。看到這裡不妨請讀者思考一下如何得到這個答案。
其實解題的關鍵是你能否想到另一個更重要的策略,就是:要讓走得最慢的人(C和D)一起過橋。請你根據這一原則再試試看。
以下是正確答案:
第一步:A和B一起過橋,時間是2分鐘
第二步:A帶著手電筒返回,時間是1分鐘
第三步:C和D一起過橋,時間是10分鐘
第四步:B帶著手電筒返回,時間是2分鐘
第五步:A和B一起過橋,時間是2分鐘
總共需要17分鐘
可見這題的關鍵是在於你能否突破那個顯而易見的思維定勢,發現不易發現的更有效的方法,甚至有時還要敢於違背那個明顯的規則。
那好,我們再回到故事的後半段。那個女同事在驚歎佩服之餘,又突然想
要再找位高手試一試。於是想到了她的男朋友。她男朋友是德州大學物理系博士畢業,當時在奧斯丁的摩托羅拉分部作晶片設計工作。女同事當即拿起電話把題目告訴了她的男朋友。結果還不到兩分鐘她男朋友就打回電話,說已解除答案,時間是19分鐘。當場我們都笑了,告訴他答案不對,應該時間更短,讓他再想一想。掛上電話後又過了10多分鐘,她男朋友的電話又響了。這一次我們以為他做出了正確答案,沒想到他不僅沒有做出正確答案,反而振振有詞地說,19分鐘是絕對的最短時間,他已用數學方法理論上證明了這一結論!我們聽了一愣,然後是狂笑不止。
不同分工不同側重的面試
可想而知,在微軟,即使是同樣級別的技術工程師,不同職位的面試會有不同的要求和側重點。以下我們以專案經理、測試人員和開發人員為例加以說明。
專案經理的面試
在微軟的產品小組裡,往往有三個角色。除了大家熟悉的開發工程師和測試工程師外,還有一個有“微軟特色”的角色,叫做專案經理(PM,ProgramManager)。不少讀者可能對PM不是很熟悉,或者有一定誤解。也許是因為PM本身是一個很不公平的稱謂,因為他們既不寫程式(program),又不管理(manage)人員,卻被稱為ProgramManager。一個有趣的說法是:PM的職責是做軟體開發中除了寫程式和測試之外的所有事情。雖然有些言過其實,不過,確有一些道理。一個PM在不同的產品階段,責任是不同的。比如,在一個產品開發迴圈還未開始時,PM的任務是做客戶需求分析,然後設計出該版本的藍圖;當產品開發迴圈開始了以後,PM的工作是把想法以及要求清清楚楚地寫下來,交給開發工程師去完成;在產品開發迴圈中間,PM要不停地與開發和測試人員交流,隨時對計劃進行修改,以確保按時完成。在產品開發迴圈接近尾聲時,PM又開始參與下一個版本的設計。
由於PM相對工程師而言,人數比較少,PM面試的經歷也往往被較少提起。而且,PM面試的題目,也往往與工程師面試的題目大相徑庭。希望我的一些PM面試的經歷,能夠對大家有所啟發。
PM的問題一般分為兩類,一類是設計問題,一類是情景問題。下面我就根據自己的經驗,對上述兩個問題簡單地分析一下。
設計問題一般範圍比較廣,很多時候格式是“請你為XXX設計一個XXX”。比如說,請為盲人設計一個微波爐,請為老人設計一臺電冰箱,請為小朋友設計一部手機,等等。這些問題主要考察應聘者的需要分析,創造設計能力以及優先順序安排的能力。這類題目看似簡單,每個人都能上來說兩句,不過面試官卻有自己的一套標準判斷答案的好壞。不過什麼樣的想法是好的呢?這個問題就比較難回答了。還是用我經歷過的一個例子來講講吧。有一次面試,我記得被問到“如果你要針對老年人,設計下一代的電冰箱,有哪些新的功能需要設計”。看到這個題目,我想不少讀者都會覺得挺簡單的吧,不少人肯定