完美世界技术一二面凉经
完美世界西安站现场面
完美世界技术一面(40分钟左右)
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.堆和栈的区别
完美世界技术二面(4,50分钟)
1.讲项目
2.做过一些别的游戏项目没,我说网络五子棋
3.面试官说添加一个规则叫判断活三子儿,意思就是三个子儿连成线了,如果不去堵的话,可能会导致一个对方必胜的局面,这个是不一定的,怎么去判断,思路讲清,讲实现,落实到编程
4.判断一个32位的数字里面二进制序列有多少个1,我从最基本的开始讲,然后从时间上优化
如果给你百万量级的随机数去判断1的个数,怎么提高效率,给你足够大的空间,你可以提前做充足准备,我就想到了用哈希表把所有的结果存起来,你给我随机数,我从哈希表里找结果,随机数就是下标,这个东西讲了很久,讲到怎么优化哈希表的空间,用位图
cpu访问内存其实花费时间也不少,因为涉及到总线什么的,查询百万次时间还是会慢,怎么办……
我想到了高速缓存,但是这块实在不太了解,不敢说,面试官就提醒了我高速缓存,然后问怎么用……
我凉凉……
5.类里定义一个public a,和private b,在内存里是什么样的,是连续放置的嚒,还是说加了一些别的什么东西,我如果拿到b空间的地址,我可以直接修改数据嚒
和一面一摸一样的问题
6.哈希表原理,哈希冲突解决办法
二面结束让回去等消息,估计凉凉……还是技术不到位,加油加油
#完美世界##C++工程师##面经##秋招#