西山居游戏客户端一面+二面
一面(45min,实际50min左右,问了很多八股)
01、自我介绍
02、大三怎么有时间开始实习,学校允许吗
考察C++
03、了解C++吗(接下来就问C++基础了)
04、深拷贝和浅拷贝的区别
05、指针和引用的区别
06、指针占内存吗,占多少内存
07、数组怎么获取长度(面试官想听到sizeof(a)/sizeof(int)的方式)
08、delete关键字有什么用,怎么delete数组,如果delete数组不加 "[]" 会怎么样
09、如何将数组传递进函数
10、如何防止某个数据结构被外部修改(const)
11、说一下内联函数
12、用内联函数的优缺点
13、vector、list、map的底层结构,以及对内存占用、查找效率的区别
14、有一个双向链表,需要对它进行遍历然后删除某些元素,用vector、list、map中哪个数据结构最合适
15、删除元素会有什么问题
16、如何解决迭代器失效问题
17、类型转换的几个方法(比如子类和父类的转换)
考察Lua基础
18、说一下元表
19、lua的table如何实现继承效果
20、表遍历方式pair和pairs的区别
21、为什么会造成这种区别,底层原理是什么?
22、table的底层结构是怎么实现的
考察C#基础
23、什么是装箱拆箱
24、装箱拆箱会带来什么问题?
25、说一下委托,委托最常用在什么地方?
26、如何避免频繁字符串拼接造成的垃圾
考察实习 & 项目
27、多个障碍物要如何生成和管理它们(对象池)
28、如何做游戏本地化
29、玩家按了多次按钮,如何去避免接收多次输入
30、前端这边需要接收玩家的多次输入,如何和后端交互时只交互一次呢?
31、后端下发一次数据时,前端会有对应弹窗。当后端短时间内下发多次时,前端要如何处理
反问:
1、面试多久会有结果:很快会有结果,大概会有两面技术面(社招的话三面)
2、哪个项目组(剑侠世界3)
二面(5min)
二面五分钟就结束了,西山居的游戏客户端岗位需要自己写服务端的东西,所以要求需要有服务端的知识,所以面试官上来先说明一下这一点,然后问我对服务端了不了解,我说不太了解,没有过多学习,然后面试就结束了
#西山居##游戏客户端开发#