騰訊當時的筆試題好像就是側重c++語法吧,似乎都是比較基本的題目。
面試開始就是問了一些簡歷的事情,記得問的還是比較仔細的,我的每個項目都逐個介紹了一遍。這道工序完了之后是讓我寫一個程序解決一個簡單的問題,我也比較快就寫出來了。他看了一下問了一些問題,我就逐一簡答了一下??偣泊蟾呕艘粋€小時左右吧,我就出來了。
------------------------
面試官1周:
給了我一份試題,開始做題,都是一些比較基礎的東西。
MFC和ATL/WTL的消息實現機制
排序算法,hash表的定義,優勢。
使用C++實現一個單例模式
談談除IDE外的調試工具,DegView,WinDbg等等
編程題:
最有效的將54張牌隨機生成,我多次使用的隨機數,但是考官的要求是只使用一次隨機數。
面試官2菜:
問我較多的是網絡協議設計的問題,聊了些遠程調試方面的技術,dump、minidump
問了些COM組件原理,開發相關的問題
面試官3 不詳
問我對QQ文件傳輸模塊的設計
編程題:
將一個超過64位的大數轉換成16進制的數字
面試官4 林
問了線程管理相關的問題,COM組件接口的實現機制,調用機制,套間模型等等
-------------
雖然最終沒有選擇騰訊,但是感覺騰訊的招聘還是一次很有代表的招聘,希望下面的
經歷對大家有些用處。
本人計算機類碩士,研究方向是三維圖形及建模,對游戲很感興趣,是個游戲玩家(非
網游),所以準備的方向是騰訊游戲類的工程師。
第一輪:筆試。qq的筆試題還是很有特色的,考察重點是數據結構,Unix,IQ,數據結
構部分都是很基本的知識,如果你不會,那你就該檢討自己了。Unix部分,相對而言比較
陌生,但也不是很難,是Unix方面很基本的東西。這些東西在面試中又一再提到。IQ,比
較難了,尤其是最后一個選做題,題目大家應該都知道了。筆試及格成績應該是50分左右
吧,而且給分還是很松的。筆試其實是很重要的,因為最后筆試試卷和你的個人材料都是
裝訂在一起的,每個面試官都會看到。所以,比較差的成績即使進入了面試也很難走遠。
第二輪:技術類一面。這個和你具體選擇的方向關系不大,主要分研發,測試,基礎研
究等幾個方向。我面的是研發方向的,這個方向我感覺是純軟件的,所以對計算機的學生
來說相當有利,尤其是從事網絡,應用軟件,數據庫這些上層軟件的。面試官以提問+代碼
相結合。我的問題有:自我介紹,項目介紹,這兩個是必須的,在介紹項目的時候,面試
官會深入問問題,會對某些細節,例如數據機構,算法復雜度,數據庫連接問一些問題。
隨后是專業面試,題目都是相當經典的題目,大致有:進程與線程;Unix和windows進程間
通信的主要方式和系統調用;敘述TCP/UDP協議,他們的應用,TCP的三次握手,滑動窗口
,超時重傳;HTTP協議和COOKIE機制和一些COOKIE的問題(這個我不會);讓你設計一個PD
A上的通信簿,你會用樹還是哈希,從這個問題會引申出hash,平衡數,紅黑數的一系列問
題;面向對象的多態是什么,設計一個多態的例子;C++的虛函數實現機制。問題不難,但
是你回答問題的手段和技巧很重要。幾個經驗:要有自信,敢說精通,熟悉這些詞語,對
自己的強項一定要毫不猶豫的說精通。回答問題之前,好好組織一下語言,不要說的顛三
倒四,邏輯不清。問題一定要回答的全面,你說的越多越好,如果能把相關方面說出來更
好。
在進行技術面的時候,一個最重要的問題就是,你要清楚的知道自己的強項,自己的特
長,盡可能的把面試官朝你的方向引。我的特長是應用軟件開發和面向對象建模,所以我
每次自我介紹總要強調自己的軟工很好,軟件開發流程很熟,這樣和很多面試官在軟件開
發流程方面就有很多問題可以探討。你一定要展現出你的技術專業性(你是技術類的)和你
對公司,職位的熱情。
在一面的時候,我向面試官展現了很多我在軟件開發方面的技術和對游戲的熱愛。所以
,當面試官向我祝賀說"我相信你應該可以進入騰訊",我就知道,這個offer應該有希望了
。
第三輪:團隊合作,這個問題大家也應該都知道,4副撲克搭塔放雞蛋的。這一輪我認
為是過場,只要你技術面表現的不錯,你這一面都不大會刷。一組8個,我們做的很成功,
兩個實驗都完成了。但是最后還是只有兩個進入了第三輪。而且,最后HR面試的時候,我
偷偷看了一下我的面試記錄單,第二面是空的,根本沒用啊。
第四輪:繼續技術面,manager技術面,面的很辛苦,騰訊組織的非常不好,很多人等
了很久才開始面,而且一部分面試官因故走了,結果這一面很多人面的很郁悶。面我的據
說是互動娛樂部的一個manager(HR說的),面的問題很無聊:進程和線程,TCP/UDP,排序算
法(讓我給他完整的說了一遍我所知道的排序算法和他們的時間復雜度),Windows的內存尋
址方式,Socket中阻塞模式干什么用的,你所認為的軟件開發模式和你對你所做項目的一
些評價。最后是一個程序題,寫代碼,個題非常重要,如果做不出來或者做錯了,那就
估計沒戲了。題目是給定一個字符串,例如abc123de4f67,把里面所有的數字字串找出來,
并且存貯起來,例如你要把123,4,67找出來,放到3個char型數組里。這個題目很經典了
,相信很多人都知道。
第五輪:HR面,paul一面定乾坤,淘汰率很高,據說一半。HR面無非就是談談薪水啊,
你的家屬啊,發你offer你來不來啊,可能根據個人情況還會談一些其他的。paul和我談了
很多網游的問題,包括網游的發展前景,一些成功網游的經驗,一些競爭公司的情況,游
戲引擎的一些情況,介紹了一下我要去的部門和職位??傊銘摫憩F的更加專業點,
要有自信。
之后發offer,簽約會。確定deadline是11月20號。
對技術類公司的一些總結:基礎全面,重點突出,專業對口,滿足這三點,就絕對可以
找到一個不錯的技術類職位。如果你能對你所要從事的行業有清醒的認識(主要公司,目前
格局,發展趨勢),那你將在求職中無往不勝。
首先感謝騰訊給了這么長的面試流程,好好鍛煉了下自己。感謝給了這么長的deadlin
e,好進行選擇和思考。感謝面試時認識的很多朋友。
轉載請注明出自應屆生求職招聘論壇 http://bbs.yingjiesheng.com/,本貼地址:http://bbs.yingjiesheng.com/thread-14383-1-1.html
----------------------
昨天我正式收到了騰訊的實習生offer,暑假我要去深圳的騰訊總部了~
從開始想到申請騰訊實習生,一直到接到lily通知我拿到offer,過程還是挺曲折的~我只是想記錄下這段經歷~
騰訊的面試是我第二次的正式面試。第一次是以前寫過的51job.com重慶200強選拔賽中的面試,那次貌似碰到一個不搞技術的人來問我很多非技術的問題,我比較郁悶,他比我更郁悶。。。
網申
按我的記憶,以前網頁上寫明了,在全國招300名技術類實習生到深圳的騰訊總部實習。我看到這個要求,感覺自己還蠻符合的(至少不像MSRA的實習生要求那么高,在此羨慕一下sixsix),于是我進行了網申。在線填完簡歷之后,遲遲沒有提交,因為面對繁多的職位不知道選哪個好。于是我想到了在騰訊工作的暉哥,咨詢他老人家當然是必不可少的~
牛人都是很忙的,暉哥也不例外,不過暉哥仍然愿意在繁忙的工作中為我出謀劃策。在網站上可以看到騰訊的招聘計劃中,沒有任何一個職位是在重慶招聘的,這讓我感到希望渺茫。如果這個時候我仍然執著地等待網申的結果,可能我就與騰訊無緣了。。。于是我選擇了:
內部推薦
事實證明,網申也沒有任何回音。暉哥讓我把電子簡歷發給他看看,耐心地看過之后,暉哥說希望我能來他的組工作。我也想啊。。。不過這件事不是暉哥就能說了算的。。。暉哥把我的簡歷交給他們部門的HR老大,然后讓我等消息~
一面
6月3日上午10點54分,暉哥給我QQ發了條消息,說“準備一下面試,隨時可能有電話”,不過這個時候我并沒上QQ。。。人在實驗室做網絡安全課程設計,大概11點接到一個0755區號的電話,心想應該是深圳的,果然是一面的電話面試。面試官是個男青年聲音,問我現在方不方便講話,我走到窗戶邊的安靜地方跟他說方便。
一面持續了大概20多分鐘,基本全是技術面。他首先說看過了我的簡歷,讓我從做過的項目里選擇一個來談談。主動權掌握在了我的手中我就不客氣了,我選擇了Dreambook,這是我們DreamX小隊最引以為豪的項目,經歷過MSRA大牛們的提問,已經向不知道多少人展示過。他問了我一些很常規的技術面問題——介紹一下這個項目,我們開發團隊有幾個人,開發了多久,如何分工,我在這個項目中擔任了什么職責,用到了一些什么技術,軟件的架構和某些流程是怎樣的,軟件的缺陷和前景在哪里。了解了整個項目之后,他問到了一些技術細節——每個模塊是依據什么技術和想法實現的,模塊之間的接口是怎樣的,測試是否考慮到各種實際情況,某些功能是否會在不同的情況下失效,軟件是否做過性能測試,如何發現軟件的瓶頸所在,軟件是否根據用戶的進一步需求改進過并且如何改進的,我們參加比賽的時候,我們的作品為什么比其他作品好。
這個項目是我參與過開發周期最長的一個,他問到的這些問題,我們早就有過考慮,并且有著完善的解決方案。技術面沒有難倒我。之后他問了我一個RP題,我認為自己在性格上的優缺點是什么。我說我的優點在于樂于并善于學習新鮮的東西,然后舉例說明,缺點在于有時候容易驕傲自滿,我自己也知道這個缺點,正在努力改進中。。。
最后他問我對騰訊公司有沒有什么想了解的,或者想問的問題,我說沒有。他問為什么,我說我有暉哥,以前了解過一些,以后有不了解的也可以問他。然后電話就掛了。
暉哥問起我,我才發現我不應該不問問題。暉哥猜不出是誰面的我,我還不知道什么時候會有二面的消息。。。于是再次等消息。。。
二面
6月4日,暉哥告訴我,一面通過了,等端午節過了準備二面。我跟暉哥說,看來騰訊對實習生的技術要求不高啊,一面還是比較簡單的。后來才知道,BT的在后面。二面過程是我目前見過的第二BT面試(第一BT的當然是MSRA的面試)。幸好我還是認真準備了的——我在網上搜以前騰訊招實習生的筆試面試題,結果一個都沒有,只有招員工的時候的筆試面試題,我就按這些題準備,思考騰訊可能考察哪些方面,后來確實派上了些用場。這告訴我,無論認為多么簡單,面試一定要有準備。
6月17日,一個陌生的女人闖入我的生活,她就是lily。她打電話告訴我恭喜我通過了初試,希望我能參加在成都進行的復試。我問了一下lily,為什么要去成都,不來重慶面,她說因為重慶地區通過了一面的就我一個人。。。我徹底絕望了,看來不得不去一趟成都。我問二面是誰來面,她說是一個部門的主管。我又問二面主要是什么問題,她說還是以技術面為主。暉哥建議我準備一下算法。
6月19日早上,我在川大旁的一個酒店12樓的客房里面試,lily給我的schedule是9點到9點半面試,實際上從9點面到了 10點45分。在這1個多小時內,面試官的問題密度灰常大,覆蓋面之廣,技術難度之深,在本人短暫的職業生涯中史無前例。他問到了Unix/Linux 或 Windows 開發平臺下的C++,CGI,JS\AJAX\CSS\ASP\FLASH,Java EE網站開發,Java ME手機開發,嵌入式,3D渲染原理,3D游戲引擎,網絡分層,TCP/IP協議的原理,Winsock編程,服務器集群,分布式,Web服務器原理,數據庫設計,數據庫壓力測試,搜索引擎技術,基于.Net/C#的Web開發,大并發訪問網站的架構設計,軟件工程,算法和數據結構?;旧习盐沂煜さ模伊私馄っ模臀衣犝f過的,我沒聽說過的,全部問了一遍。面完出來之后,我的頭都是暈乎乎的。。。
二面的面試官人很好,我沒回答好的問題,他有時候會給我解釋一遍。他把我的每個項目都看了一下,針對每個項目都有至少一個的比較有深度的問題。因為問題太多,具體的印象比較深刻的問題能想起幾個就寫幾個:
讓我把Dreambook軟件的系統架構圖畫出來,問我系統架構圖、功能模塊圖、用戶流程圖的區別。(這個比較簡單)
哪個部分是Dreambook的核心,為什么?
下載一本書的所有網頁后,生成一本書的目錄、每章、每節之間的鏈接,這個樹形結構分析的算法是怎樣的?
去除每本書的網頁的廣告內容時,如何判斷哪些是正文,哪些是無效信息?(模糊匹配算法)是否是基于HTML標簽的?(是,但是不全是)是否是精確匹配的?(不是)
如何做用戶需求分析?是不是需要準備什么?舉例說明。
對Baidu和Google搜索引擎的原理了解多少?我們的搜索是搜索全文還是搜索摘要?(搜索全文,舉了Lucene的例子說明全文搜索原理)搜索量很大時,如何保證性能高效?(將搜索結果分頁顯示,一次只列出10個搜索結果)
有沒有在Linux下做過C++編程?開發平臺是什么?寫出該開發平臺編譯一個test.c文件的命令。
有沒有開發過3D游戲引擎?做了一個什么樣的游戲?這個游戲的特色在哪里?
OSI網絡7層結構是什么?詳述TCP連接3次握手的過程,如果在VC下開發,這個過程分別對應調用哪些Windows API?(我發現這個問題是騰訊對所有人必考的問題)設計一個異步傳輸模式下的數據包結構。
對Java EE框架下的Spring、Hibernate、Struts了解多少?對一個Web服務器的原理機制,比如Apache服務器的原理機制了解多少?IIS呢?
敘述當一個用戶登錄QQ時,與騰訊的服務器進行連接的過程。需要經過幾層的路由?如果要自動選擇最快的服務器進行連接,應該用什么方法實現?測試用戶與騰訊的多個鏡像服務器之間響應時間,是由用戶發起測試還是由服務器發起測試?(服務器)采用什么協議測試?(ICMP)
對于一個訪問量很高的網站,性能瓶頸在哪里?可以做哪些優化,架構如何設計?
如何探測一個網絡協議漏洞?發出的探測數據和接收到的響應數據是怎樣的?如何判斷是否存在漏洞?
最后一個問題印象最深,他說最后一個問題很簡單(他笑),就是讓我寫一個雙向鏈表的插入刪除操作,要求1:每次插入刪除之后,鏈表里的元素 ——假設是int——是按升序排列的;要求2:必須用C++實現2個類CNode和CLink,CLink類里面封裝add()和delete()方法。時間是20分鐘,他要求我在這20分鐘內,從12樓坐電梯下到1樓大廳,在大廳找個桌子,用紙筆寫好,然后上12樓交給他。
我在XXY寢室里寫模擬文件系統寫到4點睡的,寫了一晚上的指針操作,這個問題我還是比較熟悉,按時交給了他。代碼有優化的余地,不過沒來得及優化,跟他說明了一下。注意的地方有2點,一個是指針操作的時候,刪除哪個,連上哪個,操作順序安排容易出錯,要細心,還有就是添加和刪除的結點位于第一個和最后一個時,處理方式有些不同。
最后他問我有沒有什么問題,我問他什么時候給答復,他說下周內。然后他就叫下一個面試的同學進去了。
面完了才知道,這個面試官是暉哥所在部門老大的老大。。。大大牛啊~
轉載請注明出自應屆生求職招聘論壇 http://bbs.yingjiesheng.com/,本貼地址:http://bbs.yingjiesheng.com/thread-548371-1-1.html
--------------------
騰訊宣講,知道今年在重慶要擴招,要招35個。呵呵,高興啊,越來越有戲了。后來加上川美的一共要了27個。想一想,還是印證那句話,機會只留給那些有準備的人。華為面完第二天就是騰訊筆試,綠盟和騰訊筆試時間沖突,放棄。綠盟也是一家非常好的公司!騰訊研發崗位是一筆三面,前兩面是純技術面,也是最重要的,最后的HR面對開發的來說,基本沒關系。之前看了很多騰訊筆經,都是考C和數據結構,加一點點C++,基本沒有問題 筆試之前我都直接準備面試的東西了,包括之前成都筆試過的同學傳回來的信息。筆試題很正常,但我看到卷子一發下來,傻了。兩大題:一、選擇60分,二、程序填空40分。題目結構沒有問題,和往年一樣,但問題是選擇題部分,完全不著邊。往年就是考考C和數據結構,而這次基本沒有,有hash加密,操作系統也考了很多,而且比較偏。直接把會做的快速做完,主要做后面的程序填空,這個比較難。但我知道他們肯定看重程序這塊。程序填空兩道題,一題是四則混合運算,相當于計算器吧;另一題是背包算法??嗨稼は?,基本做好,時間根本不夠 兩道附加題都沒做。筆完后,也無所謂了,聽天由命吧。后來進入一面了,大家基本都進了。呵呵,看樣子騰訊知道錯了,要海面了。后來一面我才知道,我的選擇是對啊。主攻程序填空,筆試成績他們也基本認可,而且沒讓我寫程序,很多人都要求寫了。一面是一個和我們年紀差不多的小伙子,很友善,完全就是項目。我就講了一下自己的那個核心項目,也是最有技術含量的。呵呵,主要問了自己做了哪些東西,項目的瓶頸,以及你為解決這些瓶頸做的工作。還問了額外的兩個問題:怎樣用宏把多條語句括在一起?腦子里沒啥想法,立馬先說一個,用兩個大括號括起來就行了。他說再想想。想了幾秒,他提示說用while什么的可以不?我想起來了,用while(0)語句。Linux內核黑客很經典的一個東西,然后他又說這樣做的好處是什么?以前看過,想了一會兒,說就是多一個分號和少一個分號的區別。他沒有追究下去。第二個問題,全局變量、靜態變量、局部變量在虛擬地址空間中怎么存放?這個小case了。最后面試官問了我有什么問題問他。我說你怎么不問問我socket方面的東西呢?他說我知道你掌握的很好了,不用問了。嘿嘿,看樣子對我比較滿意,基本過關了,回去準備二面。
進入二面,也是最關鍵最難的一面,過了offer就基本到手了。過去一看,是那個香港人,去年師兄就倒在他的槍下,長得像中國人,但說中文像老外,中間還夾雜著一些英語單詞。不管了,豁出去了。第一個問題:看了你的簡歷,TCP網絡知識學的不錯,那講一下TCP和UDP的區別。(簡單?。㎡K,那你講一下為什么TCP要三次握手?我說建立連接。他說其實沒有什么連接這東西,都是虛的。他說的很對,所謂的連接確實很虛,人為的定義而已。以前沒想過這個問題,綜合所有對TCP的理解,我想了一會兒,我說為了協商窗口大小和初始序列號。他說對,是協商,那怎樣協商初始序列號呢?我倒!沒想過這個。那就臨時想,應該是隨機選取一個數,做為初始序列號。他說對,那為什么要隨即選呢?我靠?。〔徽牢夷悴涣T休啊 我想了半天,無果!他說隨機選一個,就是第一個包的序列號一定是隨機協商的那個數,其他的序列號的包就丟棄,也就是所謂的連接,可靠的傳輸。呵呵,問到這里,我明白了。這家伙確實厲害,其實知識很簡單,就是你有沒有想過為什么TCP他要這樣做呢?一直往下問,為什么?為什么??這才是對技術的追求,對技術的熱愛!他說OK,下一問題:如果有一個很大的程序,很 ci CPU。我說什么是ci CPU,他說就是很耗CPU。我說噢,心想很耗CPU就是很耗嘛,什么很ci啊。他繼續說,你怎么找到那段很ci CPU的代碼?我說主要看一下while循環、for循環的語句。他說code builder(沒聽清,好像是這兩個單詞)也是要做,但如果幾十萬行、幾百萬行的程序,有什么方法或工具去找呢?我說我們一般沒這么大代碼的程序,一般就是查看一下while循環、for循環的語句什么的。他說噢,那下一問題:volitate有什么作用?我了解一點,好像是防止編譯器優化。他說怎么防止優化?我說不知道,只是了解這個東西,沒具體用過。下一問題:函數??臻g里面有哪些東西?我說局部變量、參數、返回地址。他說嗯,返回地址是什么東西?我看過,但不大清楚,只怪在自己知識掌握的不大扎實。后來在他的慢慢開導下,知道了函數棧的大概原理。下一問題:就是上面說的談談select和epoll的區別。還有一個問題,記不起來了。想想整個面試過程他問的問題,都不難,剛開始都能回答,但他會一直往下問,一直問為什么?為什么要這樣做?就招架不住了,就是看你對知識的掌握是追根求源還是淺嘗輒止。這個面試官大概30出頭,是個技術高管,但整個過程他非常有激情,感覺比我們還有活力,心態更年輕。他說的話比你多得多,對你有壓倒性技術優勢,別被他壓倒。我心態很好,他跟我飚英語,我也加一些I see、OK之類的話,很淡定。對于技術面試,一定要放松,表現的比較牛,面試官更喜歡。呵呵,還有就是我能感受到他對技術的理解和追求的深度,雖然已經是高管了,但心態還是那樣的年輕、有活力。我能看出騰訊是個怎樣的公司,技術人員的培養方式和工作環境,很喜歡!二面完了之后,沒底啊。等結果,最后三面就沒啥了,提前看一下企業文化四個詞,對于技術類的hr面,基本不會刷人。后來所有27個進HR面,都簽約了。在等待二面結果的時候,華為讓簽三方,到了最后通牒了,相當糾結啊。后面沒什么好公司了,搞不好華為、騰訊兩頭空。后來一狠心,不簽了,既然選擇了騰訊,就相信自己!用《奮斗》里面徐志森跟陸濤說的話:你這是在賭博,有個決心我一定要下,就是和你一起回到小巷中,在那里只有一條出路,你決不能回頭,你只能往前沖,那是冒險沖出來的,這是一種生意 一種人生,那就叫做絕處逢生。
總結騰訊的面試經驗,一定要實際動手做過項目,并為解決關鍵問題做出貢獻!然后專業基本知識要扎實掌握,就問你簡歷上的東西,不要你什么都懂,就對你所掌握的那些知識要學的很深、很扎實,確實對技術執著、追求、熱愛!
------------------