職位類型:研發(fā)工程師
面試時(shí)間:2015校招(2014年9月19日)
招聘公司:美團(tuán)網(wǎng)
上午去參加騰訊二面,結(jié)果沒成,下午聽說同學(xué)去參加攜程宣講會(huì),我覺得無(wú)聊也就去了,到那卻發(fā)現(xiàn)美團(tuán)網(wǎng)也在招聘。我看到美團(tuán)有人在提交簡(jiǎn)歷,我正好帶了,就在簡(jiǎn)歷上寫了“職位:研發(fā)工程師”給美團(tuán)的HR,并說明了我是因?yàn)轵v訊面試才沒機(jī)會(huì)參加美團(tuán)網(wǎng)的筆試的。
我是嘗試著投遞看看的,也沒報(bào)多大希望。只是覺得這是一個(gè)機(jī)會(huì),而且我確實(shí)是因?yàn)樵隍v訊面試的緣故。當(dāng)天晚上12點(diǎn)05分,美團(tuán)網(wǎng)的HR打電話通知我上午11點(diǎn)參加面試。我太受寵若驚了,HR解釋說面試官剛篩選完簡(jiǎn)歷才給HR,所以才這么晚通知的。原來如此,這個(gè)機(jī)會(huì)我很珍惜。
9月19號(hào)美團(tuán)的面試,我已經(jīng)知道三面都有算法題,所以我也很淡定,正常發(fā)揮應(yīng)該就好了。
一面:
1. 一面上來就讓我寫程序,是“A == B ”的字符串問題,要求大小寫字母忽略,字母出現(xiàn)次數(shù)不計(jì),只考慮字母出現(xiàn)與否,我思考了一會(huì),說了想法,面試官還給我提示,后來討論了一個(gè)很好的解決方案,然后我就寫了程序給他,中途讓我考慮是否有改進(jìn)的地方(這一方面我回答不是非常到位)。
2. 接下來問了TCP協(xié)議的通信狀態(tài),我寫了個(gè)完整的給他,他很滿意,接著問我 TIME_WAIT有很多,我補(bǔ)充說是不是通過netstat –a查看,他聽完后在我的面試評(píng)價(jià)上記錄了,估計(jì)是覺得我Linux比較熟悉吧,我說這種現(xiàn)象是因?yàn)楹芏噙M(jìn)程并發(fā)執(zhí)行且在一段時(shí)間內(nèi)集中終止通信連接導(dǎo)致的。
3.然后問了我一些堆和堆排序的問題,我回答的很詳細(xì)。
4. 再后來就是聊了一些問題,包括騰訊面試的問題,我也強(qiáng)調(diào)騰訊職位在深圳,我不可能去那么遠(yuǎn)的地方等等,無(wú)意間我還看到他通過手機(jī)訪問我的博客,后面的一些技術(shù)問題我想不起來了,然后他就讓我在外面等等,意思是通過一面了,我感覺跟那個(gè)面試官聊得還挺開心的,至少我表現(xiàn)的很自信。
二面:
?我剛到休息室等一會(huì),就被二面面試官叫了過去。還是剛才一面的教室,一二面的面試官都在那兒。
1. 剛開始是簡(jiǎn)單自我介紹,我重點(diǎn)強(qiáng)調(diào)了我擅長(zhǎng)Linux的命令,Shell腳本和相關(guān)的文件結(jié)構(gòu)等,然后就開始講了最近在三星實(shí)習(xí)的一個(gè)項(xiàng)目,他很詳細(xì)的問了我的實(shí)現(xiàn)原理和結(jié)構(gòu)設(shè)計(jì),討論完了就開始做題。
2. 第一道算法題目是[012120012…]排成有序,即[00…11…22…],這個(gè)顯然用快速排序的一趟排序方法即可,先從數(shù)組的前后搜索,將0置換到數(shù)組前面,然后從0末尾位置的下一位開始將1都置換到前面,我還跟面試官?gòu)?qiáng)調(diào)可以將“一趟排序”寫成子函數(shù),只要傳遞start和key兩個(gè)參數(shù)即可實(shí)現(xiàn)更多值的排序,他很滿意。
3. 一道算法題,即PHP trim函數(shù)的實(shí)現(xiàn),char* trim( const char* str,int len),注意這里是constant,意思是不能改變?cè)械膕tr值,需要分配空間,我開始沒考慮,后來在他提示之下進(jìn)行了簡(jiǎn)單的改進(jìn),分配了新的空間,這里注意一個(gè)細(xì)節(jié)問題,一個(gè)是關(guān)于字符長(zhǎng)度的問題,另外一個(gè)就是字符串末尾結(jié)束符’\0’ 或者0,切記不可忘記添加。
4. 一道概率題,紅黑球,然后第一次取出的概率是1/2,依次取球,取出黑球繼續(xù),取出紅球終止,求取出球個(gè)數(shù)的期望,我首先寫了期望的計(jì)算公式,計(jì)算取一個(gè)球,兩個(gè)球,多個(gè)球的順序,我本來想找個(gè)公式給他的,他說沒必要,看看我寫的推導(dǎo)過程就說可以了。我用的是歸納法,然后找規(guī)律的。
5. 他看了會(huì)我的簡(jiǎn)歷,然后問我Linux命令很熟悉吧,我說是啊,很自信的說,他問了我 top 命令,我跟他詳細(xì)說了可以查看負(fù)載,第一行顯示的,又說uptime和w都可以查看系統(tǒng)負(fù)載,top主要是顯示進(jìn)程占用的資源排序。還問了ps,我說ps也可以查看占用資源情況,如 ps –e –o ‘pid,rse,vse’,一般我都是來查看進(jìn)程情況,需要kill掉的進(jìn)程。
6. 問我還有啥問題么,我就問美團(tuán)的整體架構(gòu)是啥樣的,我如果進(jìn)入會(huì)有哪方面的工作范疇?他詳細(xì)跟我講了美團(tuán)的架構(gòu),其中后臺(tái)涉及到j(luò)ava,PHP ,而PHP是我擅長(zhǎng)的語(yǔ)言之一,可以沒提及C/C++。然后他就通知讓我再外面等HR的安排。
三面:
1. 自我介紹,我已經(jīng)倒背如流了。
2. 跟我詳細(xì)探討了最近的兩個(gè)項(xiàng)目,一個(gè)是三星的TZ項(xiàng)目,還有一個(gè)是國(guó)家自然科學(xué)基金項(xiàng)目,其中第二個(gè)他很感興趣,雖然和互聯(lián)網(wǎng)不相關(guān),他還是問了我好多理論的東西,我當(dāng)時(shí)的回答雖然有點(diǎn)亂,但基本的流程表達(dá)的還是挺清晰的感覺。算法上問了,在具體應(yīng)用上他也問了,主要是問做出來的東西有什么用途。算是對(duì)項(xiàng)目的深入理解和探討。還和我討論了我的經(jīng)歷和基本信息。
3. 由于我沒有筆試,所以他就開始讓我做題,第一道據(jù)說是考試的第八題,我后來才知道的,兩個(gè)數(shù)組L[N],R[N]一一對(duì)應(yīng),L,R是一個(gè)坐標(biāo)軸上的兩個(gè)點(diǎn),他們描述一個(gè)區(qū)間(L 4. 一個(gè)智力題,關(guān)于老鼠吃米,程序員面試寶典上的改編題,1000袋大米有一袋有毒,老鼠吃完后7分鐘才見效,問需要多少只老鼠且在盡可能短的時(shí)間內(nèi)找到有毒大米。面試官問我是否見過這道題,我說先讓我看完,因?yàn)楹枚囝}目都是換了個(gè)描述,他笑笑。的確,我跟他說這題和N瓶水一瓶有毒類似,用二進(jìn)制的思想去做,他說這題過,下一題目。 5. 題目是關(guān)于策略問題,一堆一分硬幣,一個(gè)方桌,A B兩人交替擺放且每次一個(gè),問是否有決勝的策略讓一方必勝。在他的提示下,我用歸納法總結(jié)了只能放一個(gè),兩個(gè),三個(gè),等等,他說思路是對(duì)的,可以推出來,見我還在考慮,就說不一定要完整的答案,思路正確就行了。 6. 然后就問我對(duì)美團(tuán)怎么看,以及騰訊和美團(tuán)的工作看法。我說了第一次團(tuán)購(gòu)電影票是在美團(tuán),還有在三星叫外賣之類的,肯定了美團(tuán)對(duì)社區(qū)生活的一種思維方式,還有強(qiáng)調(diào)了選擇工作首先看地域,然后看內(nèi)容,這方面美團(tuán)在北京,騰訊在深圳,美團(tuán)用PHP,騰訊是后臺(tái),而我是徐州人,顯然會(huì)更傾向于美團(tuán)。中途還提了阿里巴巴大數(shù)據(jù)競(jìng)賽,他也很感興趣,我就說用了基于用戶協(xié)同過濾算法的改進(jìn),首輪只排到700多名,前500名可以晉級(jí)。 7. 還有啥問題,我問了美團(tuán)對(duì)于面試結(jié)果啥時(shí)候通知(他說得等貴校三方下發(fā)之前),然后就問美團(tuán)在北京是否是整棟大樓,有健身房么?他說有跑步機(jī)。然后我就說沒問題了。 最后他很客氣的和我握了握手,還提醒我包在身后,我在起身的時(shí)候看到簡(jiǎn)歷上獲得的國(guó)家獎(jiǎng)學(xué)金和建模競(jìng)賽的獎(jiǎng)項(xiàng)被紅筆圈了起來,看來美團(tuán)很看重獲獎(jiǎng)情況。 總體上,美團(tuán)面試是我最開心的一次,因?yàn)楹兔嬖嚬倭牡煤荛_心,至少給想進(jìn)入互聯(lián)網(wǎng)公司的我一個(gè)極大的鼓勵(lì)和信心,希望我的三面等級(jí)高一些。