職位類(lèi)型:互聯(lián)網(wǎng)
面試地點(diǎn):南京
招聘公司:美團(tuán)網(wǎng)
馬上就要研究生畢業(yè)了,也沒(méi)想著再繼續(xù)讀書(shū),所以最近也是一直在找工作,說(shuō)一說(shuō)最近我比較喜歡的一個(gè)公司的面經(jīng)吧。也算給后面的同學(xué)一點(diǎn)參考。
筆試
早就聽(tīng)聞美團(tuán)的筆試全是大題(8個(gè)大題,2個(gè)小時(shí)),聽(tīng)到這個(gè)感覺(jué)自己都不一定做得完,剛開(kāi)始也木有多大的自信。不過(guò)還是和室友們廢了半條命趕到九龍湖去筆試。不過(guò)有點(diǎn)意外的是,我靠,8大題竟然做了7個(gè)大題。 晚上11:30的時(shí)候,手機(jī)響了,湖南的號(hào)碼,還以為是什么騷擾電話(huà),接了電話(huà)就說(shuō)了句“你誰(shuí)啊,有事嗎?”。對(duì)方竟報(bào)出了我的名字,說(shuō)是美團(tuán)的約我第二天11點(diǎn)南大仙林xx中心面試。我當(dāng)然喜出望外的答應(yīng)了??!
一面
上來(lái)我問(wèn)“要自我介紹不?”。面試官一上來(lái)說(shuō)不用了,先寫(xiě)幾段代碼吧!然后,第一題:給你兩個(gè)字符串str1,str2,找出str2在str1中的位置。我一看題目心中暗喜,這個(gè)好做,好歹都寫(xiě)過(guò)求兩個(gè)字符串的最長(zhǎng)公共子串,求一個(gè)字符串的重復(fù)子串,求一個(gè)字符串的最長(zhǎng)回文串。這個(gè)題比這幾個(gè)都簡(jiǎn)單,小case,啪啦啪啦一下子寫(xiě)好了。給面試官看,并給他介紹了下,第一題通過(guò)。
接著又問(wèn),“阿?!你還實(shí)習(xí)過(guò)啊,還搞的云計(jì)算啊。那你講講你實(shí)習(xí)吧”。有備而來(lái)啊,我就啪啦啪啦一邊講一邊畫(huà),在紙上把cloudstack的架構(gòu)和原理,說(shuō)了一通。并且還把我實(shí)習(xí)時(shí),寫(xiě)過(guò)的shell腳本(cloudstack環(huán)境自動(dòng)部署)拿出來(lái)給他看了下,還把其中用到的一個(gè)小的交互和他講了下。面試官說(shuō),教父級(jí)的?。∥艺f(shuō)還好,我在虛機(jī)上測(cè)試過(guò)多次,可以正常運(yùn)行。再把實(shí)習(xí)做的事和他說(shuō)了下,這方面算是認(rèn)可了。又問(wèn)了關(guān)于項(xiàng)目的,這方面難不倒我,哥都準(zhǔn)備好了,兵來(lái)將擋,水來(lái)土掩,講的清清楚楚。
緊接著又問(wèn)了,計(jì)算機(jī)網(wǎng)絡(luò)懂不?我說(shuō)懂點(diǎn),那我問(wèn)你啊,在瀏覽器里輸入美團(tuán)網(wǎng)的URL,會(huì)經(jīng)歷哪些過(guò)程和設(shè)備啊?心里又竊喜啊,這類(lèi)題目在那兒見(jiàn)過(guò)的,啪啦啪啦,從DNS、代理服務(wù)器、路由器、負(fù)載均衡、服務(wù)器,各種UDP、TCP等等講了一通。他也很認(rèn)同,輕松又創(chuàng)了一關(guān)。
然后,又問(wèn),操作系統(tǒng)懂不,我說(shuō)懂點(diǎn)。那你說(shuō)說(shuō)進(jìn)程和線(xiàn)程有什么區(qū)別啊,這個(gè)都是被面試官問(wèn)爛了的問(wèn)題,我還能不會(huì)嗎?劈里啪啦的講了一通。面試官點(diǎn)頭嗯嗯。又問(wèn),進(jìn)程、線(xiàn)程間通信方式有哪些各有什么特點(diǎn)啊,這個(gè)又是被問(wèn)爛了的題目,自然輕松過(guò)關(guān)啊,看我這么有激情地說(shuō),套接字常用在遠(yuǎn)端進(jìn)程通信,他突然打斷了我“那本地可以用不?”這個(gè)當(dāng)然可以啊,一般服務(wù)器和客服端調(diào)試不都這樣嗎,我說(shuō),不過(guò),這有點(diǎn)小材大用啊。面試官連忙點(diǎn)頭,嗯嗯!
“那,再給你出個(gè)問(wèn)題哈”,我說(shuō)“好的”?!澳阍趺唇y(tǒng)計(jì)南京市有多少輛出租車(chē)?”我靠,這個(gè)怎么整啊,我想都沒(méi)想就蹦出一句,“找交管部門(mén)查唄!”。他說(shuō),“不能查!”。這個(gè)我得想想了,剛開(kāi)始還是從計(jì)算公路上的車(chē)的流量來(lái)算,后來(lái)想想車(chē)都是移動(dòng)的,這怎么整呢?結(jié)果靈機(jī)一動(dòng),這不是再考我樣本估計(jì)總體的思想嗎?然后,我就告訴面試官,我有兩種方案,不過(guò)都是用樣本去估計(jì)總體的思想。一個(gè)是按人口和車(chē)輛的比,一個(gè)是按面積和車(chē)輛的比,最后有補(bǔ)充了點(diǎn)兒,各地方的人口密度和車(chē)輛密度是不同的,所以選幾個(gè)典型的樣本區(qū)統(tǒng)計(jì),求平均去估計(jì)總體。減少誤差。這個(gè)思想也被認(rèn)同了,好了,總算一面過(guò)了,和一面官的聊天還是挺哈皮的。結(jié)束時(shí),他說(shuō),我這邊你過(guò)了,去休息室準(zhǔn)備二面。
二面
上來(lái)就讓我介紹了項(xiàng)目,說(shuō)到?jīng)Q策樹(shù)相關(guān)的,介紹完了,還說(shuō)這是你想出來(lái)的?。课艺f(shuō)看到數(shù)據(jù)結(jié)構(gòu)和算法里的,借鑒過(guò)來(lái)的。緊接著出了個(gè)題嗎,1000!末尾有多少個(gè)0,看了題目,有點(diǎn)暈啊,這怎么算呢,一點(diǎn)思路都木有。二面官人還蠻好的,一邊說(shuō)題目,一邊說(shuō),你可以先算個(gè)10!,100!看看。頓時(shí)就有了思路,其實(shí)就是看因子里有2*5的個(gè)數(shù),其實(shí)只需看因子5的個(gè)數(shù)就可以了,2的個(gè)數(shù)一般比5的個(gè)數(shù)多的,只需看5n%5==0,m=5n/5,算出5的倍數(shù)中因子5的個(gè)數(shù)就可以了。
接著出了一個(gè)三角矩陣的題目,每次只能向下和向右下走。剛開(kāi)始還木有思路,最后竟然想到將矩陣轉(zhuǎn)換為二叉樹(shù),對(duì)二叉樹(shù)進(jìn)行先序遍歷。二面官說(shuō)你還能想到這個(gè)啊。那你編程實(shí)現(xiàn)以下。我靠,這個(gè)還要建二叉樹(shù)啊,不是很好弄啊。面試官說(shuō),那你寫(xiě)個(gè)二叉樹(shù)求和最大時(shí)的路徑吧。好吧,這又轉(zhuǎn)到劍指offer上了,劈里啪啦就寫(xiě)好了。然后面試官看了下,不錯(cuò),二面就結(jié)束了,二面結(jié)束已經(jīng)將近1點(diǎn)了,還沒(méi)吃午飯啊,又困又餓啊。下午3點(diǎn)還有騰訊的面試,這個(gè)可不想錯(cuò)過(guò)啊,上去和HR說(shuō)了下,HR人還蠻好的,直接把我的簡(jiǎn)歷拿到最上面。
三面
三面那個(gè)囧啊,嘴里塞了一嘴面包,HR喊的時(shí)候,直接就去了,忘了帶水。見(jiàn)到三面官的時(shí)候,我還在嚼面包,想吐出來(lái),又不知道往哪兒吐,想吞進(jìn)去,又咽不下去,哎。。。那個(gè)囧態(tài)簡(jiǎn)直難以忘記??!三面官看到此態(tài),笑了,說(shuō)你是不是要喝點(diǎn)水啊。我馬上說(shuō)是的啊,他向我指了一個(gè)地方,那兒有水。靠,救星啊,倒了兩杯水,給面試官也倒了一杯。一起拿過(guò)去先把水給面試官了。三面官說(shuō),你先喝點(diǎn)水,不急,我看看你簡(jiǎn)歷和資料。
就這樣三面開(kāi)始了,剛開(kāi)始是閑扯啊,又講實(shí)習(xí)的項(xiàng)目,講了一半,他貌似看到以前面試的評(píng)語(yǔ),說(shuō)這個(gè)是不是以前說(shuō)過(guò)的?。课艺f(shuō),是的啊,他說(shuō),說(shuō)過(guò)的就不用再說(shuō)了。然后就讓我回憶你有哪些優(yōu)點(diǎn)了,我先把本科的一個(gè)故事給他講了。然后他還在問(wèn),可能你平時(shí)沒(méi)注意,你再想想還有什么事能表現(xiàn)你的一些優(yōu)點(diǎn)的。我想啊想,又把研究生的一個(gè)故事給他講了。然后還在問(wèn),還有不,你再想想。我就在想啊,這面試官真不錯(cuò)啊,人太好了,一直在挖掘人的長(zhǎng)處啊。我每講一個(gè)故事,他都在紙上做記錄,滿(mǎn)滿(mǎn)地寫(xiě)了幾張紙啊!感動(dòng)??!
故事講完了,又問(wèn)我,你一般在網(wǎng)上看技術(shù)文章不?我說(shuō)看,他說(shuō)在哪兒看啊。我說(shuō)CSDN,博客園。他也在做記錄,然后問(wèn),那你有博客賬號(hào)不?我說(shuō)有,他說(shuō),那你能給個(gè)鏈接不?我說(shuō),鏈接不記得了,那給個(gè)搜索關(guān)鍵詞吧,我就給了。我還以為3面就這樣聊聊就好了呢。沒(méi)想到,又出了兩道題,一個(gè)是寫(xiě)個(gè)乘法的宏定義,果然是沒(méi)注意啊,要加3個(gè)括號(hào)#define multply(m,n) ((m)*(n)),這樣才對(duì)啊。哎。。。我只加了一個(gè),在面試官的提示下,才想到加3個(gè)。確實(shí)覺(jué)得面試官人不錯(cuò)啊,大美團(tuán)確實(shí)不錯(cuò)啊。又問(wèn)了,宏定義和內(nèi)聯(lián)函數(shù)有什么區(qū)別嗎,分別在什么樣的場(chǎng)景下應(yīng)用啊。我答了內(nèi)聯(lián)函數(shù)在編譯時(shí),將調(diào)用處進(jìn)行函數(shù)替換,避免調(diào)來(lái)調(diào)去壓榨出棧的時(shí)間開(kāi)銷(xiāo),以空間換時(shí)間,還有內(nèi)聯(lián)函數(shù)有類(lèi)型檢測(cè),宏替換沒(méi)有類(lèi)型檢測(cè),內(nèi)聯(lián)函數(shù)只是向編譯器申請(qǐng),若內(nèi)聯(lián)函數(shù)體內(nèi)有循環(huán)遞歸等,申請(qǐng)會(huì)失敗,系統(tǒng)會(huì)當(dāng)初普通函數(shù)處理。又問(wèn)了如果設(shè)計(jì)一個(gè)string類(lèi),要注意什么問(wèn)題。我答了,注意內(nèi)存泄露啊。如果是繼承,基類(lèi)的析構(gòu)函數(shù)要設(shè)計(jì)成虛函數(shù)。拷貝構(gòu)造函數(shù)和賦值函數(shù)要注意異常安全,還有不能拷貝指針。然后就是3面結(jié)束了,等通知。
總結(jié):美團(tuán)的面試官給我很好的印象,都是比較嚴(yán)謹(jǐn),平易近人的那種。還有就是面試官多是以發(fā)現(xiàn)者的眼光去面試一個(gè)人,有很強(qiáng)的包容性,這一點(diǎn),我很喜歡!