[zz from byhh]完整的騰訊面試經過

前言:

從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. 騰訊很保守,分兩批通知人去簽約,我猜想,第二批可能是補錄的吧。據我所知的一同 學就被弄到補錄名單中去了,這個對於學生而言,其實有些不人道,因爲等待的過程是非 常難熬的。 我的整個騰訊的面試經過就這些了,期望能對大家找工作有一些作用,總之心態最重要, 自信最重要,後序我將陸續奉上百度、阿里巴巴、國企、及其他一些需要羣面的企業的面 經,有時間就寫寫吧,快離開學校了,呵呵。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章