天天看點

【轉】騰訊、百度、網易遊戲、華為Offer及筆經面經

【轉】騰訊、百度、網易遊戲、華為Offer及筆經面經 

[題注】:轉載的目的是告誡自己,認清差距、時時警示自己,要加油!

應屆生上泡了兩年,一直都是下資料,下筆試題,面試題。一直都在感謝那些默默付出的人。

寫這個文章花了我兩個夜晚的時間,不是為了炫耀,隻是為了能給那些“迷惘”的學弟學妹,一點點建議而已。

大家何必那麼認真,更沒必要說髒話。我不在乎你們怎麼評價我。隻要有人覺得文章有用,我就欣慰了。

謝謝大家,别說髒話,以和為貴。飲水思源,謝謝應屆生上默默付出的師兄師姐,謝謝那麼多份筆試題,面試題,

沒有這些資料,就沒有現在的我。真心感謝。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

面試完畢,已跟網易遊戲簽約。遂敲一份筆經面經,記錄下面試經過。類似于用日記記錄自己,

同時希望對師弟師妹有一定幫助。不是炫耀,隻是希望攢RP,希望各位不要鄙視我。

正所謂“飲水思源”。

小弟來自廣州華南理工大學,計算機科學與工程學院。給華工計算機打一個廣告吧,呵呵。。。

------------------------------------------------------------------------------------------------------------------------------------------

一 騰訊(20

1

1

4月):(所報職位:背景開發工程師 – 深圳)

騰訊是我一直準備的公司,是以對筆試的知識點及面試側重點有一定的了解。

@筆試

一份2個小時卷子,挺基礎的,具體什麼題記不清楚了。涉及網絡原理,c/c++語言基礎及進階機制,

基礎資料結構及算法,資料庫,linux基礎,linux下可執行檔案組織機制(記憶體布局,.text,.bss,.data組織方式等)。

因為一直在準備,是以這份卷子答起來,相對比較順利。成績有80+,這個為通過實習面試起決定性作用。

今天筆試卷子可以勾選bussiness unit(BU),果斷勾選B3(互動娛樂)。

@一面

我習慣面試帶履歷(因為希望面試官多注重自己的項目經驗,少問些算法,展現下自己優勢吧),見到一面面試官,

直接雙手遞上一份履歷。果然面試官對着履歷開始問,看着履歷中寫到的技能一項項問。

c++ 問了多态實作機制(這個問題屢次被面試官問),直接把insight c++ object models書裡面的記憶體布局圖搬上去,面試官非常滿意。

tcp/ip原理 ,問了TCP狀态變遷圖,TCP/IP接受發送緩沖區相關概念。

對Unix環境程式設計、網絡程式設計問的較多,不過都是Apue,Unp上面的,從容應答。

linux kernel,問了一些核心源碼相關的概念,問得廣而淺,不難回答。

幾個綜合問題,

1

QQ飛車新使用者注冊時,如何判斷新注冊名字是否已存在?(數量級:幾億)

2 編寫高效伺服器程式,需考慮的因素?

3 Epoll機制相關概念(Epoll與Select機制差別),這個概念許多面試官都會問起

一面答得不錯,加上筆試成績不錯。面試官當場說了一些表揚的話,并把他QQ留給我,說以後什麼事直接咨詢他。

我知道自己肯定過了,後面面試走流程吧。^_^。

@二面

一個和藹的大叔,35-45歲,一直在笑。從履歷開始,介紹技能,介紹項目經驗,

對筆試時的系統設計題做改進優化,随便說了下自己想法。

@HR面

随便聊天。

拿到騰訊實習Offer,并在騰訊暑期實習兩個月。

二、百度(20

1

1

/

1

0) (所報職位:軟體研發工程師 – 深圳)

對百度的面試一直很猶豫,不知是否應該參加。主要兩個原因,一是騰訊已認證實習拿到Offer,

二是覺得自己算法很差,怕被鄙視。直至考試前一天,都沒有确定是否應該參加。幸運地是,最終克服自己的害怕,

走上了百度的筆試考場,有機會體會百度的面試。

面度的筆試卷子,因部門而異。我報的軟體研發,RD-3的卷子。

@筆試

筆試題回憶版

一簡答題(30分)

1 對遠端linux/unix系統進行遠端操作,通常的途徑是采用終端軟體通過ssh登陸遠端系統進行操作,

但是在網絡發生中斷時,Linux/unix端運作的程式将會中斷。

請闡述這種問題發生的原理、通過何種路徑可以避免這種問題、以及闡述可避免這種問題發生途徑的原理

2 最小堆 插入,删除 程式設計實作。

3 不知所雲。

二算法與程式設計(40分)(算法可以使用僞代碼描述)

4 給定一個數字編碼N,大多數情況下可以找到一個數字編碼M,其位數與N相同,各位數字之和與N的各位數字之和相同。

并且M是大于N的數值中最小的一個,也可能M不存在。

如:N=

1

34,則M=

1

43.如N=020,則M=

1

1

。形式化表述為F(N)=M。如果M不存在,則F(N)=-

1

要求給定算法計算F(N)序列。

5 給定序列s={a

1

,a2,…,an};

1

)構造算法求全排列。2)構造算法求所有組合。

三 系統設計題(40分)

這個有時間再慢慢回憶吧。

這個筆試可以用超爛來形容,勉強40分(後面面試時,卷子上見到)。

筆試當天是星期日,當晚手機沒電,充電開機後有兩個未接020-*。

因為其他童鞋都是短信通知,是以沒太在意,自己沒收到短信通知,很清楚筆試沒過,遂決定霸面。

星期一:霸面,霸終端研發深圳,見到面試官,但面試官一直忙于找我筆試成績,我就一直推銷自己,

項目經驗如何,linux如何,核心如何,TCP/IP網絡如何,嵌入式開發如何。終于面試官問了幾個小題,

寫了幾個程式設計之美上面的小題。答的還可以,但因為霸面,他一直不爽我。

這次霸面非常失敗,自己也備受打擊。

失落的星期一夜晚,無意中又收到020-*的電話,接起來,對方告知是百度公司,通知星期二去一面。

星期二:哥今天是有通知來一面,不是霸面了。NND。

一面:設計資料結構及改進。我做的不好,我坦言資料結構及算法一般,因為自己忙項目,但項目經驗及linux,網絡知識較豐富。

遂轉問linux及核心源碼,tcp/ip原理及實作細節。

他拿着筆記本上網查問題,我壓力大啊。問題廣而深,幸好linux掌握的還可以。

記起來的問題有,linux作業系統作用,記憶體管理在源碼哪個目錄(mm),說些程序排程核心實作大緻機制,

TCP/IP接收發送緩沖區,記憶體管理實作機制。又對項目提問題,要求優化。

面試快結束時,面試官直言我資料結構及算法掌握的不熟練,以後希望強化。

雖然知道這可能意味被淘汰,但還是特别感謝他,遂說了N多謝謝,但都是真心的。因為對比他和霸面的面試官。

星期二晚上一直沒通知,我等到12點就睡了。失望,絕望。雖面試時知道自己可能被淘汰,

但仍不願接受這個事實,但現在不得不接受,帶着遺憾入夢。

星期三晚上,沒有期待的時候,不經意又是百度的通知。那一刻,死裡逃生,我想尖叫。

星期四:二面:兩個算法都是程式設計之美的。其他就是linux、核心,網絡、項目,高效伺服器,如何預防攻擊等題目,

發揮的不錯。面試官一直微笑。我知道三面有了。

星期五:三面:萬幸不問算法,問意向,項目經驗,項目細節及能否優化,linux核心等。因為項目确實是自己完成的,是以答的還不錯。

星期日:收到Offer通知。但職位是北京的研發。

三、華為:(所報職位:作業系統工程師 – 深圳)

@機試

給一個數組,求數組中比平均數大的數字個數。

這題是在考我們的程式設計能力嗎?⊙﹏⊙b汗。

@一面

主要就項目問。

@二面

群面。技術,非技術總16人,分兩組,讨論曹操,劉備,孫權,諸葛亮,誰适合當總經理。這個環節,技術的一直被動。

Finally,我們組淘汰了兩個(都是技術)。

@三面

上機性格測試,

1

04題。這個沒聽說刷人的。

@四面

跟兩個“老男人”随便聊,聊項目,聊未來方向,聊華為作業系統發展,聊linux作業系統及實作,很廣但很淺。

四、網易遊戲面試 遊戲系統架構師

@筆試

1

0.22

網易遊戲筆試,三個小時的題,題量還是非常大的,設計計算機各核心課程,作業系統原理,c/c++,

基礎資料結構與算法,數學推理題,網絡等。題特别多,題特别雜,幾乎沒有童鞋做完吧。

多多益善吧。經曆過考研,一些基礎課程還是蠻紮實,前40分的題答的不錯,後面的算法題做的一般,我隻會最笨重的方法。

@一面

1

0.24晚上通知

1

1

.

1

下午2點面試

最次給各位同學提個醒,履歷一定要多帶幾份,以備不時之需。他要求2份,我帶了5份,份份都起作用了。

通知2點面試,

1

:50簽到,開始做題,矩陣相乘,差不多

1

0分鐘做完。開始等一面。

大概2:40通知一面,2個面試官。要求先自我介紹,其次問了一個項目,之後問了一句你是哪裡人?

你目前拿到哪些公司offer?之後一面結束,不足10分鐘。沒問任何技術,偶是相當不淡定。

@二面

1

1

.

1

晚上通知

1

1

.2下午3點面試

2點半左右到網易準備。大概3點

1

0分,一個女人帶我進面試房間。當時緊張了,這是我的第一個女技術面試官?

進去後,2男

1

女。面試官先自我介紹,

1

個大話西遊II主程式,

1

個天下II主程式,靓女姐姐是HR。二面+HR面一起面的。

問了很多c++進階機制,問了2道基礎算法吧。題目回憶如下:

1

構造函數可以調用虛函數嗎?文法上通過嗎?語義上可以通過嗎?

2 析構函數可以抛出異常嗎?為什麼不能抛出異常?除了資源洩露,還有其他需考慮的因素嗎?

3 c++中類型轉換機制?各适用什麼環境?dynamic_cast轉換失敗時,會出現什麼情況?(對指針,傳回NULL.對引用,抛出bad_cast異常)

4 洗牌算法,如何證明算法是随機的

5

1

00萬個32位整數,如何最快找到中位數。能保證每個數是唯一的,如何實作O(N)算法?

這道題是程式設計之美或程式設計珠玑上的。

這道題使用位圖,需要空間複雜度是5

1

2M。

6 問了一個他們感興趣的項目,關于gcc插件的,聊了比較久。

7 拷貝構造函數作用及用途?什麼時候需要自定義拷貝構造函數?

8一些題目記不清楚了。

9聊待遇。

@簽約 

.2晚上收到通過面試通知,通知

.3下午4點簽約。

網易遊戲不同部門不同職位不同面試面試内容不同,但都注重基礎知識。

還有的一面題目是BFS,這個應該特别容易了,但還有一些童鞋完成的不好。

如果各位師弟師妹,如果覺得此貼對你們有點點幫助,就祝福下我吧,幫我攢點RP吧,多謝。

關于書單,清單如下:

一直準備的是騰訊背景開發,是以針對性很強,難免有偏見,望見諒。

先貼下騰訊背景開發要求的技能,這些技能要求是我讀書的指南針。

遊戲開發類——

背景開發工程師

職位描述:

負責遊戲相關背景系統的開發和設計。

職位要求:

1

、 有Unix/Linux作業系統下的

C/C++

項目的2年以上開發經驗;

2、 熟悉網絡程式設計;熟悉Linux下的mysql開發;

3、

精通TCP/IP協定及程式設計

,熟悉網際網路應用協定;

4、熟悉面向對象的大型分布式系統設計與開發,了解中間件的技術以及基于中間件的開發模式;

5、全面的軟體知識結構(

作業系統

、軟體工程、設計模式

、資料結構

、資料庫系統、網絡安全);

6、 具備良好的分析解決問題能力,能獨立承擔任務和有系統進度把控能力;

7、 責任心強,良好的對外溝通和團隊協作能力,主動,好學。

有以下經驗者優先考慮:

1

、大型分布式系統設計開發經驗;

2、遊戲背景系統開發經驗。

上圖:

【轉】騰訊、百度、網易遊戲、華為Offer及筆經面經
【轉】騰訊、百度、網易遊戲、華為Offer及筆經面經

這其中大部分書都是研

1

下,研2上購買的。大部分已讀完。一部分書反複讀3遍以上。比如apue,unp,tcp/ip v

1

等。

重點圈幾本推薦下:(*号書籍 強烈推薦)

c/c++:

初級 c語言解惑/C和指針

專家:C專家程式設計 *

c++ primer/effictive c++/inside c++ *

tcp/ip書籍

tcp/ip v

1

(tcp/ip 詳解 卷I) *** 卷2/3沒必要買,也沒必要看,這本卷

1

主要将tcp/ip原理

unp *** 這本主要将linux socket程式設計API,兩本結合看,效果最佳

unp2(unix 網絡程式設計第2卷) 這本主要講IPC,有時間可以看看

linux書籍:

apue ***

深入了解linux核心 *

其他系列linux源碼書籍,适量看即可。

應試算法及智力題:

程式設計之美、程式設計珠玑

海量資料處理:

這個網上收集資料,或者有時間我傳上來。

資料結構:

資料結構與算法分析-C語言描述 Weiss *

考研資料結構

1

800紅色題集 (這本書對于向我這種資料結構基礎薄弱的童鞋,幫助很大)

差點沒忘了2本至牛的書籍:

彙編語言程式設計(毫不誇張的說,這本書改變了我)

【轉】騰訊、百度、網易遊戲、華為Offer及筆經面經

深入了解計算機系統

其他的沒什麼了,這些書都掌握了,足夠了,O了。

我對嵌入式開發蠻感興趣的,是以上面photo中也包含部分嵌入式書籍,不感興趣的可以忽略。

最後,談一談廣研和深圳騰訊的一點面試感受。

廣研:

筆試:6小題,設計基礎資料結構:連結清單,樹,字元串。很基礎,但也很考驗C語言功底。

不要說你會,要熟練,要確定你寫的代碼無誤且程式設計風格優美。這樣才能增加籌碼。保證你後面順利通過。

一面:講解筆試卷子解題思想,講解項目。面試過程很随意,面試官主要側重linux,c++,網絡。

二面:談一談項目,就項目問一些問題。問一些他們實際中遇到的問題,你會如何解決? 也是比較随意。

騰訊深圳:

筆試: 資料結構、tcp/ip、作業系統、計算機底層機制(包括堆棧如何組織等,apue有講),

20個多選,每題3分,多選少選不得分。40分大題。每空4分,10空。大題基本是送分的。

這個筆試我得了82分,42+40, RAID磁盤陣列,b樹/b+樹,堆,幾個問題沒把握,錯了6個選擇題。

82分,一面面試官說算不錯的分數了。

一面: 可能因為筆試成績不錯,是以面試過程比較順利。2頁的履歷,他隻看了第

1

頁的

1

/2,其它的都沒看。

就我履歷所列技能問了幾個問題, tcp/ip狀态轉換,socket api,高性能遊戲伺服器需要考慮哪些瓶頸,

我主要就tcp/ip回答的,比如三次握手隊列,資料接受/發送緩沖區等。linux也問了幾個 proc機制及作用,

我直接跟他談 ls /proc核心如何生成結果,這個是proc檔案系統源碼所談,他比較滿意。你使用的IPC及比較?

epoll模型及優缺點?(這個年年必考)主要有3點,對

應于select的3個缺點:

1 連接配接數受限

2 查找配對速度慢

3 資料由核心拷貝到使用者态。

C++主要問動态如何實作。直接畫記憶體布局,既inside c++所講,面試官還是比較滿意。

還問了一些大數量的問題。由于之前準備過,是以答的還不錯。

一面過程中,面試管多次提到他對我非常滿意,我也适當的表達了實習後會留職。

他把Q号留給我,說以後有什麼事,就在Q上聯系他。那一刻,我就知,我應該可以去實習了。呵呵

二面:比較随意,自己講項目。講完項目,還有點時間,就着筆試附加題問了些問題。

後又結合QQ相冊問了些比較難的問題,勉強答了幾個。

hr面:是我所有面試中最慘的一次,由于之前浩哥面hr很随意,是以我就沒準備了,

因為有一些其他事要做。中午沒睡好,4點去面,頭暈暈的。被hr問的好慘。主要是談人生。有幾個問題答的不好:

繼續閱讀