完美世界
C++方向面經
第一篇
**一面 2017-4-28 **
1、聊項目,問 APP 是自己做的 demo 還是和公司對接的。問負責什麼部分,做了什麼工
作
2、是否有做過渲染的工作?有沒自己做過小遊戲
3、玩過什麼遊戲?聊了一點遊戲方面的經驗
4、如果求一個 32 位整數中二進制 1 的個數。又問時間複雜度
5、編程之美的水王問題。找到數組中出現次數超過等於一半的那個 ID。他問那等於一半的
怎麼辦
6、25 匹馬求最快的 5 匹馬,有 5 個賽道
7、連連看問題,如何判斷兩個相同圖片可以消除掉
**二面 2017-4-28 **
1、問是哪裏人,爲什麼想來北京
2、意向工作城市排名
3、玩過什麼遊戲?玩遊戲氪金嗎
4、杭州有那麼多大公司,你有沒有投簡歷呢?有什麼公司
5、分別問每個公司面試到幾面啦?感覺如何啊
6、如果阿里雲,網易遊戲,完美都要你,你怎麼抉擇?如果阿里雲和完美要你,你怎麼抉
擇
7、你覺得你花時間最多的是?花的最多錢的是
8、你覺得遇到最大的挫折是
9、朋友和老師都怎麼評價你的。給三個形容詞
10、期望的薪資水平,得知問的是實習工資
11、家人在哪工作,支持你來北京嗎
12、有沒女朋友?女朋友會支持你來北京嗎
第二篇
**一面 2017-9-28 **
1、問了內存分配
2、stl 數據結構
3、做了幾道基礎概率題
4、做了幾道基礎動歸題
5、都比較快的給出瞭解決方法
6、反正就是不斷的做題
**二面 2017-9-28 **
1、問了項目,深挖了一下
2、問了問最近寫的混合邏輯時鐘的東西,討論了一下
3、問了 static 和 const 的使用
4、問了 define 和 const 的區別和用法
5、問了如何理解多態和重載,寫代碼,使用場景
6、問了一道算法題,偏智力題一點,提示了兩次,我給出兩三種解決辦法,他都不怎麼滿
意
第三篇
**一面 2018-9-12 **
1、講項目,講的很細
2、三次握手,四次揮手,滑動窗口,流量控制,擁賽控制
3、四次揮手時被動斷開連接一方一直收不到對方的最後一個 ack 一直收不到怎麼辦
4、udp,和 tcp 區別,udp 用在哪
5、http 協議,畫一下請求報頭,響應報頭
6、c++類的內存對齊,虛表,虛指針,虛表存在哪,析構函數爲什麼通常寫成虛函數,繼
承以後子類的對象模型
7、類裏定義一個 public a,和 private b,在內存裏是什麼樣的,是連續放置的嚒,還是
說加了一些別的什麼東西
8、講一下 vecto,擴容,map 和 unorder_map 區別
9、手寫一個 atoi
10、遊戲服務器需要考慮什麼
11、堆和棧的區別
**二面 2018-9-12 **
1、講項目
2、做過一些別的遊戲項目沒,我說網絡五子棋
3、面試官說添加一個規則叫判斷活三子兒,意思就是三個子兒連成線了,如果不去堵的話,
可能會導致一個對方必勝的局面,這個是不一定的,怎麼去判斷,思路講清,講實現,落實
到編程
4、判斷一個 32 位的數字裏面二進制序列有多少個 1,我從最基本的開始講,然後從時間
上優化
5、如果給你百萬量級的隨機數去判斷 1 的個數,怎麼提高效率,給你足夠大的空間,你可
以提前做充足準備,我就想到了用哈希表把所有的結果存起來,你給我隨機數,我從哈希表
裏找結果,隨機數就是下標,這個東西講了很久,講到怎麼優化哈希表的空間,用位圖
6、cpu 訪問內存其實花費時間也不少,因爲涉及到總線什麼的,查詢百萬次時間還是會慢,
怎麼辦
7、我想到了高速緩存,但是這塊實在不太瞭解,不敢說,面試官就提醒了我高速緩存,然
後問怎麼用
8、類裏定義一個 public a,和 private b,在內存裏是什麼樣的,是連續放置的嚒,還是
說加了一些別的什麼東西,我如果拿到 b 空間的地址,我可以直接修改數據嚒
9、哈希表原理,哈希衝突解決辦法
第四篇
**一面 2018-9-19 **
1、自我介紹
2、STL 容器講下
3、玩遊戲嗎?什麼遊戲
4、講一下紅黑樹
5、給了兩個類,求 sizeof,一個類是沒有成員變量,有七八個純虛函數還有一個靜態成員
函數;另外一個類是將上一個類的某一個純虛函數改成普通成員方法,求 sizeof
6、解釋代碼:一個派生類成員方法 func 中,通過類作用域訪問基類的同名方法 func,問
類對象的變化,還有函數執行的過程,講到了函數調用棧幀空間的開闢和回退,順帶也講了
虛擬地址空間的佈局
7、虛函數的實現機制
8、項目,打開了我的 GitHub 上的項目源碼,爲什麼要做這個,學校的大作業還是畢設?你
負責了哪些模塊,具體講下,還負責了哪裏?用過數據庫沒?項目中用了 mysql,爲什麼
要使用數據庫,相比於文本文件有什麼好處
9、TCP 瞭解吧?cli 和 ser 建立連接後,cli 掛掉,ser 知道嗎?爲什麼?ser 怎麼才能知道
cli 掛了?(心跳檢測?);那如果 cli 掛了,又重連,能成功嗎?爲什麼
10、寫一下單例模式
11、我看你項目做的都是 server 端的,如果你去公司讓你做客戶端,可以嗎
12、什麼時候能來實習
**二面 2019-9-1 **
1、自我介紹,家是哪裏的
2、爲什麼不考研
3、爲什麼投遞我們公司,你還面了哪些公司,或者說你投了哪些公司
4、玩遊戲嗎?玩哪些?手遊有哪些
5、項目是出於什麼目的做的?爲什麼會做這個業務而不是其他,是有學長給你們介紹過這
些東西嗎
6、對薪資有什麼要求
7、什麼時候能來實習
8、有女朋友沒,也是明年畢業嗎?哪個學校?那她畢業了會去哪個城市,你怎麼做
9、我看你項目做的都是 server 端的,如果你去公司讓你做客戶端,可以嗎
10、還有什麼想問的
第五篇
**一面 2019-9-1 **
1、sizeof 空類的大小?爲什麼
2、C++的友元函數
3、解釋 TCP 的滑動窗口
4、四次揮手時被動斷開連接一方一直收不到對方的最後一個 ack 一直收不到怎麼辦?會一
直處於 last-ack 的狀態
5、手撕 atoi。輸入字符串,輸出數字,考慮負號,正整數部分,小數點,小數部分,科學
計數法部分 eE
6、定位 new。placement new
7、const 成員函數的作用。mutable 關鍵字的作用
8、什麼情況下,析構函數可以不聲明爲虛函數
9、重寫和重載有什麼區別
10、malloc 和 new 的區別
11、TCP 三次握手,四次揮手。過程和原因
12、遊戲經歷
**二面 2019-9-1 **
\1. 多繼承情況下的內存佈局?爲什麼會有自適應偏移?C 繼承自 A 和 B,B* pb = &c;和
A* pa = &c;得到的兩個指針值是不相等的,爲什麼?哪位大佬能回答這個問題,我查了很
久都沒查到
\2. 某個點在一個扇形內部
3、a,b 向量的和 c,和敵人連接的向量 d,c 點乘 d,得到的標量如果是負值,則方向相
反,如果是正值,則方向相同。向量的點積和向量長度的比值,得到 cos(theta)。再結合前
面的方向,得到實際的向量 c 與向量 d 的夾角,判斷角度是否符合要求
4、再判斷向量 d 長度是否小於向量 a/b 的長度
5、對遊戲開發的理解?關於遊戲開發,你知道哪些?當然是指的技術部分
第六篇
**一面 2017-4-22 **
1、聊項目,問 APP 是自己做的 demo 還是和公司對接的。問負責什麼部分,做了什麼工
作
2、是否有做過渲染的工作?有沒自己做過小遊戲
3、玩過什麼遊戲?聊了一點遊戲方面的經驗
4、如果求一個 32 位整數中二進制 1 的個數。又問時間複雜度。又問有沒更快的。又問那
32 位數組用不了,還有別的更快的方法嗎
5、編程之美的水王問題。找到數組中出現次數超過等於一半的那個 ID。他問那等於一半的
怎麼辦呢?他問如果 ID 是 32 位整數怎麼辦
6、25 匹馬求最快的 5 匹馬,有 5 個賽道
7、連連看問題,如何判斷兩個相同圖片可以消除掉
**二面 2017-4-22 **
1、問是哪裏人,爲什麼想來北京
2、意向工作城市排名
3、玩過什麼遊戲?玩遊戲氪金嗎
4、杭州有那麼多大公司,你有沒有投簡歷呢?有什麼公司
5、分別問每個公司面試到幾面啦?感覺如何啊
6、如果阿里雲,網易遊戲,完美都要你,你怎麼抉擇?如果阿里雲和完美要你,你怎麼抉
擇
7、你覺得你花時間最多的是?花的最多錢的是
8、你覺得遇到最大的挫折是
9、朋友和老師都怎麼評價你的。給三個形容詞
10、期望的薪資水平,得知問的是實習工資
11、家人在哪工作,支持你來北京嗎
12、有沒女朋友?女朋友會支持你來北京嗎
第七篇
**一面 2019-10-31 **
\1. 虛函數的實現,要極其具體的過程,例如虛函數指針在不同對象的指向
2、vector 迭代器失效的情況
3、算法題的思路
4、項目具體介紹,包括缺陷和改進
**二面 2019-10-31 **
1、簡單考察了一下技術。問了差不多十個小問題,具體記不太清楚
2、學過 mysql,詢問有沒有在項目中用到,sql 語句考察之前面過暢遊?那邊的情況
3、喜歡玩什麼遊戲,對遊戲的認識,聊聊遊戲
4、不是計算機專業,平時如何學習的
5、最喜歡的書
6、目前的 offer 情況
7、對戶口有要求嗎
第八篇
**一面 2019-10-31 **
1、stl 講一下
2、由於我提到了 vector,他問 vector 擴容爲什麼是 1,5 或者 2 倍,網上有解答
3、由於我提到 map,他讓我說一下 operator[]如何實現的
4、由於我前面答得不好,他讓我說一下多態
5、然後問 vector 和 list 區別
6、你知道如何設計一個遊戲角色?讓他的血被所有對象看到
7、你說暴露變量,不太安全,有沒有其他方法
8、先到這,後面再給你打電話,你要問什麼
**二面 2019-10-31 **
1、講一下項目
2、全程圍繞項目討論,手撕細節
3、問你們項目是不是學校老師帶的
比特職讀會官網: https://bitzhidu.com比特職讀會—專注 IT 學子就業的職業讀書會
4、我說不是,他說肯定是
第九篇
**一面 2019-7-31 **
1、自我介紹
2、平常玩什麼遊戲
3、項目。重點探討項目,問的很細,給我提出建議
4、手寫代碼,一個整形比特位有多少個
5、在上一個問題的基礎上,假設現在內存無限大,準備時間無限,有 42 億個隨機數,如
何提高效率
6、如果內存不是無限大,準備時間有限,如何優化
7、一個類裏定義 public int a 與 private int b,在類裏 a 與 b 的內存模型是怎樣的
8、上一個問題中,運行時利用地址可否訪問到 b,並修改
9、TCP 四次揮手過程,講講 CLOSE_WAIT
10、停止等待 ARQ 與連續 ARQ
哈希衝突解決方式
**二面 2019-7-31 **
1、瞭解沒了解過 MD5,講講
2、MD5 衝突解決方式
3、定義兩個類 A,B。C 同時繼承 A,B。如果 A,B 兩個類都有一個 int,此時將 C* c
= new C。這個時候,將 c 強轉成 A* 是否可以正常訪問類 A 的 int。如果強轉成 B* 呢?
可不可以進行訪問 int
3、map 與 unordered_map 的區別,使用場景
4、講講純虛函數
第十篇
**一面 2019-7-31 **
1、講項目,講的很細
2、三次握手,四次揮手,滑動窗口,流量控制,擁賽控制
3、四次揮手時被動斷開連接一方一直收不到對方的最後一個 ack 一直收不到怎麼辦
4、udp,和 tcp 區別,udp 用在哪
5、http 協議,畫一下請求報頭,響應報頭
6、c++類的內存對齊,虛表,虛指針,虛表存在哪,析構函數爲什麼通常寫成虛函數,繼
比特職讀會官網: https://bitzhidu.com比特職讀會—專注 IT 學子就業的職業讀書會
承以後子類的對象模型
7、類裏定義一個 public a,和 private b,在內存裏是什麼樣的,是連續放置的嚒
8、講一下 vecto,擴容,map 和 unorder_map 區別
9、手寫一個 atoi
10、遊戲服務器需要考慮什麼
11、堆和棧的區別
**二面 -2019-7-31 **
1、講項目
2、做過一些別的遊戲項目沒
3、面試官說添加一個規則叫判斷活三子兒,意思就是三個子兒連成線了,如果不去堵的話,
可能會導致一個對方必勝的局面,這個是不一定的,怎麼去判斷,思路講清,講實現,落實
到編程
4、判斷一個 32 位的數字裏面二進制序列有多少個 1,我從最基本的開始講,然後從時間
上優化,如果給你百萬量級的隨機數去判斷 1 的個數,怎麼提高效率,給你足夠大的空間,
你可以提前做充足準備
5、類裏定義一個 public a,和 private b,在內存裏是什麼樣的,是連續放置的嚒,還是
說加了一些別的什麼東西,我如果拿到 b 空間的地址,我可以直接修改數據嚒和一面一摸
一樣的問題
6、哈希表的原理,怎麼解決哈希衝突
求職必備刷題官網:https://github.com/bennyrhys/interview
【更多互聯網公司筆試面試真題請關注“讓我遇見相似的靈魂”公衆號】