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