首页 > 游戏客户端面经
头像
牛客68789972号
编辑于 2021-10-01 09:40
+ 关注

游戏客户端面经 内部员工回复

前言:个人是不爱背八股文也不会去背,看两眼就头秃,所以是没有准备过秋招的,都是自己在学感兴趣的知识。但是也不得不说,背八股文是比不背好的多,特别是基础比较薄弱的,见过很多准备面试的就是提前找不好八股文面经相关的东西看,然后多面就可以过的情况。面经的话也看过一些,主要是对面试题的大致了解,不是专门为了去背,所以我感觉自己的知识积累才是重要的。很多面试官人也很好,你不会的也不会强求,直接说自己不会不了解就可以,可以去猜答案但必须给一个你的解释,这其实也是对你逻辑的考验。个人觉得不要去轻视任何一个知识,对知识的敬畏才是前进的动力,否则都认为知识就这了还用去学习吗。

再就是对双非同学一些建议(因为自己也是双非),实习经历很重要。秋招对于双非来说,特别是没有实习的双非同学的话,很多公司简历都过不去,有实习要好很多,只是那种学历卡的特别死的公司可能还是过不去简历,最好还是要找个实习,除非你对你自身知识储备很有信心。实习的话日常实习要简单一点不用执着于春招实习。(我就是因为没有实习,好多都被拒了,加上算法是个二把刀,提前批去不了笔试还要被虐)

后面这里就记录一下自己的秋招面试(虽然也面不了几家,感谢信和信都没有的一箩筐)吧,感觉游戏面经挺少的。然后的话,我希望我的面经只是对作为学校内的热爱游戏开发的人的一个知识体系参考,不希望同学认为这就是游戏开发的全部,或是说就照着面经去找答案应付面试。注意:每次面试官都要求自我介绍的(虽然不是所有面试官这样),所以我就不写了,同学们准备自我介绍突出一下自己的学习知识重点,方便面试官提问鸭

阿里:灵犀互娱

阿里总体来说流程比较快。笔试完后一天就开始邀面试。

一面:1h

项目相关问题:
1. 怎么实现一个事件系统
2. UI框架会使用什么设计模式
3. 你的摄像机类中写了啥
4. 网络对端如何进行同步
图形学:
5. 渲染管线
6. 纹理图
7. 插值的原理
C++:
8. 智能指针

总结:面试官挺好的,对我评价也挺高的,非常感谢~~~ 一面第二天就邀请约二面时间

二面:1h 10min

算法和数学:
1. 中奖概率30%,连续拿三次中奖概率为多少
2. 10G文件全是数字,256mb内存,输出排好序的文件
3. 10G文件全是数字找前100大的数
4. 存储有向图的数据结构有哪些,如何判断一个有向图是否存在环
图形学:
5. 说一个shader的效果
C++:
6. c++重载的原理,让返回值不同的函数也能重载呢(其实这个问题面试官并不是想问这个,他想问为什么返回值不同不能重载,但是描述的有问题我被绕错了。。。)
项目:
7. 你做的项目和别人的有什么不同
其他:
8. 玩过哪些游戏,为什么选择游戏行业

总结:面试官比较严肃,好像不会表露出啥情感。。。但是还是让过了。二面完一个小时邀请约 hr 面时间

hr面:40min

1. 自我介绍一下:你的优缺点,爱好

2. 如果和别人起冲突怎么办
3. 如果你努力不被认可怎么办
4. 遇到哪些挫折怎么走出来的
5. 遇到的多个任务需要抓紧时间完成的情况
6. 游戏经历
7. 为什么投我们公司

总结:当时我们学校正好断网,用流量也卡

结果:最后等一周泡池子被横向掉了。

腾讯:天美L1

tx 应该也算比较快吧,第一天投简历第二天就捞了,tx是面试官约时间然后看你有没有空这样子。最主要是 tx 可以不看笔试看简历面试,福音

一面:1h 10min

C++:
1. 重写和重载的区别
2. C++内存模型
3. 类的访问修饰符,子类是否持有父类的私有成员,子类能否访问父类的私有成员?
4. char *p = "ABC";
*p = 'a';
*(p + 1) = 'b';
*(p + 2) = '\0';
printf("p = %s", p);
程序运行结果
C#:
5. 装箱与拆箱
6. 是否允许多继承
7. 接口和抽象类的区别
8. 静态构造函数
9. 值类型和引用类型,值类型的成员中包含引用类型该成员的值放在哪,引用类型中包含值类型该成员放在哪
10. 序列化和反序列化
网络:
11. TCP与UDP的区别,分别用于什么情形。客户端发送a再发送b,要求服务器那边按顺序发回来选择什么协议
项目:
12. 介绍一下你的项目
其他:
13. 玩过什么游戏吗
14. 考虑过考研吗
15. 为什么期望城市选择深圳

总结:这个面试官也超级好的,爱了爱了,最后对我评价也比较高。面试后一天就邀请在下一天面试

二面:50min

项目:
1. 介绍一下你的项目
2. 状态同步中可以进行哪些优化
3. 你的房间类的生命周期是怎么样的
4. 你战斗逻辑怎么处理的
C++:
5. 怎么判断大端小端
6. 怎么判断机器是32位还是64位
7. 你对虚函数的理解
8. 你在哪里使用过多态
9. 重写和重载
Unity:
10. 怎么在unity脚本中实现像main一样的程序入口
其他:
11. 职业规划

总结:乌乌,感觉好像不大行,自己做项目的时候能简单就简单,结果给我问麻了,状态同步优化问题只是回答了,问在项目中用了没有,我没有用qaq。等了一周流程没有反应,问了hr说后台流程结束了。乌乌感觉凉了。然后在笔试完之后流程变了。邀请三面

三面:50min

C++:
1. C++11新特性
2. 智能指针的引用计数放在哪的
3. 右值引用是全部情况都好用吗,在哪些情况下不好用
网络:
4. 你学过的网络知识
5. 降低延迟和抖动的方案
图形学:
6. 你做过的渲染效果

总结:cto面试官人也太好了,一直在听我讲,然后有些地方忘了也会说没事没事,乌乌,对我评价也很高,但是我觉得自己挺菜的只能说何德何能啊。问的问题都是比较大一点的,所以每个问题答的时间比较久。

hr面:40min

1. 是毕业后直接工作呢还是
2. 项目中有成就感的事
3. 是什么让你选择游戏行业
4. 玩过王者吗,什么段位,最擅长啥位置,玩的比较厉害的是什么英雄
5. 作为游戏开发者,你觉得王者这个游戏怎么样
6. 你的觉得你自己的缺点是啥

总结:还有些问题忘了。hr 是小姐姐

结果:已收到意向书

吉比特

一面:20min

C++:
1. 虚函数和纯虚函数
图形学:
2. 写过哪些shader
其他:
3. 游戏中一个UI上有红点,那么子UI里面也会有红点,应该用什么数据结构

总结:真的赶场,说什么时候面试你都提前进不了会议,面试时间到了赶紧下一场。

二面 hr:16min

1. 你认为有价值的事
2. 你认为感觉有遗憾的事
3. 你平时都在做些啥
4. 大学期间哪样是你认为好的老师,哪样是不好的
5. 你的优缺点
6. 你的期望薪资

总结:我当时 hr 自我介绍的时候我都懵了,这怎么直接就是 hr 面了,后来问了下吉比特的流程就是 一面技术,二面 hr 然后用人部门选人了之后可能还有次面试。

结果:复试挂

乐狗

一面:40 min

Unity:
1. 静态批处理和动态批处理
2. ECS架构的理解,它的优点
数学:
3. 给定一个前方向和敌人位置,判断一个人在你的左边或者右边
4. 二维场景里有很多树(看成一个二维坐标),你有一个相机,你用什么数据结构判断摄像机是否看到一个树。
5. 有 10 个数的数组随机打乱他们的顺序,不要求等概率
C++:
6. 内存对齐,内存包裹
图形学:
7. 渲染一个物体的流程(渲染管线)
8. 你做过哪些shader效果
其他:
9. 为什么选游戏行业

总结:面试官超耿直,别的公司面试官都不会说啥,乐狗一面面试官刚面完直接说我一面过了,等复试。然后问了一下,乐狗那边会先把校招生集起来做一个demo(要打起来了,你这个代码怎么写的跟shi一样.jpg),然后每个项目组会过来宣传自己项目组,校招生自己选项目组

二面HR:40 min

1. 获得过奖学金吗,拿过竞赛奖吗
2. 选择公司会考虑公司的哪些东西
3. 最有成就感的事情
4. 平常怎么规划时间
5. 看过哪些书?非技术相关的书呢
6. 为什么选择游戏开发
7. 兴趣爱好是啥?有其他兴趣爱好吗
8. 你对你自己做的项目满意吗

总结:其他忘了,问的太多了。。。不喜欢hr面,呜呜呜😞😞。乐狗面试流程为:技术 HR 然后 leader面试

三面合伙人面试:30 min

总结:基本没问啥技术问题,都是啥为啥选择做游戏啊,之类的一些东西,或者一些开放性的问题吧,然后主要是我问了关于乐狗的一些事😶😶😶

结果:已意向

西山居

渲染一面50 min

C++:
1. 11新特性。智能指针怎么实现自动释放指针的。你对随机数的理解,你还在哪些地方用到了随机数。
C#:
2. struct 和 class 的区别,你会为什么类型声明 struct 什么类型声明 class,值类型引用类型转换会出现什么问题
3. C# 内存管理
图形学:
4. 渲染管线
5. 你做过的 shader 效果
算法:
6. 快排原理

总结:我被渲染给捞啦,问我要不要去做渲染😂😂我图形学好菜好菜的。

渲染二面:1h

图形学:
1. mipmap怎么采样
2. tex2D怎么实现的,tex2D 和 Render Image 啥区别
3. 切线空间的原点在哪个位置,怎么确定模型的切线,副切线怎么求,副切线的方向怎么判断
4. 现在有一个模型,我想在程序中输出模型上某个顶点的深度值,怎么做
5. Unity Shader是行主序还是列主序
6. 三维空间中有一个相机,有很多人,怎么处理渲染到的画面
7. 一个菜单有十个选项,可以控制选项开关,有个get和set方法,你会怎么实现

总结:还有的忘了,乌乌,后面跟面试官闲聊了很多,面试官说我现在的技术还是达不到标准,但是有潜力,所以发一个实习offer,如果同意就可以联系他,通过考核才有正式offer。我好菜啊😓😓😓

客户端一面:40min

总结:全是项目上面的问题,差不多都是介绍项目,然后你项目里面这些这些怎么处理的,如果发生什么什么怎么处理的,你做项目有什么难点你觉得那个的,之类的问题。

客户端二面:50min

1. 怎么实现控制台上打印不同颜色的字
2. 怎么管理项目的编译顺序
3. 设计一个日志系统需要注意什么
4. 你知道 ssl 吗,他是怎么实现的
5. TCP连接是怎么建立的,一台主机最多保持多少TCP连接
6. 排序算法的稳定性指什么,选择排序是怎么实现的

总结:有些忘了,累了累了,呜呜呜,呜呜呜

字节跳动

一面:50 min
C++:
1. 模板为什么一定要放在头文件?模板偏特化和全特化
2. 头文件的作用
3. 什么时候把析构函数设置为虚函数
4. C++怎么进行内存管理
5. weak_ptr的作用
6. malloc和new的区别
C#:
6. C#内存管理原理
图形学:
7. 图形渲染管线
Unity:
8. 动画、物理、update、lateupdate的执行顺序怎么样
9. Collider和Rigidbody组件,Rigidbody中的 isKinematic 是干啥用的
10. 一个物体第0帧在0这个位置,第1帧在1这个位置,但是0.5处有一个非常薄的板,那么怎么样才能让他能碰撞到这个0.5位置的薄板
11. 进程线程协程,你在哪使用过协程
网络:
12. 网络的中间传输浮点数会有什么问题,怎么解决
13. 网络服务器的帧率和客户端的帧率是一样吗?不一样怎么解决
物理:
14. 了解过物理算法吗

总结:一面过了,但是我觉得我是垃圾😅😅😅😅,很多问题只能答个大概,问深了就是不会

面:40min

C++:
1. 虚函数的原理
2. 让一个类不能被继承,C++11之前又要怎么做呢
3. 让一个类的对象只能分配在堆上,让一个类的对象只能分配在栈上
4. 实现一个sizeof的宏
5. 内存对齐
操作系统:
6. 分页分段
Unity:
7. 如果有一个数值被多个UI使用,每个UI都会随数值的变化发生改变,你会怎么设计
8. 协程
编程题:
9. 给一个二叉树的根节点,输出每一层的平均值

总结:难呀难呀,二面过了等三面

面:40min

C++:
1. 静态链接和动态链接的区别
2. 你自己实现一个malloc应该怎么做
Unity:
3. 你对ECS架构的理解
编程:
4. 你有一个定时器,并且有个定时器管理类,他有两个函数,一个是设置定时器的时间并设置回调函数,另一个是会频繁运行的检查定时器时间是否到了,到了就调用回调函数,你会怎么实现
算法:
5. 给 2n 个点,每个点是(x,y),找到一条直线,使直线的两边各有 n 个点(即没有点在直线上,且直线平分了这 2n 个点)

总结:还有些忘了,已经总结不下去了,被问傻了

hr 面:40min

1. 你对工作地点的要求,你的籍贯
2. 为什么选择游戏开发,为学这个做出的努力
3. 春招到秋招之间为你的失败做了哪些总结与改变
4. 你学长、同学都有在哪些公司工作的

总结:求意向

盛趣

一面:40min

项目:
1. 你的协议是怎么写的,协议头包含了什么,不使用协议本身的字符串的话应该使用什么来标识协议
2. 你的引擎中,选取对应的物体是怎么实现的,可以有更优化的方式吗
编程:
3. 知道对象池吗,是怎么是实现的,你在哪里使用过对象池

总结:其他的忘了,一天三次面试,可给我整累了😂

结果:有意向书,拒二面。。。

百奥广州广田

一面:1h

图形学:
1. 举例说你觉得games101里面你最深刻的一些知识点
2. 图形渲染管线
3. 怎么判断点是否在三角形内,叉乘的几何意义,点乘的几何意义,为什么不用点乘判断呢
4. 怎么判断两个三角形是否相交
5. 了解过怎么去读取不同格式的一个图片吗
编程:
6. 一个文本中有中英文字符,怎么找出中文字符有多少个?ASCII码和UTF08,UTF-16有啥关系和区别
7. 一个文本中全是英文字符,怎么找到频率最高的字符呢?那要是不限制英文字符呢

总结:两个面试官,交叉问,呜呜呜,😫😫😫

二面:1h 10min

总结:对叭起,我忘了,反正还是两个面试官,都是问的实现什么功能,你应该怎么设计,使用什么数据结构的问题。呜呜呜

hr面:40min

总结:还是那些范围的问题,大家想知道 hr 问啥感觉就可以大致概括到那几个问题了,所有公司都差不多啦。

结果:已意向

IGG

一面:1h

项目:
1. 做过哪些项目,举例说一个项目是怎么设计的
C++:
2. extern C
3. 虚函数调用的底层原理
4. 构造函数调用虚函数会发生什么
5. 虚函数设为析构函数有什么好处
6. vector的实现原理
7. map的原理
8. hash表怎么实现
图形学:
9. 渲染管线
10. 判断是否在三角形内
11. 一个射线和一个球求交点
12. 做过哪些渲染效果呢

总结:面试官说总体海星,基础再扎实一点就好了。。🤪

结果:表明自己能力不匹配,应该是没有二面

勇仕网络

一面电话面:1h 10min

C++:
1. C++11新特性用了哪些
2. C++的map和unordered_map
图形学:
3. 渲染管线
4. 叉乘与点乘
5. 做过的渲染效果
设计模式:
6. 面向对象5大原则
7. 为什么要多用组合少用继承
Unity:
8. 你知道哪些工具能用来分析性能,哪些方面可以用来优化性能

总结:后面聊了很多其他的东东,唔,感觉挺好的🤣

更多模拟面试

全部评论

(19) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

近期精华帖

热门推荐