超詳細(xì)——好工作終極面試寶典
每年從金秋九月起,校園里的廣告欄中、BBS上的招聘信息就逐漸多了起來。小飛是一名普通高校的應(yīng)屆計(jì)算機(jī)專業(yè)碩士畢業(yè)生,他勤奮好學(xué),成績(jī)中上,愛好廣泛。看到身邊的同學(xué)都在準(zhǔn)備精美的簡(jiǎn)歷,參加各種各樣的招聘會(huì),筆試、面試,他也坐不住了。他在BBS上看了各式各樣的“面經(jīng)”,也擠過招聘會(huì)上的人潮,長嘆:“行路難,行路難,好工作,今安在?”
小飛從網(wǎng)上了解到了有關(guān)招聘的各種術(shù)語,他整理了一個(gè)列表:
小飛獲得了一個(gè)在微軟亞洲研究院實(shí)習(xí)的機(jī)會(huì),在工作中認(rèn)識(shí)了一位有豐富招聘經(jīng)驗(yàn)的研發(fā)經(jīng)理。他對(duì)經(jīng)理進(jìn)行了非正式的采訪,希望能得到***手的“內(nèi)幕”消息。下面就是小飛整理出來的問答。小飛的問題用Q來標(biāo)注,經(jīng)理的回答用A標(biāo)注。
#p#
典型面試
備注:在本文中,應(yīng)聘者(英文為:candidate, interviewee)指應(yīng)聘公司職位的學(xué)生或其他社會(huì)人士;面試者(英文為:interviewer)指公司里進(jìn)行招聘和面試的人員。
Q: 經(jīng)理,您好。我就開門見山,能否分享一下當(dāng)年您***次去面試的故事?
A: 好,大學(xué)畢業(yè)后,我進(jìn)入了學(xué)校“產(chǎn)業(yè)辦”開的公司。有一天,一家美國公司(我們姑且叫它H公司)來招人,這是我的***次面試。那個(gè)公司的代表和我寒暄之后,遞給我一道題目,題目大意是“寫一個(gè)函數(shù),返回一個(gè)數(shù)組中所有元素被***個(gè)元素除的結(jié)果”。我當(dāng)時(shí)還問了一些問題,以確保理解無誤,所謂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[i] /= pArray[0];
}
}
寫完之后,他看了看就問我,你為什么要這么寫循環(huán)?如果不這么寫可以么?我說,也可以呀。他問了兩遍,如果正著寫循環(huán)會(huì)出現(xiàn)什么問題。我想,能有啥問題?就把循環(huán)正著寫。噢,原來陷阱在這里!你知道這個(gè)陷阱是什么嗎?
Q: 讓我想一想,知道了,如果循環(huán)從數(shù)組的***個(gè)元素開始,并且不用其他變量的話,在循環(huán)的***步,***個(gè)元素就變成了1,然后再用它去除以其他元素,就不符合題目要求了。
A: 對(duì),同時(shí)還有另一個(gè)陷阱——看看你是否會(huì)檢查除數(shù)為零的情況,以及對(duì)參數(shù)的檢查,等等。
Q: 這不是很簡(jiǎn)單么?一會(huì)兒就寫完了。
A: 面試題大多數(shù)不難,但是通過觀察應(yīng)聘者寫程序的實(shí)際過程,面試者可以看出應(yīng)聘者的思維、分析、編程能力。面試者一般還會(huì)有后面幾招留著。比如,如果你要測(cè)試剛才寫的這個(gè)函數(shù),你的測(cè)試用例有多少?或者改變一些條件,能否做得出來?
Q: 很多人說,面試是一個(gè)不公平的游戲,因?yàn)樾畔⒉粚?duì)稱。比如:面試者知道問題的答案,而應(yīng)聘者不知道,面試者知道今年公司要招幾個(gè)人,而應(yīng)聘者不知道。
A: 但是,應(yīng)聘者手頭有幾個(gè)Offer,面試者也不知道。應(yīng)聘者是否喜歡公司提供的職位和薪酬,面試者也不知道。一方面,應(yīng)聘者在“求”職,另一方面,面試者也在“求”才。面試也是一個(gè)增進(jìn)雙方互相了解的有效途徑。
既然扯到了“信息不對(duì)稱”,我再講一個(gè)我的故事,當(dāng)年H公司來我校面試的時(shí)候,我對(duì)H公司的了解僅限于H公司捐贈(zèng)給我們計(jì)算機(jī)系的一個(gè)有些過時(shí)的小型機(jī)系統(tǒng)。我想,這個(gè)H公司是不是還有一些新東西?那時(shí)候還沒有互聯(lián)網(wǎng),于是我就托人借了幾本原版的Byte雜志來看,那是很厚的一本雜志,非常多的廣告,看了半天,夾在雜志中的小廣告掉了一地。我只看到雜志對(duì)H公司新出的一個(gè)桌面管理軟件“NewWave”的評(píng)價(jià),我琢磨了半天,大概搞懂了這是一個(gè)什么東西,市場(chǎng)上還有什么競(jìng)爭(zhēng)對(duì)手,等等。
過了兩天,面試開始了,對(duì)方端坐在沙發(fā)里問“你對(duì)我們H公司有何了解?”我先說了H公司的小型機(jī)系統(tǒng),然后說,“By the way,我還了解了NewWave”。于是我把看到的東西復(fù)述了一下。沒想到對(duì)方坐直了身子,說這個(gè)NewWave就是他曾經(jīng)領(lǐng)導(dǎo)的項(xiàng)目。于是我就根據(jù)雜志上的描述問,“您怎么看某某競(jìng)爭(zhēng)產(chǎn)品?”他很興奮地跟我談了NewWave 是如何的領(lǐng)先,等等。后來我們又聊了不少相關(guān)的東西。
***所有人面試結(jié)束之后,我們的領(lǐng)導(dǎo)說,美方覺得我很突出,知道不少東西,包括NewWave,口語也很好。領(lǐng)導(dǎo)就要求我給所有人都介紹一下NewWave,我只好把看到的東西又復(fù)述了一次。不久,H公司過來面試的另一個(gè)經(jīng)理不解地對(duì)我們領(lǐng)導(dǎo)說:“為什么你們這么多人知道NewWave?”
前不久,我在面試的時(shí)候問一位同學(xué),“你對(duì)微軟亞洲研究院有什么了解?”他說,“沒啥了解,昨天打電話叫我來面試,我就來了……”對(duì)于這樣的同學(xué),信息的確是非常不對(duì)稱,那他吃虧也是難免的了。還有一位在面試中發(fā)揮得很不好的同學(xué)跟我說,他特地沒有做任何準(zhǔn)備,因?yàn)樗腼@示他的“raw talent”……
Q: 關(guān)于Test(測(cè)試)的職位,有沒有一些典型的題目呢?
A: 有哇,典型的題目如給你一支筆,讓你說說你如何測(cè)試——據(jù)說要測(cè)試12個(gè)方面;再比如判斷一個(gè)三角形的特性(直角、鈍角、銳角、等腰)——據(jù)說有20多個(gè)測(cè)試用例,這是要考察大家思考問題的全面程度和邏輯分析能力(測(cè)試用例見4.8節(jié)“三角形測(cè)試用例”)。
Q: 網(wǎng)上有些非常流行的問題,都號(hào)稱是從大公司流傳出去的,是真的么?
A: 對(duì),是有一些題目比較常見,例如“下水道的井蓋為什么是圓的”,還有一個(gè)問題一度非常流行,據(jù)說早期應(yīng)聘PM(Program Manager程序經(jīng)理)職位的應(yīng)聘者大多曾碰到這個(gè)題目:
房間里有三盞燈,屋外有三個(gè)開關(guān),分別控制這三盞燈,只有進(jìn)入房間,才能看到哪一個(gè)電燈是亮的。請(qǐng)問如何只進(jìn)入房間一次,就能指明哪一個(gè)開關(guān)控制哪一個(gè)燈?
傳說在晚上,微軟一些會(huì)議室的燈忽明忽滅,那就是一些還沒有搞懂的同事們?cè)趯?shí)地鉆研。
Q: 我大概了解了Dev/PM/Test 這三種工作的典型面試題,那么這些題目的答案別人都知道了,還怎么面試呢?
A: 對(duì),會(huì)有不少題目流傳出去,這本來無妨。但是一些人知道答案之后,就開始背誦,或者原封不動(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)鍵不在于答案,而在于思考問題的方法,這也是我們沒有“題庫”的原因。
研發(fā)職位的選擇
Q: 微軟及很多其他軟件公司都有不少研發(fā)職位,名稱不盡相同,而且還是縮寫,能不能講解一下?
A: 不少同學(xué)對(duì)微軟公司的各種研發(fā)職位(Discipline)并不太了解,我們?cè)诿嬖囘M(jìn)行到一半的時(shí)候,經(jīng)常發(fā)現(xiàn)一個(gè)應(yīng)聘者其實(shí)更適合做其他類型的工作。當(dāng)然這時(shí)我們可以調(diào)換面試的方向,但是對(duì)應(yīng)聘者來說總不是一件好事。我剛好在BBS上看到了一篇文章,這篇文章從個(gè)人的角度出發(fā),非正式地講了R&D各個(gè)方向的特點(diǎn),雖然并非完全正確,介紹也不一定全面,但是我們不妨看看。
aR:Assistant Researcher,助理研究員,也可以叫研究員助理,主要在“R&D”的“R”這一端,工作是讀論文,提想法,被否決后再提想法(如此反復(fù)N次),趕在截止時(shí)間之前提交論文。aR的想法得到初步驗(yàn)證之后,還要跟其他部門推銷自己的想法,爭(zhēng)取把想法變成產(chǎn)品。aR的樂趣是能在一個(gè)領(lǐng)域中深入研究,發(fā)表論文,申請(qǐng)專利,每個(gè)專利申請(qǐng)(無論是否批準(zhǔn))都能讓自己得一塊黑色立方體石頭(如圖1所示)。好多人的桌面上堆了不少石頭,好像他們沒什么苦惱。aR有時(shí)做的事情和RSDE差不多。aR以后會(huì)成長為Associate Researcher(副研究員)、Researcher(研究員)、高級(jí)研究員,等等。總之,***就成了大家小時(shí)候特別夢(mèng)想做的“科學(xué)家”。
圖1 申請(qǐng)專利得到的石頭
Dev:正式的名稱叫SDE(Software Development Engineer),這個(gè)職位和aR相對(duì),是在“R&D”的“D”這一端。他們?cè)谝粋€(gè)產(chǎn)品團(tuán)隊(duì)中,按照嚴(yán)格的流程開發(fā)產(chǎn)品。MS的一個(gè)產(chǎn)品發(fā)布之后,所有成員會(huì)得到一小塊鐵皮(學(xué)名叫“Ship-it Award”,如圖2所示),上面寫著產(chǎn)品的名字和發(fā)布日期。資深的Dev會(huì)收集到不少,他們會(huì)認(rèn)真地把這些小鐵皮整齊地貼起來,擺在辦公桌***的位置上。Dev的樂不少,這里就不列舉了。但是苦也有不少,比如產(chǎn)品的周期有時(shí)非常長,過程定義得非常完備(有時(shí)不免覺得太完備了);比如要維護(hù)老版本;比如要用比較成熟的技術(shù),而不是用最時(shí)髦的東西來開發(fā)產(chǎn)品。另外,Dev要負(fù)責(zé)一個(gè)或幾個(gè)模塊,這些模塊不一定和最終用戶打交道,未必是整個(gè)產(chǎn)品的核心模塊。做一個(gè)好的Dev要生活在代碼中,對(duì)代碼和平臺(tái)的各種細(xì)節(jié)要非常熟悉,掌握非常底層的技術(shù),有些人以此為樂,有些人則未必。Dev的職業(yè)發(fā)展道路很多,如果只想鉆研技術(shù),不樂意做很多管理工作,Dev可以成為非常高級(jí)的工程師,直到杰出工程師(Distinguished Engineer)。當(dāng)然,Dev也可以成長為開發(fā)主管(Dev Lead)、開發(fā)總經(jīng)理(Dev Manager),等等。
圖2 Dev得到的小鐵片Ship-it
Test:正式名稱是Software Development Engineer in Test(SDET),簡(jiǎn)稱為Test或SDET(讀作S-DET)。這個(gè)職位看似沒有Dev和aR酷,但是很有前途,首先中國的同學(xué)由于種種原因(不了解,看不起,做不來)不太愿意做這種工作,因此,公司找人非常急迫,相對(duì)容易進(jìn)入。這一職位所謂的苦(也反映了一些人的偏見和誤解)從傳統(tǒng)意義上說,SDET得等著上家(PM/Dev)給你東西,你才能“測(cè)試”。然而,現(xiàn)代軟件工程要求TEST 從項(xiàng)目一開始就積極參與項(xiàng)目的規(guī)劃,了解客戶需求,制定測(cè)試計(jì)劃,設(shè)計(jì)測(cè)試架構(gòu),實(shí)現(xiàn)測(cè)試自動(dòng)化,等等。事實(shí)上這些都是開發(fā)的工作,所以他們叫 SDE in Test。而且SDET 能更深入地了解產(chǎn)品的各個(gè)模塊是如何合作,如何在實(shí)際情況下被用戶使用的。從代碼之外理解程序,這是測(cè)試之樂。那種“產(chǎn)品發(fā)布前一個(gè)星期讓測(cè)試人員來測(cè)一下”的情況在微軟是不會(huì)發(fā)生的。那些只會(huì)用鼠標(biāo)點(diǎn)擊測(cè)試,然后報(bào)告bug的人員叫Software Test Engineer(STE),這樣的事一般會(huì)外包給別的公司。用足球比賽作比喻,Test就是***一道防線,如果你沒有防守好bug,bug就會(huì)跑到顧客那里去,因此Test工作非常重要。Test的職業(yè)發(fā)展和Dev類似,一直到有專門管Test工作的副總裁(VP)。
PM:這恐怕是外界誤解最多的行當(dāng),簡(jiǎn)而言之,Program Manager(程序經(jīng)理)做的是開發(fā)和測(cè)試之外的所有事情。有些同學(xué)會(huì)問 “我寫程序都不用測(cè)試,那么除了開發(fā)和測(cè)試之外還有什么事兒?”在公司里開發(fā)商業(yè)軟件可沒有那么簡(jiǎn)單,比如有10個(gè)Dev和5個(gè)Test 要在一起開發(fā)下一個(gè)版本的MSN Messenger,那我們到底要做多長時(shí)間才能完成?什么事情先做,什么事情后做?項(xiàng)目進(jìn)行到一半的時(shí)候,領(lǐng)導(dǎo)說我們改名叫Live Messenger吧,那這一改名意味著什么?如何調(diào)整進(jìn)度?***還剩下兩個(gè)月的時(shí)候,看起來我們的確完不成全部任務(wù),那要怎么辦?你又不是Dev和Test的老板,他們憑什么聽你的呢?這也是PM的苦。PM的樂看起來在于,他們可以全盤掌控一個(gè)產(chǎn)品,廣泛了解一個(gè)行業(yè),和用戶打交道,代表團(tuán)隊(duì)出席各種會(huì)議,在公司內(nèi)部的曝光度也比較高。Dev/Test/PM在產(chǎn)品開發(fā)中各負(fù)其責(zé),互相協(xié)助,為共同的目標(biāo)努力。產(chǎn)品成功發(fā)布之后,他們都會(huì)得到Ship-it 小鐵片兒。
RSDE:好了,我們***看看RSDE(Research SDE),這是微軟亞洲研究院一個(gè)比較特殊的隊(duì)伍。RSDE的樂趣在于可以接觸到各種***的研究成果,并用它來解決挑戰(zhàn)性的問題。RSDE的苦在于項(xiàng)目都是V0.1版,而且做得成功的項(xiàng)目大多數(shù)會(huì)轉(zhuǎn)化(Transfer)到產(chǎn)品組中,由別人推向市場(chǎng)。RSDE在和研究部門合作的時(shí)候,就要負(fù)起aR和PM(甚至Test)的責(zé)任。剛開始,RSDE既沒有R的黑石頭,又沒有D的Ship-it小鐵片。RSDE參與的項(xiàng)目有比較大的風(fēng)險(xiǎn),經(jīng)常會(huì)不如預(yù)期,或者會(huì)失敗(這也是科學(xué)研究的特點(diǎn))。項(xiàng)目失敗后,RSDE掩埋了項(xiàng)目的尸體,擦干自己的血跡,又得找新的領(lǐng)域和新的項(xiàng)目。RSDE 還有“創(chuàng)新”的任務(wù),這個(gè)詞人人都會(huì)說,但是要做出來就不是那么容易了,全世界有這么多人在琢磨計(jì)算機(jī),你能在什么地方做得比其他任何人都更進(jìn)一步呢?這也是RSDE 的樂趣吧。有些同學(xué)能力很強(qiáng),興趣廣泛,但是一時(shí)也拿不準(zhǔn)自己要深入研究哪一個(gè)領(lǐng)域,這時(shí)不妨來做RSDE。做得好的RSDE,他們的工作成果推進(jìn)了研究,又走向了市場(chǎng),這樣就既可以拿到黑石頭,又可以拿到Ship-it小鐵片兒。我個(gè)人認(rèn)為能有機(jī)會(huì)做 RSDE 是很令人自豪的事情,相當(dāng)于參軍當(dāng)上了特種兵,很好,很強(qiáng)大。
Q: 看起來真是眼花繚亂……
A: 總之,每類職位都很重要,都有存在的理由,都有不錯(cuò)的發(fā)展前景,都有自己的苦和樂。微軟很大,微軟中國研發(fā)集團(tuán)(CRD)內(nèi)部有很多不同的機(jī)構(gòu)和部門,這也意味著有許多機(jī)會(huì),讓有能力的同學(xué)嘗試aR、Dev、Test、RSDE、PM的職位。
求職攻略之筆試答疑
微軟中國每年都會(huì)舉行幾次技術(shù)筆試,2006年的筆試結(jié)束后,主持筆試的經(jīng)理回答了學(xué)生提出的很多問題,小飛把這些問答整理如下(下文的“我們”指的是策劃并批改試卷的技術(shù)人員)。
Q: 筆試的難度是不是有些太難了?
A: 從分?jǐn)?shù)看,參加筆試的同學(xué)普遍得分較低,這說明不少同學(xué)大大低估了試題的難度,或者說低估了我們對(duì)答案的期望。一言以蔽之,我們希望看到接近“職業(yè)”水平的答案。
Q: 為什么有些人筆試得了負(fù)分呢?
A: 這是因?yàn)槲覀儗?duì)選擇題采用了“不做得零分,做錯(cuò)倒扣分”的判卷策略。公司的大部分同事們認(rèn)為倒扣分是比較有效的甄別方法。而且我們盡量避免非常偏僻的知識(shí)點(diǎn)和有爭(zhēng)議的答案。
Q: 你們是不是只選取了其中一些卷子判分?
A: 我們對(duì)大多數(shù)的卷子全部判分,每個(gè)部門都會(huì)抽調(diào)不少工程師加班判卷,同學(xué)們寫的每一行文字都會(huì)被看到,對(duì)于一些很難讀通的程序,我們還會(huì)一起分析,不會(huì)因?yàn)橐谎劭床欢徒o個(gè)0分。對(duì)于單項(xiàng)題答得非常好的同學(xué),我們會(huì)特別標(biāo)記。像這樣的無絕對(duì)標(biāo)準(zhǔn)答案的試卷,判卷是相當(dāng)累人的活兒。至于是否全部判分,會(huì)不會(huì)把所有分?jǐn)?shù)都全部告知考生,這由各個(gè)部門決定。
Q: 筆試題目全是英語,這究竟是考英語還是考技術(shù)?為什么不用中文出題呢?
A: 微軟公司的工作語言是英語,公司在中國的各個(gè)部門(研究院,工程院等)都是如此。我們注意在考卷中不用很生僻的詞匯,以免影響同學(xué)們的發(fā)揮。在有些題目中,我們還增加了一些注釋,并且有一些小題目注明可以用中文回答。有些考生英語寫得不錯(cuò),起承轉(zhuǎn)合,很像GRE/TOEFL的作文,可惜只有結(jié)構(gòu),實(shí)質(zhì)內(nèi)容不多,得分也不多。
Q: 筆試的題量為什么這么大?很多人根本沒有足夠的時(shí)間做完!
A: 每次開發(fā)新的軟件,我們的時(shí)間也不夠,這就是做軟件項(xiàng)目的特點(diǎn)。 我們看到很多同學(xué)有些大題一個(gè)字也沒有寫,感到很可惜。其實(shí),如果時(shí)間安排得當(dāng),至少應(yīng)該每一道題試著回答一些基本問題。我們的很多監(jiān)考人員也會(huì)提示大家注意時(shí)間分配。況且,如何在有壓力的情況下最有效地分配時(shí)間,這也是一個(gè)人非常重要的能力。
Q: 我覺得我回答得不錯(cuò),每道題目都差不多做出來了,為什么分?jǐn)?shù)很低?
A: 有必要解釋一下,我們的評(píng)分標(biāo)準(zhǔn)可能和學(xué)校里不一樣。比如說有一道程序改錯(cuò)題,正確的解法要糾正5個(gè)錯(cuò)誤。我們的評(píng)分標(biāo)準(zhǔn)是:
如果5個(gè)錯(cuò)誤全部改正,滿分。
如果找到4個(gè)錯(cuò)誤,只能得一半分。
如果只找到3個(gè)錯(cuò)誤,得1/3分。
如果只找到2個(gè)錯(cuò)誤,得1/4分。
我們的評(píng)分標(biāo)準(zhǔn)要拉開“滿分”和其他“差不多”的答案的距離。如果你每一道題目都“差不多”,那你的總分將是全部分?jǐn)?shù)的一半以下。
Q: 我會(huì)C#、VB.NET,為什么微軟的筆試偏偏要求用C語言答題?
A: 對(duì)于微軟的工程師來說,C語言是基本功。
Q: 為什么我投一個(gè)技術(shù)支持的職位也要用這么難的題來折磨我?
A: 因?yàn)橥锻粋€(gè)位置的人太多了。大家的簡(jiǎn)歷都很優(yōu)秀,所以只好用筆試來進(jìn)行一次篩選。
Q: 考題包羅萬象,甚至包括我不熟悉的知識(shí)領(lǐng)域,難道微軟需要的是“全才”嗎?
A: 我們的考試是想考察在實(shí)戰(zhàn)中的基本知識(shí)和基本技能。考試不是***的,筆試總分很高的同學(xué),也有在面試中表現(xiàn)得很不如人意的。如果有人在某些題目中有優(yōu)異的表現(xiàn),即使總分不高,我們也會(huì)考慮的。
Q: 我申請(qǐng)的職位比較特別,自己的專長沒有能夠顯露,通過這樣的一個(gè)考試不能真實(shí)反映出個(gè)人特點(diǎn),有什么辦法呢?
A: 這一點(diǎn)我們同意,我們考試的主要目的是把所有考生中的優(yōu)秀學(xué)生選出,并安排他們進(jìn)入下一輪。至于在某一方面有專長的同學(xué),他們應(yīng)該直接和有關(guān)部門聯(lián)系,或者我們的有關(guān)部門應(yīng)該直接聯(lián)系這些同學(xué),例如在某些研究領(lǐng)域發(fā)表過高水平文章的同學(xué)。
Q: 筆試通不通過是不是還有些運(yùn)氣成分在里面?
A: 當(dāng)然有,大家也都知道,一次筆試不能夠反映一個(gè)人完全的、真實(shí)的水平。同學(xué)們寒窗十多年,經(jīng)歷了無數(shù)閉卷考試,作為一個(gè)過來人,我覺得職業(yè)生涯和人生不是一次兩小時(shí)的閉卷考試能決定的,希望這樣的筆試是大家人生中倒數(shù)第幾次的閉卷考試之一。人生是更加開闊、充滿更多變數(shù)的開卷考試。不管是開卷、閉卷,都是一分耕耘,一分收獲。
#p#
求職攻略之決勝面試
經(jīng)歷了筆試、電話面試之后,許多同學(xué)接到了微軟公司的邀請(qǐng)——來公司進(jìn)行面對(duì)面的考察。
Q: 既然微軟這么重視實(shí)際的能力,每一個(gè)人都會(huì)經(jīng)過幾輪面試的考察,在學(xué)校時(shí)的學(xué)習(xí)成績(jī)是否就不重要了?
A: 也不一定。同樣,關(guān)鍵不是在于靜態(tài)的成績(jī),而是通過成績(jī)了解成績(jī)?nèi)〉玫倪^程,了解一個(gè)人的特質(zhì)。曾經(jīng)有一個(gè)面試者詳細(xì)詢問了一個(gè)應(yīng)聘者在學(xué)校里的各種表現(xiàn),***在面試報(bào)告中寫道:“我詳細(xì)詢問了她從中學(xué)到大學(xué)、研究生的情況,她在學(xué)校里沒有一科的成績(jī)是非常拔尖的,也沒有太壞的成績(jī)。她從來沒有做過出格的事情,如逃課、自己寫一些程序、打工等。我在她身上看不到對(duì)卓越的追求,也沒有看到她有實(shí)現(xiàn)自身價(jià)值的想法……所以我認(rèn)為本公司不應(yīng)該雇用她。”
Q: 雖然我沒什么想法,但我覺得微軟太有名了,我也不用多想了,我就是要進(jìn)這樣的公司,你叫我干什么都可以!
A: 我們恰恰不太需要沒什么想法的人,這也許和企業(yè)文化有一些關(guān)系。在中國一些企業(yè)的文化中,往往是領(lǐng)導(dǎo)安排你做什么,你就做什么。在微軟,我們認(rèn)為每個(gè)人都是獨(dú)立的個(gè)體,我們希望雇員能夠“在其位,謀其事”,同時(shí)能考慮到自己三五年后的發(fā)展,并且能自己制定計(jì)劃去實(shí)現(xiàn)事業(yè)目標(biāo),這是公司的文化。
Q: 面試的時(shí)候要穿什么衣服?
A: 在沒有特別規(guī)定的情況下,穿你覺得舒服的衣服就行。我們看到不少應(yīng)聘者穿著明顯不舒服的西裝來面試,這樣不會(huì)給自己加分,當(dāng)然也不會(huì)減分。但是自己太不舒服,會(huì)影響發(fā)揮。
Q: 不舒服沒關(guān)系,只要你們公司覺得舒服,我就舒服。
A: 我們剛剛說過,微軟更看重的是“你”是否覺得舒服,“你”要做什么,以及“你”有什么創(chuàng)意。
Q: 有沒有在面試中作弊的呢?
A: 說起來,還真有。有一天,我在微軟外面的一個(gè)中餐館吃晚飯,這個(gè)餐館很小,大家坐得比較擠,我不得不聽到鄰座的高談闊論。原來是一個(gè)剛剛在微軟面試過的學(xué)生在和幾個(gè)同學(xué)聚餐,他很興奮地談著當(dāng)天面試的經(jīng)歷——
“他問了那個(gè)在鏈表中找回路的問題了么?”
“問了,我假裝思考了一下,稍稍試了試別的解法,然后就把你說的那個(gè)解法講了出來……”
對(duì)于這種人,我們內(nèi)部叫“Poser”——擺姿勢(shì)的人。如果你在面試時(shí)恰好被問到了一道知道答案的題目,你可以向面試者提出來。擺姿勢(shì)的話,萬一被戳破,會(huì)比較難堪。既然你已經(jīng)花了時(shí)間了解解法,不妨和面試者深入地探討一下。
Q: 大家發(fā)表在BBS上的面經(jīng),公司看不看?
A: 公司的一些員工也在看,有一次,HR 在某BBS 上看到一篇很詳細(xì)的面經(jīng),文筆生動(dòng),此文章從他看到HR JJ的那一刻寫起,直到做了什么題目、怎么做的、說了什么話、***如何走出了公司大門他都做了詳細(xì)記錄。從描述上看,我們很容易就能推斷出這是哪一位應(yīng)聘者。他似乎發(fā)揮得很不錯(cuò),可惜他忘了在開始面試的時(shí)候,HR JJ給他講的,他也簽了自己大名的保密協(xié)定。對(duì)于這樣的同學(xué),我們只能遺憾地放棄了。
Q: 整個(gè)面試過程中我覺得自己答得很不錯(cuò)了,面試者指出的問題我大部分都能回答出來,為什么我還是沒有通過?
A:一個(gè)原因是有比你更厲害的應(yīng)聘者,另一個(gè)大家容易忽略的原因是,應(yīng)聘者和面試者對(duì)于“不錯(cuò)”的定義是不一樣的(參見對(duì)筆試問題的回答)。
對(duì)于在校學(xué)生,覺得自己寫的程序,涂涂改改,大概邏輯能通過就行了,面試者指出的問題能答出來一些就行了。但是對(duì)于將來的公司員工,我們要考察:程序設(shè)計(jì)的思路如何?編程風(fēng)格如何?細(xì)節(jié)是否考慮到?程序是否有內(nèi)存泄露?是否采用了***算法?是否能對(duì)程序進(jìn)行修改以滿足不斷變化的需求?是否能舉一反三?
另外,除了專業(yè)技巧,我們?cè)诿嬖囍羞€會(huì)考察應(yīng)聘者的職業(yè)技巧(professional skills, 也有人稱為 soft skills)。 這個(gè)人的交流能力、合作能力如何,對(duì)自己的評(píng)價(jià)和期望是什么?在有壓力的情況下,能否發(fā)揮水平?是否追求卓越?這些“非技術(shù)”的因素相當(dāng)重要。
Q: 很多有名的企業(yè)面試只要求談?wù)劸涂梢粤耍瑸槭裁次④浺欢ㄒ獙懘a?
A: 我們的絕大部分工作,都是通過代碼而來,很大一部分的問題,也是由代碼所導(dǎo)致的。所以我們不能不重視寫代碼這件事。當(dāng)然有很多其他工作不需要寫代碼,但這不在我們的討論范圍內(nèi)。
有一次我在過道上碰到一個(gè)同事陪著一個(gè)應(yīng)聘者走出大樓,這位應(yīng)聘者邊走邊侃侃而談。后來我問這位同事詳情。他說,“這位先生表達(dá)能力不錯(cuò),但是當(dāng)我叫他寫一個(gè)小程序的時(shí)候,他死活不動(dòng)手。他說在以前的工作中,如果要寫代碼,從MSDN上拷貝一些下來就行了。我和他僵持了一會(huì)兒之后,只好說,那你要是不寫,我們就沒什么可談的了。所以后面的面試都沒有必要了,我直接送他出了門。”
有一次我收到我們開發(fā)總經(jīng)理的郵件,上面強(qiáng)調(diào)了面試的時(shí)候一定要讓應(yīng)聘者動(dòng)手寫代碼等,這時(shí)對(duì)面的一位同事不好意思地說,他今天碰到的應(yīng)聘者是以前朋友的朋友。兩人聊了很長時(shí)間的閑話,后來他不好意思叫他寫代碼,時(shí)間也不夠了,于是就寫了一些反饋,說這人看起來還行。沒想到開發(fā)總經(jīng)理眼尖,把這個(gè)問題揪出來了。
Q: 市場(chǎng)上有很多號(hào)稱寶典的面試書籍,這些的確是外企用的面試題目么?我看到一本,就像是網(wǎng)絡(luò)上流傳的各種面經(jīng)的匯編,好像沒有太大的價(jià)值。
A: 我覺得***的技術(shù)面試“寶典”,就是講算法和數(shù)據(jù)結(jié)構(gòu)的經(jīng)典著作。微軟亞洲研究院的工程師們?cè)陂L期的面試過程中,也收集了一些有意思的面試題目,叫《編程之美》,聽說馬上就要出版了。
Q:太好了!這本書里面一定有無數(shù)的源代碼供學(xué)生們鉆研吧?
A: 其實(shí),大部分題目都不需要連篇累牘的程序來解決,聰明的解法通常是非常簡(jiǎn)明的。藥靈丸不大,棋妙子無多,程序也是這樣,許多題目的核心算法就是寥寥幾行。這可以說是編程之美的一種表現(xiàn)形式。我們面試就是要尋找能體會(huì)到編程之美的人。
另外,我們的這一番對(duì)話應(yīng)該給微軟的技術(shù)面試做了相當(dāng)?shù)?ldquo;去神秘化”(demystified)的工作。我還要提醒同學(xué)們要“去粉絲化”——不要像***粉絲追逐明星那樣,如果明星不能滿足自己見一面的要求(或者其他要求),就覺得天旋地轉(zhuǎn),痛不欲生。如果你經(jīng)過努力,仍然沒有進(jìn)入微軟公司,你并非一無是處,天也不會(huì)塌下來。微軟公司不過是很多軟件公司中的一個(gè),它要尋找“合適”它條件的員工,這個(gè)公司不合適你,還有下一個(gè),或者干脆你自己開創(chuàng)一個(gè)吧。
Q: 技術(shù)面試還有什么特別的訣竅么?
A: 微軟全球資深副總裁,亞洲研究院的前任院長沈向洋博士經(jīng)常講的一句話是“Nothing replaces hard work”,既然同學(xué)們知道技術(shù)面試不外乎就是這些類型的題目,那大家就自己動(dòng)手做一遍好了。如果實(shí)在做不出來,可以學(xué)習(xí)《編程之美》或其他書上詳細(xì)的講解。
Q: 我自己解答問題太慢了,能把《編程之美》書上的解法背下來,這也是一種捷徑吧?
A: 有時(shí)要小心這樣的“捷徑”。我想起以前考大學(xué)的一件事兒。當(dāng)時(shí)有一本很厚的英語標(biāo)準(zhǔn)化考試模擬題,不少同學(xué)都買來做。另一位同學(xué)從學(xué)長那里得了一本做過的書,我們?cè)谧鲱}的時(shí)候,他說:“我不用做了,我已經(jīng)有答案了,我平時(shí)看看答案就行了,一樣的。”結(jié)果高考的時(shí)候,他的英語考得很不好。
所以,對(duì)于認(rèn)為只要買了一本《編程之美》,或者其他寶典,就好像得到了入職捷徑的同學(xué),我要提醒一下:小心這樣的捷徑!紙上得來終覺淺,絕知此事要躬行。
#p#
小飛的總結(jié)
結(jié)束了和研發(fā)經(jīng)理的幾次對(duì)話之后,小飛陷入了深思。他發(fā)現(xiàn)面試并不一定是用難題、偏題來考倒人,筆試和面試考察的都是自己在編程、解決問題、與人合作等方面的全面能力。運(yùn)氣和背好的答案并不能幫助他解決所有的問題。微軟公司花費(fèi)很多人力物力來尋找合適的人才1,那自己如何能展現(xiàn)能力,讓伯樂相中?他做了如下的總結(jié)。
1. 知己知彼。知己,就是要了解自己的能力、興趣、職業(yè)發(fā)展方向;知彼,就是要了解公司的文化、戰(zhàn)略方向和擇才標(biāo)準(zhǔn)。
2. 筆試就是基礎(chǔ),用扎實(shí)的理解和考慮完備的解答來征服閱卷者。
3. 面試就是探討,用縝密的代碼和嚴(yán)密的分析贏得未來同事的尊重。思考問題的方法比結(jié)果重要,面試者會(huì)更加在乎你解決問題的思考過程。
4. 你的工作就是***的面試,不要把時(shí)間花在尋找捷徑和背誦答案上,要通過實(shí)際的工作和產(chǎn)品來體現(xiàn)自己的水平。
千里之行,始于足下,要想在入職競(jìng)爭(zhēng)中脫穎而出,自己得先下苦功夫,在平時(shí)就要用職業(yè)的標(biāo)準(zhǔn)來要求自己。他相信,只要自己付出了足夠的努力,就會(huì)有收獲——“長風(fēng)破浪會(huì)有時(shí),直掛云帆濟(jì)滄海”。
























