网易互娱 游戏研发岗面经
一、语言
1、java用接口代替C++中多继承,有什么优势?
2、覆盖与重载,重载返回值可以改变吗?为什么不能?
3、vector插入上万数据,使用什么方法?
4、explicit什么作用?什么是隐式类型转换?
至此基本没答上来。。
二、设计模式
5、常用的设计模式举例?
6、装饰器模式日常使用?
勉强回答
三、编程
7、n*n矩阵,从左上角走到右下角(右移、下移)伪代码?复杂度
A: dp做法,O(n^2)
8、长度为n数组中随机取m个数据,不可重复取,时间复杂度?
A:用bool或set记录已取下标
一直argue题意,在面试官提示下答出部分
四、网络
9、TCP、UDP区别?什么是面向连接?是指由一条物理连接,还是通信过程固定一条路由路径?
A:面向连接是指在通信过程记录通信状态。 面试官表示大概是这个意思
10、close_wait作用,如果close_wait不关闭有什么问题?
A:应该调用close()方法关闭连接
11、time_wait作用,如果不用time_wait有什么解决方法?没想出解决方案
12、什么是流量控制?
以上答得还算流畅
五、场景
游戏服务器如何计算一个用户视野范围所有玩家,记录动作,尽可能快地响应给客户?
A:暴力计算所有玩家距离太耗时,提示没听清:拓扑排序还是topk?
总结:面试官很nice,一直用心提示,可惜楼主太渣,很多东西理解不深。 有人知道答案求指点呐~~