游戏开发春招面经Ⅰ

以下仍然是在BXSS上找的机会。记录了从年后第一周到本周的大部分面试。并没有做太多记录,因为感觉普遍价值不高。

公司规模基本都比较小,大部分都是比较基础的八股,大概一半公司喜欢聊项目,项目相关的部分没有记录在内。

另外,忽然发现自己一百粉丝了,也是感谢各位支持

 

友塔一二面

两面的时间都不太长,也没有及时记录(有缺漏),索性合起来了

  • 哈希表的原理,发生冲突如何解决
  • 口撕:判断链表是否有环
  • 笔试复盘
  • 智力题(给一个八边形,每条边是0或1,可以选择按下任意一条边,将使这条边和左右相邻两条边的数字都取反,问至少按下多少次可以将所有边的数字都归零)
  • A*寻路如何实现,复杂度是多少
  • 是怎么练习算法的?力扣刷了多少题?讲几个你印象深刻的算法题
  • 口撕:两个有序数组合并(k个呢),全排列
  • 渲染流程

多乐游戏一面

  • 装箱拆箱,如何避免
  • 值类型和引用类型的区别
  • GC,如何减少GC
  • UI动静分离原理
  • UI图集的作用
  • DrawCall是什么
  • 减少DrawCall能优化什么
  • AB包压缩方式
  • 如何实现一个成就系统
  • 观察者模式怎么写
  • 具体讲讲项目里的MVC架构,是怎么设计代码的
  • 手撕快排
  • 写过什么Shader,讲一下怎么实现的
  • 除了深度测试还有什么测试

 

必凡娱乐一面

问了特别多计网相关的

  • OSI七层模型
  • TCP建立连接和断开连接
  • 三次挥手行不行
  • TCP和UDP的区别
  • TCP报文头有什么
  • TCP如何确保可靠
  • TCP拥塞控制
  • TCP如何进行流量控制
  • http如何建立连接的
  • DNS解析的作用
  • DNS解析,TCP,http分别是哪一层
  • http状态码有哪些
  • 知道哪些数据结构
  • 图和树的遍历方式各有哪些
  • 介绍快排
  • 快排的平均和最好的时间复杂度
  • 面向过程和面向对象的区别
  • 介绍你知道的设计模式
  • 介绍A*
  • 介绍AssetBundle,你项目为什么要用它
  • 介绍MVC框架

 

多乐二面

面试官说了很多,主要介绍公司的项目、培养计划和晋升制度等等

自我介绍,这部分问得很详细,包括在校成绩,职业规划,项目等

  • C++单层for循环的执行顺序,和时间复杂度
  • ++i和i++的区别
  • C++内存结构
  • 栈区和堆区的区别
  • 内存泄漏和内存碎片,以及如何避免
  • new和malloc的区别
  • C#相较于C++的内存机制的区别(GC)
  • 线性表和链表的区别
  • 堆排序的复杂度和原理
  • 你的项目中用到了什么优化手段
  • UI图集和动静分离有什么作用
  • 你如何理解DrawCall
  • CPU和GPU在渲染过程中各有什么作用(渲染流程)
  • 纹理和纹理压缩
  • 平面内两个矩形,如何判断它们是否相交

 

其他一些面经

还有一些公司的面经就全合起来了,包括:大梦龙途,奥术游戏,波克城市,汉迪移动……(还有的我都忘了)

  • C#的ArrayList和List的区别,各自的优缺点
  • C#的特性标签
  • C的数组指针和指针数组
  • 数组和链表的区别
  • 快排的原理,平均、最好的时间复杂度
  • FSM是什么,三个单词怎么写的(…?)
  • 相对于不使用观察者模式,它有什么优点?(解耦)
  • A*寻路有什么启发式函数?都是怎么计算的,写一下
  • 平衡二叉树是如何构建的
  • UI合批,场景里物体的合批
  • UI之间的顺序是怎么决定的
  • Mask和RectMask2D的区别
  • Vertex Shader和Fragment Shader是什么
  • 你觉得好的编程习惯和代码风格是什么样的
  • 了解最近很火的deepseek么?用过吗?觉得怎么样?它为什么这么火?它为什么能降低训练成本?(不知道为什么聊这个)
  • 设计贪吃蛇需要用到的数据结构
  • 设计俄罗斯方块需要用到的数据结构
  • 设计愤怒的小鸟的发射逻辑,包括发射前的轨迹预测
  • 三消类游戏在初始化时,如何保证不是无解的
  • 手撕:链表反转,两数之和(有序和无序),unity中物体匀速移动的代码,观察者模式,快排(并且手撕过两次)

其实春招已经有点不抱希望了,太难太卷了。虽然也能找到小厂的,但是自己跨专业想进游戏行业只想做自己喜欢的,想去自己想去的。如果没有理想的offer,可能今年就去考研了

#春招面试##面经##游戏客户端开发工程师#
全部评论
加油啊佬
3 回复 分享
发布于 03-03 19:37 广东
佬一定可以的
2 回复 分享
发布于 03-02 12:44 湖北
加油
1 回复 分享
发布于 03-14 01:06 吉林
又来看看面经了
1 回复 分享
发布于 03-12 15:40 广东
加油加油
1 回复 分享
发布于 03-06 16:07 广东
加油啊佬
1 回复 分享
发布于 03-05 12:00 广东
1 回复 分享
发布于 03-03 23:37 广东
佬波克城市面试都问了哪些呀灰常感谢
点赞 回复 分享
发布于 03-20 19:55 上海
大佬,请问下多乐二面还会考算法吗
点赞 回复 分享
发布于 03-17 21:50 重庆
大佬,可以问下多乐hr面会问什么问题吗
点赞 回复 分享
发布于 03-06 19:20 湖南

相关推荐

06-16 19:16
已编辑
门头沟学院 客户端其它
初恋网友:后端劝退第一人
你认为哪个岗位找工作最卷
点赞 评论 收藏
分享
找实习期间看了不少大佬们分享的面经,收获不少,牛客上好像没什么银之心的面经,所以简单分享下自己的经验。bg:985本,211硕,简历包含一段小厂的unity实习,一个UE的基于GAS的ARPG玩具demo,4月底开始投简历。----------------------------------------------------------------------------------------------Time Line:5.23 -- 笔试5.29 -- 1面5.30 -- 2面6.3 -- 3面6.6 -- hr面6.16 -- oc---------------------------------------------------------------------------------------------笔试:4道算法题1.给定一个排列,求出所有子区间的中位数之和2.给定两个字符串a,b,将b插入a使得字符串为回文串,求有多少种插入方法3.给定两个长为n的整数数列A,B,每次可以从A的左或者右端取一个数字,B按顺序取,假设第i次取走的数为ai,则第i次取走的价值为bi*ai,求最大价值和4.给定两个长度相同的字符串s,t,每次可以将任何位置的任何字符移动到字符串末端,求至少需要多少次操作可以市s变成t?---------------------------------------------------------------------------------------------面试体验很好,几个面试官相当专业,反问环节回答得很认真,不敷衍,收获良多;hr小姐姐推进流程和回复问题也很及时。------------------------------------------------------------------------------------------------一面(55min)1、自我介绍2、常规的C++八股拷打,这里推荐知乎 不羁的游侠 的 《计算机基础篇》 ,我自己面试过程中遇到的大部分c++八股都可以在里面找到。-----没答上来或者答得不好的几个问题:(1)一个子类继承了两个父类,两个父类中有同名的虚函数,子类中重写此虚函数,重写的是哪个父类的虚函数?(2)类模板的声明和实现可以分别放到头文件和cpp中吗,为什么?(3)执行exe,main函数是最先执行的吗?如果不是,举几个在main函数前执行的例子。3、问:你的项目里有用行为树实现的敌人AI,有看过源码吗?答:没有,不过知道AI寻路的一些过程和原理,(然后balabala开始讲NavMesh生成网格体的过程和A*算法)4、问:了解过动画系统中动画动起来的原理吗?答:动画的载体是骨骼,动画序列由时间轴上的一系列关键帧组成,每个关键帧存储了每根骨骼的变换信息,非关键帧的骨骼变换信息通过插值等方式可以计算出。问:介绍一下UE的动画状态机、混合动画、叠加动画?    答:知乎 TurBo强  的《UE 动画系统框架介绍及使用》;问:知道蒙皮动画吗?   答:没了解过问:看过动画系统源码吗?   答: 没有5、手撕算法题:(1)字符串加法,常规题(2)追加要求:两个数可以是负数询问面试官:能否拆分为两个正数的减法和加法的函数,计算前先单独处理运算的两个数的符号位,并调用相应的函数。面试官回答可以,写了5min没写完,面试官表示时间差不多了,直接进入反问环节。----------------------------------------------------------------------------------------------------二面(45min)1、自我介绍2、问:玩过什么游戏?答:最近在玩 最后纪元 ,一个暗黑风格的ARPG游戏3、问:这种ARPG游戏里,怎么对敌人造成伤害?答:比如玩家发射一个火球,需要为火球添加碰撞体,敌人身上也必须具备碰撞体,同时实现接受伤害的接口,当火球与敌人碰撞时,触发hit或者Overlap事件,传递碰撞信息,其中包括敌人对象,拿到敌人对象后,调用接受伤害的接口。4、问:怎么进行碰撞检测?答:粗略检测的话,可以用包围盒等包围需要检测碰撞的对象,然后检测两个包围盒是否有相交即可。过程中可以通过四叉树、八叉树或网格加速结构,快速排除远距对象。不同划分区域保证不会碰撞的情况下,就能快速过滤与本物体不同区域的其他潜在物体碰撞。问:包围盒和包围球间的范围检测哪种比较简单答:包围盒和包围盒吧,只需要把各个顶点投影到坐标轴上。(好像不对,应该是球和球?)问:球和球的范围检测怎么计算?球和盒的范围检测怎么计算?答:(几何知识,大概画个图就知道了)5、问:如果是近战攻击,怎么对敌人造成伤害?答:和远程差不多,不过是需要在近战武器上添加碰撞盒,创建两个场景组件放置在武器的两端,作为box trace的起点、终点,挥舞武器的时候,在两点之间执行box trace。问:怎么让box trace跟着武器动的?答:近战攻击用一个动画蒙太奇实现,武器绑在角色手上的slot里,碰撞盒和起点、终点是武器的子组件,动画动,武器跟着动,子组件也跟着动。6、问:项目里有实现自动寻路吗?有了解过吗?答:(一面的时候也问道了)NavMesh生成网格体的过程+A*算法。问:如果场景中有移动的障碍,怎么处理?答:不太清楚 ,不过我猜可以先划分区域,只更新移动物体影响的区域,更新寻路网格体时,把移动障碍和其移动覆盖的区域整体标记为障碍物。问:需要重新烘焙吗?答:需要。7、问:还做过其他什么东西吗?答:还做了一个简单的多人游戏项目,不过做得不是很好问:网络游戏用什么协议答:UDP,不过通常会将在其往TCP的方向改,即可靠的UDP,(序列号与确认,丢包重传、超时重传、滑动窗口、拥塞控制)8、无手撕环节---------------------------------------------------------------------------------------------------三面(30min)三面大部分时间聊聊天了,问了一些简历上提到的东西,比如MVC的难点,ui的MVC和工程上的MVC的关系等,有三分之一的时间是面试官在给我讲解反问环节问的问题,醍醐灌顶,可惜忘记录音了...-------------------------------------------------------------------------------------------------
duadua666:同银之心oc,但是怎么感觉我这问的这么简单😧
查看25道真题和解析
点赞 评论 收藏
分享
评论
21
90
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务