【求职】完美世界 C++方向面经

完美世界

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
【更多互联网公司笔试面试真题请关注“让我遇见相似的灵魂”公众号】

猜你喜欢

转载自blog.csdn.net/weixin_43469680/article/details/106800615