- 相關(guān)推薦
微軟面試雜談
(摘自《編程之美微軟技術(shù)面試心得》)
背景
每年從金秋九月起,校園里的廣告欄中、BBS上的招聘信息就逐漸多了起來(lái)。小飛是一名普通高校的應(yīng)屆計(jì)算機(jī)碩士畢業(yè)生,他勤奮好學(xué)、成績(jī)中上,愛(ài)好廣泛。他看到身邊的同學(xué)都在準(zhǔn)備精美的簡(jiǎn)歷,參加各種各樣的招聘會(huì),筆試、面試,他也坐不住了。他在BBS上看了各式各樣的“面經(jīng)”,也擠過(guò)招聘會(huì)上的人潮,他長(zhǎng)嘆:“行路難,行路難,好工作,今安在?”
小飛從網(wǎng)上了解到了有關(guān)招聘的各種術(shù)語(yǔ),他整理了一個(gè)列表:
名詞
解釋
面經(jīng)
面試的經(jīng)歷。
默拒
投了簡(jiǎn)歷,進(jìn)行了面試,但是公司從此再也沒(méi)有消息,詢問(wèn)也不回答。
Offer
公司給學(xué)生發(fā)的入職邀請(qǐng)。
群毆
通常指一群人一起參加面試,一般以多對(duì)多的形式同時(shí)進(jìn)行,最后總是會(huì)有人被不幸淘汰,這一過(guò)程就叫做“群毆”。
聽霸
凡校內(nèi)招聘演講會(huì)都出席旁聽的。
投霸
凡公司招人都投簡(jiǎn)歷的。
筆霸
凡投出簡(jiǎn)歷都能得到筆試機(jī)會(huì)的。
面霸
凡參加筆試都有面試通知的。
巨無(wú)霸
在招聘過(guò)程屢屢被拒、機(jī)會(huì)全無(wú)的,江湖人稱“巨無(wú)霸”!
霸王面
“霸王面”指沒(méi)有獲得面試資格,卻主動(dòng)找用人單位,要求面試的人,源自吃飯不給錢的“霸王餐”,即“沒(méi)機(jī)會(huì)面,創(chuàng)造機(jī)會(huì)也要面”。
小飛獲得了一個(gè)在微軟亞洲研究院實(shí)習(xí)的機(jī)會(huì),在工作中認(rèn)識(shí)了一位有豐富招聘經(jīng)驗(yàn)的研發(fā)經(jīng)理。他對(duì)經(jīng)理進(jìn)行了非正式的采訪,希望能得到第一手的“內(nèi)幕”消息。下面就是小飛整理出來(lái)的問(wèn)答。小飛的問(wèn)題用Q來(lái)標(biāo)注;經(jīng)理的回答用A標(biāo)注。
典型面試
備注:在本文中,應(yīng)聘者(英文為:candidate, interviewee)指應(yīng)聘公司職位的學(xué)生,或其他社會(huì)人士;面試者(英文為:interviewer)指公司里進(jìn)行招聘和面試的人員。
Q:經(jīng)理,您好。我就開門見(jiàn)山,您能否分享一下當(dāng)年您第一次去面試的故事?
A:好,大學(xué)畢業(yè)后,我進(jìn)入了學(xué)校“產(chǎn)業(yè)辦”開的公司。有一天,一家美國(guó)公司(我們姑且叫它H公司)要來(lái)招人,這是我的第一次面試。那個(gè)公司的代表和我寒暄之后,遞給我一道題目,題目大意是“寫一個(gè)函數(shù),返回一個(gè)數(shù)組中所有元素被第一個(gè)元素除的結(jié)果”。我當(dāng)時(shí)還問(wèn)了一些問(wèn)題,以確保理解無(wú)誤,所謂 clarification是也。那位面試者簡(jiǎn)單地解釋了一下,然后就在電腦上敲敲打打,也不理我了。我想這也不難,如何能顯示我的功力呢?于是我就把循環(huán)倒著寫 for (i=n; i>=0; i--),因?yàn)槲耶?dāng)時(shí)看到一本Unix書上是這么寫的。
代碼大概是這樣的:
void DivArray(int * pArray, int size)
{
for (int i = size-1; i >= 0; i--)
{
pArray /= pArray[0];
}
}
寫完之后,他看了看就問(wèn)我,你為什么要這么寫循環(huán)?如果不這么寫可以么?我說(shuō),也可以呀。他問(wèn)了兩遍,如果正著寫循環(huán)會(huì)出現(xiàn)什么問(wèn)題。我想,能有啥問(wèn)題?就把循環(huán)正著寫。噢,原來(lái)陷阱在這里!你知道這個(gè)陷阱是什么嗎?
Q:讓我想一想,知道了,如果循環(huán)從數(shù)組的第一個(gè)元素開始,并且不用其他變量的話,在循環(huán)的第一步,第一個(gè)元素就變成了1,然后再用它去除以其他元素,就不符合題目要求了。
A:對(duì),同時(shí)還有另一個(gè)陷阱看看你是否會(huì)檢查除數(shù)為零的情況,以及對(duì)參數(shù)的檢查,等等。
Q:這不是很簡(jiǎn)單么?一會(huì)兒就寫完了。
A: 面試題大多數(shù)不難,但是通過(guò)觀察應(yīng)聘者寫程序的實(shí)際過(guò)程,面試者可以看出應(yīng)聘者的思維、分析、編程能力。面試者一般還會(huì)有后面幾招留著。比如,如果你要測(cè)試剛才寫的這個(gè)函數(shù),你的測(cè)試用例有多少?或者改變一些條件,能否做得出來(lái)?
Q:很多人說(shuō),面試是一個(gè)不公平的游戲,因?yàn)樾畔⒉粚?duì)稱。比如:面試者知道問(wèn)題的答案,而應(yīng)聘者不知道,面試者知道今年公司要招幾個(gè)人,而應(yīng)聘者不知道。
A:但是,應(yīng)聘者手頭有幾個(gè)Offer,面試者也不知道。應(yīng)聘者是否喜歡公司提供的職位和薪酬,面試者也不知道。一方面,應(yīng)聘者在“求”職,另一方面,面試者也在“求”才。面試也是一個(gè)增進(jìn)雙方互相了解的有效途徑。
既然扯到了“信息不對(duì)稱”,我再講一個(gè)我的故事,當(dāng)年H公司來(lái)我校面試的時(shí)候,我對(duì)H公司的了解僅限于H公司捐贈(zèng)給我們計(jì)算機(jī)系的一個(gè)有些過(guò)時(shí)的小型機(jī)系統(tǒng)。我想,這個(gè)H公司是不是還有一些新東西?那時(shí)候還沒(méi)有互聯(lián)網(wǎng),于是我就托人借了幾本原版的Byte雜志來(lái)看,這是很厚的一本雜志,非常多的廣告,看了半天,夾在雜志中的小廣告掉了一地。我只看到雜志對(duì)H公司新出的一個(gè)桌面管理軟件“NewWave”的評(píng)價(jià),我琢磨了半天,大概搞懂了這是一個(gè)什么東西,市場(chǎng)上還有什么競(jìng)爭(zhēng)對(duì)手,等等。
過(guò)了兩天,面試開始了,對(duì)方端坐在沙發(fā)里問(wèn)“你對(duì)我們H公司有何了解?”我先說(shuō)了H公司的小型機(jī)系統(tǒng),然后說(shuō),“By the way,我還了解了NewWave”。于是我把看到的東西復(fù)述了一下。沒(méi)想到對(duì)方坐直了身子,說(shuō)這個(gè)NewWave就是他曾經(jīng)領(lǐng)導(dǎo)的項(xiàng)目。于是我就根據(jù)雜志上的描述問(wèn),“您怎么看某某競(jìng)爭(zhēng)產(chǎn)品?”他很興奮地跟我談了NewWave 是如何的領(lǐng)先,云云。后來(lái)我們又聊了不少相關(guān)的東西。
最后所有人面試結(jié)束之后,我們的領(lǐng)導(dǎo)說(shuō),美方覺(jué)得我很突出,知道不少東西,包括NewWave,口語(yǔ)也很好。領(lǐng)導(dǎo)就要求我給所有人都介紹一下 NewWave,我只好把看到的東西又復(fù)述了一次。不久,H公司過(guò)來(lái)面試的另一個(gè)經(jīng)理不解地對(duì)我們領(lǐng)導(dǎo)說(shuō),為什么你們這么多人知道NewWave?
前 不久,我在面試的時(shí)候問(wèn)一位同學(xué),“你對(duì)微軟亞洲研究院有什么了解?”他說(shuō),“沒(méi)啥了解,昨天打電話叫我來(lái)面試,我就來(lái)了……”對(duì)于這樣的同學(xué),信息的確是非常不對(duì)稱,那他吃虧也是難免的了。還有一位在面試中發(fā)揮得很不好的同學(xué)跟我說(shuō),他特地沒(méi)有做任何準(zhǔn)備,因?yàn)樗腼@示他的“raw talent”……
Q:關(guān)于Test(測(cè)試)的職位,有沒(méi)有一些典型的題目呢?
A:有哇,典型的題目如給你一支筆,讓你說(shuō)說(shuō)你如何測(cè)試據(jù)說(shuō)要測(cè)試12個(gè)方面;再比如判斷一個(gè)三角形的特性(直角、鈍角、銳角、等腰)據(jù)說(shuō)有20多個(gè)測(cè)試用例,這是要考察大家思考問(wèn)題的全面程度和邏輯分析能力(測(cè)試用例見(jiàn)4.8節(jié)“三角形測(cè)試用例”)。
Q:網(wǎng)上有些非常流行的問(wèn)題,都號(hào)稱是從大公司流傳出去的,是真的么?
A:對(duì),是有一些題目比較常見(jiàn),例如“下水道的井蓋為什么是圓的”,還有一個(gè)問(wèn)題一度非常流行,據(jù)說(shuō)早期面試PM(Program Manager程序經(jīng)理)職位的應(yīng)聘者大多曾碰到這個(gè)題目:
房間里有三盞燈,屋外有三個(gè)開關(guān),分別控制這三盞燈,只有進(jìn)入房間,才能看到哪一個(gè)電燈是亮的。請(qǐng)問(wèn)如何只進(jìn)入房間一次,就能指明哪一個(gè)開關(guān)控制哪一個(gè)燈?
傳說(shuō)在晚上,微軟一些會(huì)議室的燈忽明忽滅,那就是一些還沒(méi)有搞懂的同事們?cè)趯?shí)地鉆研。
Q:我大概了解了Dev/PM/Test 這三種工作的典型面試題,那么這些題目的答案別人都知道了,還怎么面試呢?
A: 對(duì),會(huì)有不少題目流傳出去,這本來(lái)無(wú)妨。但是一些人知道答案之后,就開始背誦,或者原封不動(dòng)地拿它去面試應(yīng)聘者,忘了“知道答案”和“能做一個(gè)好員工”的關(guān)系。大家都知道了答案,就能做一個(gè)好的開發(fā)人員、項(xiàng)目經(jīng)理,或者銷售經(jīng)理么?一個(gè)極端情況會(huì)是:公司里每一個(gè)人都知道哪盞燈是由哪一個(gè)開關(guān)控制的,如何 測(cè)試三角形的類別等,但是這個(gè)公司真能從此開發(fā)出更好的軟件么?
一句話:關(guān)鍵不在于答案,而在于思考問(wèn)題的方法,這也是我們沒(méi)有“題庫(kù)”的原因。
【微軟面試雜談】相關(guān)文章:
招聘、面試雜談07-31
招聘與面試雜談08-12
微軟面試--“車輪戰(zhàn)”07-31
微軟面試題目07-31
微軟面試算法題08-09
微軟面試試題大家談07-31
微軟面試題目及答案08-04
微軟公司面試問(wèn)題——頭腦07-31
微軟公司筆試+面試題08-08