游戏客户端-乐创互娱面经-23届的挣扎
本人双一流牛马毕业生
无手撕,面试官很年轻很仁慈,感觉就像学长,我说不了解也不会为难我,甚至还会帮我缓解压力
因为公司引擎主用unity,我用的UE4,面试官没问太多引擎知识
1面:
0、开局先聊了一下玩过的游戏,大脑就很容易活跃起来
1、挖了一下UE4项目,主要问一些模块的设计,答的还不错
2、烂大街的http服务器项目 准备不充足
2.1、epoll数据结构是怎么样的?
--结构体数组?好像还有,忘了
2.2、epoll的底层是怎样实现的
--忘了
2.3、服务器proactor和reactor的区别
2.4、那异步是怎么实现的呢?
2.5、你这个测试软件是啥?
3、思考题:25匹马问题
4、开放业务题:
4.1、如果实际遇到网络波动,比如这一秒是20延迟,下一秒是100延迟怎么办?
--(一开始想到网络波动的话,服务器不管用了只能客户端自己解决了,想到了UE4中的模拟运动):客户端模拟角色运动
--(面试官露出肯定的表情):具体该怎么做呢?
--(听到具体我就慌了):角色在不接受新的指令时就按照旧的指令继续做下去,直到遇到新的指令(这不跟没说一样嘛)
--(后面实在具体不下去了,在面试官引导下想了个其他办法)计算一个平均的网络延迟,到达包后计时,计算下一个包需要的时间,设置为网络延迟,可以将一个包区分成快包和慢包,要保持一个画面的平缓,快包就减慢游戏速度,慢包就加快游戏速度,实现一个过渡,至少不至于卡成ppt(感觉答的就依托答辩)
--感觉面试官蚌埠住了
5、数据结构:
5.1、你了解哪些数据结构?
--数组,表,哈希表
5.2、给我讲讲哈希表底层
--散列函数+数组
5.3、哈希冲突怎么办
5.4、开放地址法里面,你要删除一个哈希冲突的元素怎么删除
--直接删除,然后把后面那个也是相同哈希冲突的元素顶上来(不删除后面的就不能访问了)
--面试官:会不会太费了?
--那我没有别的方法了,数组删除不都是这样的嘛,难道改变散列函数?
6、算法:
6.1、你用过哪些排序算法?
6.2、堆排序是怎样的?插入时间复杂度?
7、数据库:
7.1、常用的底层实现
7.2、B+树怎么查找
8、设计模式:
8.1、你一般用哪些设计模式?
8.2、怎么用的,然后浅挖一下
反问:
1、公司需要什么样的人才?
--动态的,水平高的低的都要(面试官在安慰我吧)
2、对于面试中的业务题,有什么提升的办法?
--就是考验你的思考能力,平时去思考就没意思了
没了
结束后面试官突然问了你了解公司新项目嘛?
--我看过,沙盒建造游戏,看上去很有意思(画风很喜欢,出了我氪爆好吧)
比较基础,但我表现不好,应该是寄了
这家广州的公司真的很推荐去试试,虽然是初创公司,但是得到了阿里的融资,绝对有含金量
乐创给的这次机会,宛如黑夜中的黎明,让我知道23届还活着🥰🥰
#23届找工作求助阵地#