完整的腾讯面试经过
從9月10號(hào)開(kāi)始到現(xiàn)在快兩個(gè)月了,兩個(gè)多月中,我經(jīng)歷數(shù)次面試和筆試,在經(jīng)歷這些的同
時(shí)積累了不少的經(jīng)驗(yàn),也學(xué)到了不少東西,在此把它記錄下來(lái),算是和一起找工作中的同
學(xué)一起共勉吧。我是本校的學(xué)生,專業(yè)是機(jī)械制造及其自動(dòng)化,找工作的主要目標(biāo)是計(jì)算
機(jī)軟件類和機(jī)械制造方向的國(guó)內(nèi)的企業(yè),所以意向去外企的同學(xué)就不必浪費(fèi)時(shí)間看這些面
經(jīng)啦,想去國(guó)內(nèi)IT企業(yè)的同學(xué)可以繼續(xù)看下去。本貼中我把最近的騰訊面試經(jīng)過(guò)寫(xiě)下來(lái)吧
。騰訊是我經(jīng)歷的筆試面試過(guò)程中最為正規(guī),梯度層次最為分明的一次面試過(guò)程,我將它簡(jiǎn)
單地總結(jié)一下,希望能對(duì)正在找工作和下一屆的師弟師妹們積累一些經(jīng)驗(yàn)。我的文筆不好
,所以寫(xiě)得不清楚的地方,還請(qǐng)大家見(jiàn)諒。
騰訊是10月15日才到我校來(lái)開(kāi)宣講會(huì)的,不早也不晚,剛好在高峰時(shí)期來(lái)的。此時(shí)間段剛
好是各企業(yè)宣講會(huì)和筆試的高峰期,鑒于我對(duì)騰訊已經(jīng)比較熟悉了,所以沒(méi)有去參加騰訊
的宣講會(huì)。在騰訊宣講之前,我一直很關(guān)注BBS求職信息發(fā)布版,有若干個(gè)帖子是關(guān)于騰訊
內(nèi)部推薦的,據(jù)說(shuō)是將自己的簡(jiǎn)歷發(fā)到某郵箱,就可以進(jìn)行內(nèi)部推薦,推薦的結(jié)果據(jù)說(shuō)是
簡(jiǎn)歷可以直接通過(guò)。在14號(hào)的時(shí)候,我發(fā)現(xiàn)了一個(gè)騰訊客戶端的內(nèi)部推薦貼,于是我在網(wǎng)
投過(guò)的基礎(chǔ)上將自己的簡(jiǎn)歷發(fā)了過(guò)去。后來(lái)我的簡(jiǎn)歷得以順利通過(guò),職位意向是客戶端軟
件開(kāi)發(fā),并未強(qiáng)制我更改意向,這是騰訊做得比百度好的地方。筆試:
騰訊宣講之后即開(kāi)始發(fā)布各筆試名單,應(yīng)該是屬于海筆的那種,反正大多數(shù)同學(xué)都收到了
筆試通知,據(jù)說(shuō)有4K多人參加筆試,我也很榮幸地在這4K多人當(dāng)中,在西十二參加了騰訊
筆試。
筆試的題目難度還行,主要內(nèi)容是C/C++的一些東西,包含一些數(shù)據(jù)結(jié)構(gòu)、STL和智力題,
有很多陷進(jìn)題目需要格外小心,這個(gè)如果對(duì)筆試有所準(zhǔn)備的同學(xué)都應(yīng)該知道。我記憶比較
清楚的是最后兩道編程題。
第一題大概是:樹(shù)的直徑定義為兩個(gè)葉子節(jié)點(diǎn)之間最長(zhǎng)的距離,那么給出一顆樹(shù),求樹(shù)的
直徑。第二題可以轉(zhuǎn)述為:10億條數(shù)據(jù)中找出前100個(gè)較大的數(shù)據(jù),只準(zhǔn)遍歷一遍數(shù)據(jù)。第一題我的思路是,對(duì)某一個(gè)節(jié)點(diǎn)而言,求出其所有子樹(shù)的深度,然后取最深的兩棵子樹(shù)
高度相加再加2,由此得到以該節(jié)點(diǎn)作為基點(diǎn)的直徑,然后遞歸對(duì)以每個(gè)節(jié)點(diǎn)為基點(diǎn)求其直
徑,所有求出的直徑中,最大的,就是樹(shù)的直徑了。對(duì)第二題,可以以小頂堆的形式來(lái)完
成,我想這也是出題人的意思。
很值得稱贊的是,騰訊為霸王筆的同學(xué)準(zhǔn)備了霸王筆考場(chǎng),可見(jiàn)騰訊也不想因?yàn)楹?jiǎn)歷篩選
的疏忽將優(yōu)秀的同學(xué)拒之門(mén)外。
筆試完畢之后,我感覺(jué)自己應(yīng)該是可以進(jìn)入面試的,但因?yàn)槊τ谄渌镜墓P試面試,也
沒(méi)怎么準(zhǔn)備它的面試。技術(shù)一面:
在參加完筆試兩天后,收到騰訊的面試通知,騰訊的通知很有特色,全部在網(wǎng)上公布出來(lái)
,然后對(duì)有資格面試的人發(fā)一條短信,讓你自己去網(wǎng)上查詢關(guān)于面試的相關(guān)信息,參加筆
試四千多人,參加一面的技術(shù)類學(xué)生有1042人。我從晚上得知我是下午兩點(diǎn)面試。于是我
一點(diǎn)過(guò)就感到了珞珈山國(guó)際大酒店,在一個(gè)會(huì)議室里邊,已經(jīng)有很多同學(xué)在哪里等候,首
先是填了一個(gè)應(yīng)聘登記表。兩點(diǎn)鐘的時(shí)候,我到了指定的房間敲門(mén),準(zhǔn)備面試,但是半天
沒(méi)有反應(yīng),于是我又返回會(huì)議室,問(wèn)是不是搞錯(cuò)了,結(jié)果這時(shí)電話響了,原來(lái)是面試官叫
我下去面試,我估計(jì)我去的時(shí)候他還在睡覺(jué)吧。面試正式開(kāi)始。
騰訊的面試很簡(jiǎn)潔,沒(méi)有自我介紹,首先一來(lái)就直接整技術(shù)問(wèn)題,第一面的問(wèn)題全部都是
一些算法和基礎(chǔ)技術(shù)方面的。第一個(gè)問(wèn)題就是問(wèn)我感覺(jué)筆試卷子做的怎么樣,覺(jué)得在哪些
地方會(huì)有錯(cuò)。我說(shuō)在STL的題目上可能會(huì)錯(cuò)一些,在有些陷進(jìn)題目上可能粗心會(huì)錯(cuò)掉,最后
兩題應(yīng)該是不會(huì)錯(cuò)的。面試官接著叫我講了一些最后兩題的思路,然后問(wèn)我有沒(méi)有把算法
寫(xiě)到試卷上,我說(shuō)寫(xiě)出來(lái)了,并且指給他看。接下來(lái)它又將第二道大題改了一下叫我做。
仍然是10億條數(shù)據(jù)中選前100條數(shù)據(jù)。我很納悶,說(shuō)這不是和考試時(shí)的題目一樣么,他說(shuō)不
一樣,我不要求你只遍歷一遍,你重新給我想。我悶一會(huì)兒,想到了一種算法,先根據(jù)內(nèi)
存大小,將10億條數(shù)據(jù)分成若干組,依次讀入一組數(shù)據(jù),進(jìn)行依次歸并排序,形成有序序
列并輸出到一系列臨時(shí)文件中,接下來(lái)從每個(gè)臨時(shí)文件中讀入前100個(gè)數(shù)據(jù)再次歸并,以此
遞歸,便能得到最終結(jié)果。看面試官的表情,應(yīng)該是對(duì)了。接下來(lái)面試官又問(wèn),如果讓你
在一個(gè)新城市中規(guī)劃加油站的建設(shè)地點(diǎn)你應(yīng)該怎樣考慮,這種問(wèn)題完全沒(méi)有標(biāo)準(zhǔn)答案,于
是我就按照軟件工程的思想那一套理論開(kāi)始跟他侃,包括做前期調(diào)研啊,可行性分析啊,
考察司機(jī)加油習(xí)慣,環(huán)境及交通問(wèn)題啊,需求更改啊,后期完善啊等等,這個(gè)問(wèn)題算是對(duì)付過(guò)去了。接下來(lái)又問(wèn)了一個(gè)關(guān)于WinSock基本編程的問(wèn)題—TCP服務(wù)
器與客戶端編程,還好我提前準(zhǔn)備了一下,應(yīng)付過(guò)去了。后來(lái)又問(wèn)了一些Windows內(nèi)核編程
的一些東西,比如線程消息隊(duì)列,工作線程與界面線程的區(qū)別,工作線程有消息隊(duì)列嗎。
我一直以為這些方面是我的強(qiáng)項(xiàng)的,結(jié)果有些問(wèn)題居然沒(méi)有回答上來(lái),比如工作線程有無(wú)
消息隊(duì)列,我當(dāng)時(shí)腦袋發(fā)卡,說(shuō)不太清楚,面試完畢一出門(mén)我就想起來(lái)了,工作線程當(dāng)然
可以有消息隊(duì)列,只要調(diào)用GetMessage或PeekMessage之類的API就能形成一個(gè)消息隊(duì)列啊
。總之第一面的問(wèn)題感覺(jué)很基礎(chǔ),很雜,我自己表現(xiàn)也不是很好,可能要掛掉。最后面試
官問(wèn)我有什么問(wèn)題,為了挽回我前半段的失敗,我問(wèn)了兩個(gè)問(wèn)題,第一是為什么QQ2009取
消入口參數(shù)而導(dǎo)致了所有QQ登錄器都不能正常工作了,他并沒(méi)有給我一個(gè)滿意的回答,其
實(shí)我是想要向它表述我自己開(kāi)發(fā)QQ登錄器的一個(gè)完整過(guò)程,表明我對(duì)QQ客戶端還是比較注
意的,嘿嘿;第二個(gè)問(wèn)題,我向他請(qǐng)教QQ大家來(lái)找茬游戲的游戲界面為什么不能被其他程
序繪制標(biāo)記,這個(gè)問(wèn)題我在開(kāi)發(fā)這個(gè)游戲作弊器的時(shí)候遇到過(guò),因?yàn)橐划?huà)上去之后立即就
被擦除了,這個(gè)面試官本身就是做游戲開(kāi)發(fā)的,所以很了解這個(gè)技術(shù),就跟我說(shuō)是用什么什么技術(shù)導(dǎo)致其他程序無(wú)法在界面上繪制標(biāo)記,主要是為了防止用戶作
弊,我后來(lái)說(shuō),我還是把這個(gè)作弊器做出來(lái)了,我用了一個(gè)透明窗口懸浮在游戲窗口上方
,在透明窗口上標(biāo)記出不同點(diǎn),為了讓用戶看起來(lái)這些標(biāo)記像是直接繪制在游戲窗口上,
我做了一個(gè)鉤子,攔截了游戲窗口的相關(guān)消息,效果非常好,你們?nèi)绻雷鞅?#xff0c;是不是
也應(yīng)該從這方面考慮一下呢,他笑著說(shuō),他們有專門(mén)的防外掛團(tuán)隊(duì)麼樣麼樣。臨走時(shí),我
覺(jué)得自己表現(xiàn)不是很好,弱弱地問(wèn)了一句,我有沒(méi)有希望過(guò)這一面,他說(shuō),三天之內(nèi)等通
知吧,還說(shuō)了一句,小伙子要對(duì)自己有信心嘛,百度技術(shù)二面你都過(guò)了你怕什么?我只好
灰溜溜地閃人了。
并不是所有同學(xué)一面都很難,后來(lái)回家后問(wèn)了一些其他同學(xué),他們說(shuō)他們的第一面很簡(jiǎn)單
,就是隨便問(wèn)問(wèn)項(xiàng)目和一些簡(jiǎn)單的問(wèn)題就沒(méi)了。技術(shù)二面:
騰訊的技術(shù)二面也是不盡相同的,后來(lái)我得知很多同學(xué)的技術(shù)二面都是聊聊項(xiàng)目啥的就完
了,而我除了項(xiàng)目之外還有很多很搞笑的題目,包括智力題。
雖然感覺(jué)一面不是很好,但是我還是報(bào)了一點(diǎn)幻想能進(jìn)二面,很幸運(yùn)的,我如愿以償?shù)剡M(jìn)
入了二面,一面不知道刷了多少人,一半多至少應(yīng)該有的,我想可能是我一面最后的幾個(gè)
問(wèn)題發(fā)揮了一些做用吧,^_^。二面我感覺(jué)非常輕松,因?yàn)楫?dāng)時(shí)我已經(jīng)拿到了中國(guó)電子科技
集團(tuán)第二十九研究所的offer,那是個(gè)非常好的研究所,我本來(lái)都打算簽?zāi)抢锪恕K詫?duì)于
QQ,則是能去就去,不去就不勉強(qiáng)啦。仍然是下午兩點(diǎn)面試,我一點(diǎn)四十就來(lái)到了指定的
房間外邊,看到HR正在那里等著,我也沒(méi)有進(jìn)去,面試官也沒(méi)有叫我進(jìn)去,因?yàn)闀r(shí)間沒(méi)有
到,一點(diǎn)五十九分,我準(zhǔn)時(shí)敲門(mén)。這一面的面試官一直在笑,感覺(jué)笑里藏刀。因?yàn)槲耶?dāng)時(shí)
已經(jīng)釋然了,所以倒覺(jué)得無(wú)所謂,非常放松。面試正式開(kāi)始。
首先要我介紹一下我做的最大的一個(gè)項(xiàng)目,我噼里啪啦一大堆的說(shuō)出來(lái),這一關(guān)自然好過(guò)
。面試官見(jiàn)沒(méi)什么好問(wèn)的,就開(kāi)始整其他題目。第一題是有兩個(gè)文件,每個(gè)文件里邊包含
100萬(wàn)個(gè)手機(jī)號(hào)碼,要求兩個(gè)文件的交集和并集。我略微想了一下,這個(gè)題目和虹軟的一個(gè)
考題類似,大致思路是先對(duì)兩個(gè)文件按升序排序,然后分別用兩個(gè)指針指向倆文件,向后
掃描,當(dāng)兩指針指向的號(hào)碼相等怎樣,不相等怎樣等等;第二個(gè)問(wèn)題是一個(gè)關(guān)于操作系統(tǒng)
的生產(chǎn)消費(fèi)者模型在Windows下怎么實(shí)現(xiàn)的問(wèn)題,關(guān)鍵是CreateSemaphore API,不要求寫(xiě)
代碼,但要求說(shuō)出思路,這題不難;第三題是一個(gè)文件,是壓縮之后加密更好呢,還是加
密之后再壓縮更好,這題把我郁悶死了,我沒(méi)搞過(guò)這東西,自然不知道,但是細(xì)細(xì)一想,
覺(jué)得應(yīng)該是加密之后再壓縮好,因?yàn)閴嚎s的基本原理是將二進(jìn)制按一定算法進(jìn)行再次編碼
使文件處于一個(gè)二進(jìn)制分布較為緊密的狀態(tài),如果是先壓縮再加密,那二進(jìn)制的狀態(tài)可能
不是出于緊密狀態(tài),基于這種考慮,我認(rèn)為加密之后再壓縮更好。第四題 A、B兩節(jié)點(diǎn),中
間一條鏈路,鏈路是單工鏈路,要想辦法變成雙工鏈路,這道題我是這樣回答的,借鑒CP
U調(diào)度的思想,可以將鏈路作為CPU,那么有兩種方式,一是再引入一條鏈路,這樣A->B一條鏈路,B->A一條鏈路,AB之間變成了雙工鏈路,另一種方式是采用時(shí)
分復(fù)用的方式,將一個(gè)時(shí)間段分成兩個(gè)子時(shí)間段,在一個(gè)子時(shí)間段內(nèi)由A向B發(fā)送數(shù)據(jù),另
一個(gè)時(shí)間段由B向A發(fā)送數(shù)據(jù),這樣在宏觀上看來(lái),AB間是一個(gè)雙工鏈路,這兩種方式對(duì)應(yīng)
于操作系統(tǒng)中的并行與并發(fā)特性。第五個(gè)問(wèn)題,為什么TCP連接中,數(shù)據(jù)包不容易被偽造,
這道題我不懂,我就隨便瞎扯了一些TCP鏈接的特性,比如它是面向連接的,有滑動(dòng)窗口,
有ACK號(hào)嚴(yán)格匹配等,所以不容易偽造,也不知道回答對(duì)沒(méi)。第六個(gè)問(wèn)題是一個(gè)智力題,把
3/4個(gè)正方形劃分成4個(gè)面積形狀均相等的子圖形,我沒(méi)做出來(lái),他叫我說(shuō)思路,我說(shuō)這個(gè)
劃分應(yīng)該是和3/4個(gè)正方形中的三個(gè)小正方形的中心有關(guān),但是我暫時(shí)沒(méi)有想出來(lái)怎么劃分
,很抱歉。六個(gè)問(wèn)題問(wèn)完之后,問(wèn)我有什么問(wèn)題,我就問(wèn)了一下我被分到什么部門(mén),他說(shuō)
今天面試你的人是什么部門(mén)就代表你被分到哪個(gè)部門(mén),他說(shuō)他是海外事業(yè)部的,我過(guò)去之
后仍然做客戶端,他給我講了海外事業(yè)部主要是拓展QQ的海外業(yè)務(wù)等。后來(lái)又瞎扯了一些
,我說(shuō)我有四個(gè)同學(xué)都到了QQ,連我們的院花都被QQ帶走了,他問(wèn)我是什么部門(mén)的,我說(shuō)
她是學(xué)工業(yè)設(shè)計(jì)的,叫XX,他還在他們內(nèi)部的通訊工具上查詢看我說(shuō)假話沒(méi)。總之氣氛挺輕松的,雖然題目并不簡(jiǎn)單。綜合能力測(cè)試和HR面:
聽(tīng)我的同學(xué)說(shuō),二面過(guò)了就基本上確定了,其實(shí)并不是這樣的,據(jù)我所知,參加綜合能力
測(cè)試和HR面的同學(xué)還是有不少被刷掉的。據(jù)說(shuō)QQ是要招200人,參加綜合能力測(cè)試和HR面的
有233個(gè)人,意味著要刷掉33個(gè)人(其實(shí)不止)。
綜合能力測(cè)試其實(shí)就只有10道題的行政能力測(cè)試題目和200多道性格測(cè)試題目,在網(wǎng)吧完成
的,沒(méi)有什么特別的,只要不是人品有問(wèn)題,應(yīng)該問(wèn)題不大。
HR面我被安排在上午十點(diǎn)二十,但是那HR可能剛開(kāi)始太富有激情,一個(gè)人本來(lái)該面二十分
鐘的,結(jié)果我前面的人面了四五十分鐘,輪到我的時(shí)候都中午了,我面的時(shí)候,就有人打
電話叫他吃飯了,所以我就被匆匆地問(wèn)了幾個(gè)問(wèn)題,包括我的學(xué)習(xí)情況,去深圳工作的話
和女朋友關(guān)系怎么辦等等,沒(méi)有什么特別的,這一面不要說(shuō)錯(cuò)話應(yīng)該就OK了。我面的時(shí)間
很短,我一出去,外邊等待的一武大MM就說(shuō),你怎么這么快?我郁悶得很,心想這次估計(jì)
掛了。等待和簽約:
HR面的時(shí)候,說(shuō)31號(hào)前等通知,我從29號(hào)就開(kāi)始盼啊盼,和一起參加HR面的幾個(gè)同學(xué)都保
持聯(lián)系,也和群里的同學(xué)在聊,從29號(hào)晚上開(kāi)始,就有同學(xué)接到通知說(shuō)通過(guò)HR面,具體的
等待后邊通知,我一點(diǎn)消息都沒(méi)有,有的同學(xué)通過(guò)內(nèi)部的實(shí)習(xí)同學(xué)打聽(tīng),據(jù)說(shuō)也打聽(tīng)到了
他們?cè)诿麊沃?#xff0c;貌似被錄取了,我認(rèn)識(shí)的同學(xué)都不在海外事業(yè)部,所以我打聽(tīng)不到。30號(hào)
下午的時(shí)候,我著實(shí)放棄了,一個(gè)人買(mǎi)了一罐子雞湯,窩到寢室看電視去了。晚上九點(diǎn)過(guò)
,電話來(lái)了,一看號(hào)碼我就是知道是騰訊來(lái)的87166666,接起來(lái)果然是,HR有氣無(wú)力地報(bào)
了一通我被錄取的職位,仍然是海外事業(yè)部客戶端軟件開(kāi)發(fā),薪資XX,簽約時(shí)間,要帶的
材料,就掛了。至此騰訊的offer總算是拿下了,前后持續(xù)了半個(gè)月。后記:
因?yàn)榫C合考慮到IT業(yè)的不穩(wěn)定,地理因素,MM因素,薪資因素等,綜合了家人,朋友以及
白云網(wǎng)友的意見(jiàn),我在1號(hào)拒絕了騰訊的簽約。和我一起HR面的我所知道的同學(xué)中,有6個(gè)
人被刷掉或列為后備,只有我和另外一個(gè)武大的本科生拿到了offer,據(jù)我所知,那位武大
的同學(xué)也不會(huì)去騰訊,因?yàn)樗蛩闳グ⒗镅芯吭骸?其實(shí)很多同學(xué)擔(dān)心有人拿了offer又不去浪費(fèi)了名額,其實(shí)這是么有必要的,就拿騰訊來(lái)說(shuō)
,它有很多后備的人選,有拒絕的,那么后備的人自然補(bǔ)上,所以如果你足夠優(yōu)秀,仍然
是可以去的,不存在浪費(fèi)名額的說(shuō)法。總結(jié):
1. 騰訊的整個(gè)招聘過(guò)程組織得非常有條理,而且為霸王筆的同學(xué)準(zhǔn)備好了教室,據(jù)說(shuō)還允
許霸王一面,不知是否屬實(shí),從這個(gè)意義上說(shuō)來(lái),騰訊公司還是很求才若渴的,不想因?yàn)?某些意外原因而錯(cuò)失人才;
2. 騰訊的招聘過(guò)程難度梯度比較明顯,筆試時(shí)題目在我所參與的筆試中難度中等偏上,一
面是一些基礎(chǔ)的算法、書(shū)本或編程中遇到的基礎(chǔ)知識(shí),二面在一面的基礎(chǔ)上更進(jìn)一步,考
察反應(yīng)能力,我認(rèn)為回答二面的問(wèn)題基礎(chǔ)知識(shí)是一方面,在基礎(chǔ)知識(shí)方面仍然需要進(jìn)一步
思考才能回答,正如我一騰訊的同學(xué)所說(shuō),二面是考思維能力吧。
3. 如果運(yùn)氣不好遇到比較喜歡問(wèn)難題的面試官也不要緊,即使你有問(wèn)題沒(méi)有回答出來(lái),他
也會(huì)綜合考慮的。有些第一面問(wèn)題非常簡(jiǎn)單的同學(xué)沒(méi)有進(jìn)入二面,這可能也和筆試成績(jī)有
一定關(guān)系吧,所以筆試成績(jī)也較為重要。
4. 騰訊技術(shù)類面試一般不需要穿正裝,這個(gè)一般IT公司是一樣的,比如百度宣講時(shí)也再三
宣稱,不要穿正裝去面試。但是其他的,如產(chǎn)品類的,最好是正裝啦。
5. 騰訊很保守,分兩批通知人去簽約,我猜想,第二批可能是補(bǔ)錄的吧。據(jù)我所知的一同
學(xué)就被弄到補(bǔ)錄名單中去了,這個(gè)對(duì)于學(xué)生而言,其實(shí)有些不人道,因?yàn)榈却倪^(guò)程是非
常難熬的。我的整個(gè)騰訊的面試經(jīng)過(guò)就這些了,期望能對(duì)大家找工作有一些作用,總之心態(tài)最重要,
自信最重要,后序我將陸續(xù)奉上百度、阿里巴巴、國(guó)企、及其他一些需要群面的企業(yè)的面
經(jīng),有時(shí)間就寫(xiě)寫(xiě)吧,快離開(kāi)學(xué)校了,呵呵。
總結(jié)
- 上一篇: docker命令push,pull等设置
- 下一篇: 估算CarSim中车辆轮胎的纵向刚度与侧