|
應屆生上泡了兩年,一直都是下資料,下筆試題,面試題。一直都在感謝那些默默付出的人。寫這個帖子花了我兩個夜晚的時間,不是為了炫耀,只是為了能給那些“迷惘”的學弟學妹,一點點建議而已。大家何必那么認真,更沒必要說臟話。我不在乎你們怎么評價我。只要有人覺得帖子有用,我就欣慰了。謝謝大家,別說臟話,以和為貴。飲水思源,謝謝應屆生上默默付出的師兄師姐,謝謝那么多份筆試題,面試題,沒有這些資料,就沒有現(xiàn)在的我。真心感謝。 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 面試完畢,已跟網(wǎng)易游戲簽約。遂敲一份筆經(jīng)面經(jīng),記錄下面試經(jīng)過。類似于用日記記錄自己,同時希望對師弟師妹有一定幫助。不是炫耀,只是希望攢RP,希望各位不要鄙視我。 正所謂“飲水思源”。 小弟來自廣州華南理工大學,計算機科學與工程學院。給華工計算機打一個廣告吧,呵呵。。。 ------------------------------------------------------------------------------------------------------------------------------------------ 一 騰訊(2011 4月):(所報職位:后臺開發(fā)工程師 – 深圳) 騰訊是我一直準備的公司,所以對筆試的知識點及面試側重點有一定的了解。 @筆試 一份2個小時卷子,挺基礎的,具體什么題記不清楚了。涉及網(wǎng)絡原理,c/c++語言基礎及高級機制,基礎數(shù)據(jù)結構及算法,數(shù)據(jù)庫,linux基礎,linux下可執(zhí)行文件組織機制(內(nèi)存布局,.text,.bss,.data組織方式等)。 因為一直在準備,所以這份卷子答起來,相對比較順利。成績有80+,這個為通過實習面試起決定性作用。 今天筆試卷子可以勾選bussiness unit(BU),果斷勾選B3(互動娛樂)。 @一面 我習慣面試帶簡歷(因為希望面試官多注重自己的項目經(jīng)驗,少問些算法,體現(xiàn)下自己優(yōu)勢吧),見到一面面試官,直接雙手遞上一份簡歷。果然面試官對著簡歷開始問,看著簡歷中寫到的技能一項項問。 c++ 問了多態(tài)實現(xiàn)機制(這個問題屢次被面試官問),直接把insight c++ object models書里面的內(nèi)存布局圖搬上去,面試官非常滿意。 tcp/ip原理 ,問了TCP狀態(tài)變遷圖,TCP/IP接受發(fā)送緩沖區(qū)相關概念。 對Unix環(huán)境編程、網(wǎng)絡編程問的較多,不過都是Apue,Unp上面的,從容應答。 linux kernel,問了一些內(nèi)核源碼相關的概念,問得廣而淺,不難回答。 幾個綜合問題,1 QQ飛車新用戶注冊時,如何判斷新注冊名字是否已存在?(數(shù)量級:幾億) 2 編寫高效服務器程序,需考慮的因素? 3 Epoll機制相關概念(Epoll與Select機制區(qū)別),這個概念許多面試官都會問起 一面答得不錯,加上筆試成績不錯。面試官當場說了一些表揚的話,并把他QQ留給我,說以后什么事直接咨詢他。我知道自己肯定過了,后面面試走流程吧。^_^。 @二面 一個和藹的大叔,35-45歲,一直在笑。從簡歷開始,介紹技能,介紹項目經(jīng)驗,對筆試時的系統(tǒng)設計題做改進優(yōu)化,隨便說了下自己想法。 @HR面 隨便聊天。 拿到騰訊實習Offer,并在騰訊暑期實習兩個月。 二、百度(2011/10) (所報職位:軟件研發(fā)工程師 – 深圳) 對百度的面試一直很猶豫,不知是否應該參加。主要兩個原因,一是騰訊已通過實習拿到Offer,二是覺得自己算法很差,怕被鄙視。直至考試前一天,都沒有確定是否應該參加。幸運地是,最終克服自己的害怕,走上了百度的筆試考場,有機會體會百度的面試。 面度的筆試卷子,因部門而異。我報的軟件研發(fā),RD-3的卷子。 @筆試 筆試題回憶版 一簡答題(30分) 1 對遠程linux/unix系統(tǒng)進行遠程操作,通常的途徑是采用終端軟件通過ssh登陸遠程系統(tǒng)進行操作,但是在網(wǎng)絡發(fā)生中斷時,Linux/unix端運行的程序?qū)袛唷?br> 請闡述這種問題發(fā)生的原理、通過何種路徑可以避免這種問題、以及闡述可避免這種問題發(fā)生途徑的原理 2 最小堆 插入,刪除 編程實現(xiàn)。 3 不知所云。 二算法與程序設計(40分)(算法可以使用偽代碼描述) 4 給定一個數(shù)字編碼N,大多數(shù)情況下可以找到一個數(shù)字編碼M,其位數(shù)與N相同,各位數(shù)字之和與N的各位數(shù)字之和相同。并且M是大于N的數(shù)值中最小的一個,也可能M不存在。 如:N=134,則M=143.如N=020,則M=101。形式化表述為F(N)=M。如果M不存在,則F(N)=-1。 要求給定算法計算F(N)序列。 5 給定序列s={a1,a2,…,an};1)構造算法求全排列。2)構造算法求所有組合。 三 系統(tǒng)設計題(40分) 這個有時間再慢慢回憶吧。 這個筆試可以用超爛來形容,勉強40分(后面面試時,卷子上見到)。筆試當天是星期日,當晚手機沒電,充電開機后有兩個未接020-*。因為其他童鞋都是短信通知,所以沒太在意,自己沒收到短信通知,很清楚筆試沒過,遂決定霸面。 星期一:霸面,霸終端研發(fā)深圳,見到面試官,但面試官一直忙于找我筆試成績,我就一直推銷自己,項目經(jīng)驗如何,linux如何,內(nèi)核如何,TCP/IP網(wǎng)絡如何,嵌入式開發(fā)如何。終于面試官問了幾個小題,寫了幾個編程之美上面的小題。答的還可以,但因為霸面,他一直不爽我。 這次霸面非常失敗,自己也備受打擊。 失落的星期一夜晚,無意中又收到020-*的電話,接起來,對方告知是百度公司,通知星期二去一面。 星期二:哥今天是有通知來一面,不是霸面了。NND。 一面:設計數(shù)據(jù)結構及改進。我做的不好,我坦言數(shù)據(jù)結構及算法一般,因為自己忙項目,但項目經(jīng)驗及l(fā)inux,網(wǎng)絡知識較豐富。遂轉問linux及內(nèi)核源碼,tcp/ip原理及實現(xiàn)細節(jié)。 他拿著筆記本上網(wǎng)查問題,我壓力大啊。問題廣而深,幸好linux掌握的還可以。 記起來的問題有,linux操作系統(tǒng)作用,內(nèi)存管理在源碼哪個目錄(mm),說些進程調(diào)度內(nèi)核實現(xiàn)大致機制,TCP/IP接收發(fā)送緩沖區(qū),內(nèi)存管理實現(xiàn)機制。又對項目提問題,要求優(yōu)化。 面試快結束時,面試官直言我數(shù)據(jù)結構及算法掌握的不熟練,以后希望強化。雖然知道這可能意味被淘汰,但還是特別感謝他,遂說了N多謝謝,但都是真心的。因為對比他和霸面的面試官。 星期二晚上一直沒通知,我等到12點就睡了。失望,絕望。雖面試時知道自己可能被淘汰,但仍不愿接受這個事實,但現(xiàn)在不得不接受,帶著遺憾入夢。 星期三晚上,沒有期待的時候,不經(jīng)意又是百度的通知。那一刻,死里逃生,我想尖叫。 星期四:二面:兩個算法都是編程之美的。其他就是linux、內(nèi)核,網(wǎng)絡、項目,高效服務器,如何預防攻擊等題目,發(fā)揮的不錯。面試官一直微笑。我知道三面有了。 星期五:三面:萬幸不問算法,問意向,項目經(jīng)驗,項目細節(jié)及能否優(yōu)化,linux內(nèi)核等。因為項目確實是自己完成的,所以答的還不錯。 星期日:收到Offer通知。但職位是北京的研發(fā)。 三、華為:(所報職位:操作系統(tǒng)工程師 – 深圳) @機試 給一個數(shù)組,求數(shù)組中比平均數(shù)大的數(shù)字個數(shù)。 這題是在考我們的編程能力嗎?⊙﹏⊙b汗。 @一面 主要就項目問。 @二面 群面。技術,非技術總16人,分兩組,討論曹操,劉備,孫權,諸葛亮,誰適合當總經(jīng)理。這個環(huán)節(jié),技術的一直被動。Finally,我們組淘汰了兩個(都是技術)。 @三面 上機性格測試,104題。這個沒聽說刷人的。 @四面 跟兩個“老男人”隨便聊,聊項目,聊未來方向,聊華為操作系統(tǒng)發(fā)展,聊linux操作系統(tǒng)及實現(xiàn),很廣但很淺。 四、網(wǎng)易游戲面試 游戲系統(tǒng)架構師 @筆試 10.22 網(wǎng)易游戲筆試,三個小時的題,題量還是非常大的,設計計算機各們核心課程,操作系統(tǒng)原理,c/c++,基礎數(shù)據(jù)結構與算法,數(shù)學推理題,網(wǎng)絡等。題特別多,題特別雜,幾乎沒有童鞋做完吧。多多益善吧。經(jīng)歷過考研,一些基礎課程還是蠻扎實,前40分的題答的不錯,后面的算法題做的一般,我只會最笨重的方法。 @一面 10.24晚上通知11.1下午2點面試 最次給各位同學提個醒,簡歷一定要多帶幾份,以備不時之需。他要求2份,我?guī)Я?份,份份都起作用了。 通知2點面試,1:50簽到,開始做題,矩陣相乘,差不多10分鐘做完。開始等一面。 大概2:40通知一面,2個面試官。要求先自我介紹,其次問了一個項目,之后問了一句你是哪里人?你目前拿到哪些公司offer?之后一面結束,不足10分鐘。沒問任何技術,偶是相當不淡定。 @二面 11.1晚上通知11.2下午3點面試 2點半左右到網(wǎng)易準備。大概3點10分,一個女人帶我進面試房間。當時緊張了,這是我的第一個女技術面試官? 進去后,2男1女。面試官先自我介紹,1個大話西游II主程序,1個天下II主程序,靚女姐姐是HR。二面+HR面一起面的。 問了很多c++高級機制,問了2道基礎算法吧。題目回憶如下: 1 構造函數(shù)可以調(diào)用虛函數(shù)嗎?語法上通過嗎?語義上可以通過嗎? 2 析構函數(shù)可以拋出異常嗎?為什么不能拋出異常?除了資源泄露,還有其他需考慮的因素嗎? 3 c++中類型轉換機制?各適用什么環(huán)境?dynamic_cast轉換失敗時,會出現(xiàn)什么情況?(對指針,返回NULL.對引用,拋出bad_cast異常) 4 洗牌算法,如何證明算法是隨機的 5 100萬個32位整數(shù),如何最快找到中位數(shù)。能保證每個數(shù)是唯一的,如何實現(xiàn)O(N)算法? 這道題是編程之美或編程珠璣上的。 這道題使用位圖,需要空間復雜度是512M。 6問了一個他們感興趣的項目,關于gcc插件的,聊了比較久。 7 拷貝構造函數(shù)作用及用途?什么時候需要自定義拷貝構造函數(shù)? 8一些題目記不清楚了。 9聊待遇。 @簽約 11.2晚上收到通過面試通知,通知11.3下午4點簽約。 網(wǎng)易游戲不同部門不同職位不同面試面試內(nèi)容不同,但都注重基礎知識。還有的一面題目是BFS,這個應該特別容易了,但還有一些童鞋完成的不好。 如果各位師弟師妹,如果覺得此貼對你們有點點幫助,就祝福下我吧,幫我攢點RP吧,多謝。 關于書單,列表如下: 一直準備的是騰訊后臺開發(fā),所以針對性很強,難免有偏見,望見諒。 先貼下騰訊后臺開發(fā)要求的技能,這些技能要求是我讀書的指南針。 游戲開發(fā)類 后臺開發(fā)工程師返回>> 職位描述: 負責游戲相關后臺系統(tǒng)的開發(fā)和設計。 1 職位要求: 1、 有Unix/Linux操作系統(tǒng)下的C/C++項目的2年以上開發(fā)經(jīng)驗; 2、 熟悉網(wǎng)絡編程;熟悉Linux下的mysql開發(fā); 3、精通TCP/IP協(xié)議及編程,熟悉互聯(lián)網(wǎng)應用協(xié)議; 4、熟悉面向?qū)ο蟮拇笮头植际较到y(tǒng)設計與開發(fā),了解中間件的技術以及基于中間件的開發(fā)模式; 5、全面的軟件知識結構(操作系統(tǒng)、軟件工程、設計模式、數(shù)據(jù)結構、數(shù)據(jù)庫系統(tǒng)、網(wǎng)絡安全); 6、 具備良好的分析解決問題能力,能獨立承擔任務和有系統(tǒng)進度把控能力; 7、 責任心強,良好的對外溝通和團隊協(xié)作能力,主動,好學。 有以下經(jīng)驗者優(yōu)先考慮: 1、大型分布式系統(tǒng)設計開發(fā)經(jīng)驗; 2、游戲后臺系統(tǒng)開發(fā)經(jīng)驗。 上圖: ![]() ![]() 這其中大部分書都是研1下,研2上購買的。大部分已讀完。一部分書反復讀3遍以上。比如apue,unp,tcp/ip v1等。 重點圈幾本推薦下:(*號書籍 強烈推薦) c/c++: 初級 c語言解惑/C和指針 專家:C專家編程 * c++ primer/effictive c++/inside c++ * tcp/ip書籍 tcp/ip v1(tcp/ip 詳解 卷I) *** 卷2/3沒必要買,也沒必要看,這本卷1主要將tcp/ip原理 unp *** 這本主要將linux socket編程API,兩本結合看,效果最佳 unp2(unix 網(wǎng)絡編程第2卷) 這本主要講IPC,有時間可以看看 linux書籍: apue *** 深入理解linux內(nèi)核 * 其他系列l(wèi)inux源碼書籍,適量看即可。 應試算法及智力題: 編程之美、編程珠璣 海量數(shù)據(jù)處理: 這個網(wǎng)上收集資料,或者有時間我傳上來。 數(shù)據(jù)結構: 數(shù)據(jù)結構與算法分析-C語言描述 Weiss * 考研數(shù)據(jù)結構1800紅色題集 (這本書對于向我這種數(shù)據(jù)結構基礎薄弱的童鞋,幫助很大) 差點沒忘了2本至牛的書籍: 匯編語言程序設計(毫不夸張的說,這本書改變了我) ![]() 深入理解計算機系統(tǒng) 其他的沒什么了,這些書都掌握了,足夠了,O了。 我對嵌入式開發(fā)蠻感興趣的,所以上面photo中也包含部分嵌入式書籍,不感興趣的可以忽略。 最后,談一談廣研和深圳騰訊的一點面試感受。 廣研: 筆試:6小題,設計基礎數(shù)據(jù)結構:鏈表,樹,字符串。很基礎,但也很考驗C語言功底。不要說你會,要熟練,要確保你寫的代碼無誤且編程風格優(yōu)美。這樣才能增加籌碼。保證你后面順利通過。 一面:講解筆試卷子解題思想,講解項目。面試過程很隨意,面試官主要側重linux,c++,網(wǎng)絡。 二面:談一談項目,就項目問一些問題。問一些他們實際中遇到的問題,你會如何解決? 也是比較隨意。 騰訊深圳: 筆試: 數(shù)據(jù)結構、tcp/ip、操作系統(tǒng)、計算機底層機制(包括堆棧如何組織等,apue有講),20個多選,每題3分,多選少選不得分。40分大題。每空4分,10空。大題基本是送分的。 這個筆試我得了82分,42+40, RAID磁盤陣列,b樹/b+樹,堆,幾個問題沒把握,錯了6個選擇題。 82分,一面面試官說算不錯的分數(shù)了。 一面: 可能因為筆試成績不錯,所以面試過程比較順利。2頁的簡歷,他只看了第1頁的1/2,其它的都沒看。 就我簡歷所列技能問了幾個問題, tcp/ip狀態(tài)轉換,socket api,高性能游戲服務器需要考慮哪些瓶頸,我主要就tcp/ip回答的,比如三次握手隊列,數(shù)據(jù)接受/發(fā)送緩沖區(qū)等。linux也問了幾個 proc機制及作用,我直接跟他談 ls /proc內(nèi)核如何生成結果,這個是proc文件系統(tǒng)源碼所談,他比較滿意。你使用的IPC及比較? epoll模型及優(yōu)缺點?(這個年年必考)主要有3點,對應于select的3個缺點:1 連接數(shù)受限 2 查找配對速度慢 3數(shù)據(jù)由內(nèi)核拷貝到用戶態(tài)。C++主要問動態(tài)如何實現(xiàn)。直接畫內(nèi)存布局,既inside c++所講,面試官還是比較滿意。還問了一些大數(shù)量的問題。由于之前準備過,所以答的還不錯。 一面過程中,面試管多次提到他對我非常滿意,我也適當?shù)谋磉_了實習后會留職。他把Q號留給我,說以后有什么事,就在Q上聯(lián)系他。那一刻,我就知,我應該可以去實習了。呵呵 二面:比較隨意,自己講項目。講完項目,還有點時間,就著筆試附加題問了些問題。后又結合QQ相冊問了些比較難的問題,勉強答了幾個。 hr面:是我所有面試中最慘的一次,由于之前浩哥面hr很隨意,所以我就沒準備了,因為有一些其他事要做。中午沒睡好,4點去面,頭暈暈的。被hr問的好慘。主要是談人生。有幾個問題答的不好: 你是一個什么樣的人? 你到底是一個什么樣的人? MD,這讓我想起另一個極品惡心的女人,所以這2個問題沒有發(fā)揮好。 |
|
|