2022年(2023届)游戏客户端开发秋招总结贴
记录一下自己2022年(2023届)秋招。
先说背景
楼主是末流211本科(这学校估计不强调都属于是被人忽视的)软件工程专业,投递的岗位基本只有游戏客户端开发,不鸣这边是也尝试投递了引擎工具开发。
有一段中厂(应该算中厂?)实习经历+三个水项目
图形学基本不会,只能扯一下渲染管线。
懒得每篇面经开一个帖子,就直接整合在一篇发了。
下面的面经会在大标题标识是否挂了和挂在哪个阶段。
阿里巴巴灵犀互娱-平平无奇工作室(排序挂)
2022.9.9 灵犀互娱-平平无奇工作室-一面 60min
- 自我介绍
- 问实习经历(占了大部分时间)
- UI性能优化你具体做了些什么(图集)
- B类型加载的回调函数里如果要加载一个A类型,A类型里面又包含有B类型,这时候怎么处理
- 对重构有什么认识
- 在重构的过程中是否用到了什么设计模式
- 谈谈自己对性能优化的理解
- 知道背包问题吗,说一下01背包的解法
- C++中虚函数有什么作用
- C++中什么函数不能被声明成虚函数
- vector和list的区别
- 说说自己知道的解决哈希冲突的方式
- 说一下自己对C++的STL中的map的了解
- 红黑树有什么特点,为什么要用红黑树
- 说一下快速排序的过程,快速排序用到了什么思想
- 如果现在要你做一个从商店购买东西到背包的逻辑,你需要跟后端敲定哪些通信协议
- 我可以从前端把商品的价格传给后端吗
- 你有什么优点和缺点
- 如果策划给你提了个比较离谱的需求,你会怎么处理
反问
在问技术栈的时候被gank了
-
lua的元表知道吗,说说自己知道的元方法
-
lua中有几种遍历table的方式
工作室用的自研引擎,技术栈是C++和lua
2022.9.15 灵犀互娱-平平无奇工作室-二面 45min
- 自我介绍
- 说一下自己的实习经历
- 讲讲重构是怎么做的,具体业务场景是什么(对象池)
- 如果成千上万种的对象都要使用你的对象池,你会怎么进行优化
- 讲讲实习和自己做demo最大的不同
- 实习的项目有什么印象深刻的地方吗(全局的事件响应机制)
- 说说实习遇到的事件响应机制的调用流程
- 实习项目的事件响应是在lua实现的,如果让你在C#实现,你会怎么做(Dictionary+委托)
- 说说自己的demo项目,自己的主要职责是什么
- 你是怎么去使用行为树的,用来做了什么
- 你说demo项目内有UI框架,能讲讲你觉得你的demo项目内的UI框架与实习中的UI框架最大的不同吗
- UGUI底层实现有看过吗,UGUI渲染的mesh是怎么形成的(不是很了解,但是阐述了一下自己对UGUI的理解,UGUI在刚被实例化出来的时候实际上是一个3D物体而不是2D的,是需要通过计算变换的,所以在实例化UGUI组件后立马对其进行操作有可能会发生意想不到的后果,需要在LateUpdate或者直接到下一帧操作)
反问
- 问新人培养
有授课或者安排做mini project,都不超过一个月
- 问对动画系统的看法
不只是一个系统,如果想要做动画渲染的话需要直接往引擎开发方向发展,需要业务来支撑(面试官主动提了原神和赛马娘来做例子)
- 问学习建议
聊GDC等技术分享的渠道以及自己对玩游戏的看法
2022.9.19 灵犀互娱-平平无奇工作室-HR面 25min
- 自我介绍
- 介绍一下自己的实习经历
- 为什么不留在实习公司
- 说一下自己实习期间的主要产出
- 实习中有遇到什么困难
- 怎么解决的
- 尝试自己解决问题固然很好,但是可能会耽误工作进度,这一点有考虑到吗
- 平常怎么学习的
- 觉得自己在技术方面有没有什么不足的地方需要继续学习的
- 打算怎么学习这些提出的不足的地方
- 有没有别的offer或者别的应聘进度在推进中
反问
- 新人培养计划
一般会为新人制定一个为期一年的计划,中途都有人带。
- 工作室使用自研引擎是出于什么考量
像腾讯网易这些大厂已经耕耘游戏开发很久已经有了很深厚的技术积累,他们也都有自研引擎,灵犀互娱想要增强自己的技术积累好好发展,所以觉得需要做自研引擎,所以是基于以上考量来选用自研引擎的。
9.23在钉钉被HR直接告知没HC了,排序挂。
库洛游戏(一面挂)
2022.10.26 库洛游戏-鸣潮-一面 60min 一面挂
面试官一上来就介绍自己是鸣潮项目组的(有两个面试官,其中一位是客户端主程,主程是因为另一位面试官临时有事所以来顶一下)
面试风格是问了一个点之后开始深挖的风格
- 自我介绍
- 实习做了什么
- 你提到了对象池,你先说一下你是怎么实现这个对象池的
- 你的对象池是如何去回收未激活的对象的
- 在使用哈希表映射不同种类后,相同种类的对象你是用什么数据结构来存放的
- 你说到了你是使用队列这种数据结构来存放同种类型对象的,它有什么好处呢
- 你觉得用队列来存储对象会有什么缺点吗
- 你可以设计出一个既不会剩余太多冗余对象,又不会频繁发生对象的创建和销毁的存储方式吗
- 你对游戏开发的哪一些方面了解多一些
- 你觉得C#内的struct和class有什么区别
- 如果我要使用哈希表,我该使用C++的STL内的哪一个数据结构,C#呢
- C++虚函数是怎么实现的
- 当我们调用C++的new来创建一个对象时,会发生哪些事,越详细越好
- new、malloc以及操作系统分配内存的API,他们之间有什么关系吗
- 现在要你设计一个负责创建对象并返回的函数,你会选择返回这个具体对象还是返回指向这个对象的指针,为什么,这两种方式分别有什么优缺点
- 如果我返回智能指针,有什么优缺点
- 知道向量的叉乘是如何计算的吗
- 我现在要判断一个物体在我的面前还是身后,我该怎么判断
- 我现在需要在以你为中心距离5m的范围内随机生成一个点,你会怎么做(距离应该在0到r²之间取)
- 现在给你一个二维数组,中间有若干障碍阻碍了道路,起点终点都是外部输入,你会怎么计算我最少要拆掉多少障碍才能成功到达右下(给的思考时间比较短没想出来)
- 为什么想做游戏,选择来做游戏的契机是什么
- 为什么不考研
反问
-
鸣潮项目现在的开发状况如何
目前鸣潮处于开发中期,核心功能已经基本完成,正在进行堆量,国内的游戏从第一次披露到正式上线一般需要间隔挺长时间,中间的对外测试一般以测试核心功能为主
-
学习建议
要是能够多深入了解自己用过的工具的底层原理实现就更好了
-
公司这边是否介意只有Unity经验而没有UE经验
对于校招生来说不会介意,更在意基础如何
吐槽
由于我简历上确实是有写自己C#和C++都熟悉,但是面试官提问题的时候并没有说我需要回答对应的问题在C#还是C++中的解答,这就导致我说一个方面,面试官总会说我答错了,然后说要我解释的是另一方面的东西,整体的面试体验比较一般。然后20题给的时间确实有点太短了,刚开始想该怎么搜索就告知下一题了。
炎魂网络(笔试挂)
2022.11.25 炎魂网络-笔试(AK)
leetcode 547 省份数量-mid
leetcode 827 最大人工岛-hard
leetcode 174 地下城游戏-hard
笔试挂了,HR说同岗位简历很多留学生,直接被卷没了。(真这么哈人?应该只是没hc了)
极致游戏(综合面挂)
2022.11.26 极致游戏-笔试(AK)
leetcode 14 最长公共前缀-easy
leetcode 232 用栈实现队列-easy
leetcode 113 路径总和II-mid
2022.11.29 极致游戏-一面-60min
- 对什么语言熟悉点
- 说说你平常开发和学习常用的C++容器,说两种吧
- 你会怎么从零开始实现一个vector
- 对unordered_map的求哈希值的函数有了解吗
- 你会怎么设计求哈希值的函数
- 了解排序算法吗,说说归并排序
- 你会怎么合并两个有序数组
- 如何反转链表(栈、递归、遍历头插)
- C++虚函数
- 一个类继承了class A又继承了class B,这个类有几个虚函数表指针
- 了解过菱形继承吗,说说二义性具体是什么情况,如何解决
- 为什么从实习单位离职
- 讲讲自己实习的产出
- 讲讲你的对象池是怎么做的
- 我能把游戏内所有的对象都用一个对象池管理吗,会有什么问题
- 说说你的实习收获
- 一个项目内的全局事件机制你觉得是用来解决什么问题的,你为什么觉得它好
- 讲讲你实习期间你觉得做的最不好的事是什么
- 你有对你实习期间完成的工作进行复盘吗,复盘结果怎么样
- 为什么来做游戏
- 你后续对自己的学业和职业发展有什么规划吗
- 你刚刚提到了公司“收留”你,能说一下你为什么会用到“收留”这个词吗
- 你为什么会在职场上尽量把自己放在一个较低的位置而不是较高的位置
反问
- 面试官所在的组是一个什么样的项目
卡牌游戏
- 公司的工作氛围如何
加班不多,即使加班也不是无效加班,非必要不加班
- 这边是Unity+Lua来开发吗
目前有披露的项目都是的
吐槽
当天晚上就告知一面技术面通过约了综合面,这里可以为极致游戏效率高点个赞。
约了12月1日的综合面,来面试的是成都某仙侠题材放置手游的制作人,面试问题集中在“为什么从实习公司离职”以及将来的打算之类的,其实就是HR面,聊了有一个小时。
隔天就发感谢信了,问HR说是“对自己的实习经历总结不足,希望可以‘多维度’总结实习经历”。
总之很迷,挂人请换一个好一点的理由,这样显得非常敷衍,而且我对实习的工作也有自己的总结之类的。(HR回应“我们对这个岗位的候选人筛选很严格”)
另外还有最值得吐槽的问题,二面面试官问我“你平常玩什么游戏”,我按照自己日常玩的游戏回答了一下(主要是各种单机游戏,最近ns游戏玩的多),然后面试官直接发问“难道你不玩网游和手游的吗?”,这里我说“网游有玩的,apex和LOL都有在玩”,紧接着又被问到“难道你不玩手游的吗?”,这个问题属实是没什么营养,不玩手游我觉得并不影响我来做游戏吧? 总之感觉面试这家公司很浪费时间。
分众游戏
2022.12.7 分众游戏-一面 20min
- 介绍一下自己是怎么学Unity的
- 介绍一下自己做过的demo
- 让你设计射击游戏内的子弹你会怎么做(实体子弹,非射线检测)
- 一个UI既要匹配PC端,又要匹配移动端,还有各种各样分辨率不同的屏幕,你会怎么做
- 介绍一下Unity脚本的生命周期
- Unity协程有了解过吗
- 网络相关的怎么做有了解过吗
- 你分别在FixedUpdate和LateUpdate里面做什么
- 介绍一下排序算法
- 给你一个数组,要找出里面第二大的数你会怎么做
- 介绍一下C#的List和Dictionary
- 了解过动态资源加载吗
- 为了防止摄像机移出边界,你会怎么处理
反问
- 这边公司主要的业务是什么
已经有一款上线项目,是一款休闲游戏,只需要定期更新资源就好了,目前主要在研是一款类似VR Chat的项目,主打玩家自由度,还有别的项目在筹备中。
- 这边如果面试通过的话是要求提前到岗实习吗
是的。
- 这边主要是采用Unity+C#吗,还有别的什么技术吗
主要是Unity+C#,后续热更新会考虑使用Lua,目前在用AB包做资源加载。
米哈游-未定事件簿(泡池子挂)
2022.9.5 米哈游-未定事件簿 45min
- 自我介绍
- 选一下考查C++还是C#(选了C++)
- 说一下指针和引用的区别
- const int * 和 int * const有什么区别
- i++和++i有什么区别
- 左值和右值都是什么
- 说说字典是什么样的结构,大概怎么实现
- 数组和链表有什么区别
- 快速排序是怎样的过程,时间复杂度如何,什么情况下是最坏的
- 对二叉树进行深度优先搜索和广度优先搜索有什么区别
- 知道二叉树有几种遍历方式吗,说说每种遍历方式的运行过程
- 对二叉树DFS和BFS分别有什么具体用途
- 面向对象的特性是什么,分别对每个特性说一下自己的理解
- 重载可以只有返回值类型不同吗
- 一个函数的参数列表是const int,另一个是int,能形成有效重载吗
- 那一个是int,另一个是int*呢
- 说说对单例模式的了解
- 说说对工厂模式的了解
- TCP和UDP的区别
- 三次握手四次挥手
- 如何让UDP可靠
- 进程和线程
- 渲染管线流程说一下
- 说说项目内的任务系统怎么做的
- Unity内的UGUI知道要基于什么来显示吗
反问
面试官评价基础很彳亍
2022.9.14 米哈游-未定事件簿-二面 35min
- 自我介绍
- 手撕二分查找
- 手撕斐波那契数列(面试官就想看递归)
- 两个栈实现队列
- 两个队列实现栈
- LRU
反问
技术栈是C# + ts
做完题目就结束了,一开始很害怕,不过收到三面邀请了
2022.9.21 米哈游-未定事件簿-三面 60min(泡池子挂)
- 寒暄一下
- 说说自己知道的时间复杂度为nlogn的排序算法
- 说说那些排序算法的具体应用场景,你会怎么用
- 你会怎么解决topk问题
- 你觉得topk问题和我要找出前k个最大/小的数有什么区别吗
- 现在数据库内有1T的数据需要你排序,上面你说的几种nlogn的排序算法你会选择哪一个,为什么
- 说说自己对A*寻路的理解
- 说说你知道的和CPU缓存相关的运行机制(时空局限性原理,cache miss)
- 你知道为什么CPU cache和RAM之间会有速度级差吗
- 你知道缓存的置换有什么方法吗(讲了FIFO,LRU,LFU)
- 页面置换算法中的LRU算法什么情况下会导致频繁的cache miss
- 手撕哈希表(要求开放寻址法)--需要考虑扩容
- 为什么会选择投我们组
反问
- 项目组情况
是一个小组,总共有大概100来号人,开发、美术、策划、运营都是米哈游自己的人
- 新人培养计划
属于是熟知的mini project了
到公司前有要求看一些书,有一系列的书单
- 为什么在脚本语言方面没有采用热门的xLua(使用Lua开发)而是使用了ts
弱数值类型是坏文明,ts能够很好的跟C#内的一些数据结构交互
吐槽
面完之后泡池子到12.9才收到感谢信,讲真mhy不想招人了可以不招的,别浪费这么久时间,幸好看到自己泡了一个月池子之后就不抱希望了。
不鸣科技-引擎工具开发
2022.12.9 不鸣科技-引擎工具开发-一面 35min
- 自我介绍
- 介绍一下你的实习
- UI显示异常的问题你是怎么解决的(文本与整体UI翻转)
- 游戏内实时切换语言,怎么改变UI显示,保证整体翻转也正确,你说的专门处理翻转的Component的内部是怎么运行的
- 你刚刚提到可能要遍历所有的UI,这个地方可以避免吗
- 刚刚提到了委托,对于同一个方法我注册了两次委托,你觉得我Invoke这个委托,这个方法会运行几次
- 对于有返回值的委托,我对这个委托注册了多个方法,这个委托的返回值是什么呢
- 你平常对C#、C++、Lua的使用程度是什么样的(C#做demo,C++写算法,Lua实习用)
- 讲讲单例模式的优缺点
- 介绍一下你的一个项目
- 项目内的UI框架是怎么让Panel响应的变化影响到它的子物体的
- 你认为行为树和普通的if-else有什么区别
- 你对MVVM有了解吗(没有)
- WPF有了解吗(没有)
- 怎么不用加号做加法
- 括号匹配
- 游戏中的一个物体是怎么渲染到屏幕上的(扯渲染管线)
- 怎么确定一个面是朝哪边的
- 怎么计算一个面的法线
- 怎么确定一个点的深度(z坐标)
- 怎么确定一个面被遮挡,遮挡的范围如何确定
反问
- 岗位职责
主要是在用WPF开发,做引擎的工具链,可以理解为把引擎开发的成果包装成Unity那样的编辑器,还包括一些给策划美术用的扩展工具
2022.12.14 不鸣科技-引擎工具开发-二面 28min
- 自我介绍
- 讲讲你的职业规划
- 介绍一下实习产出
- 你的对象池对象回收逻辑一定需要把对象全都遍历一遍吗
- 对象池的容量上限是怎么设定的
- 介绍C++11新特性
- 你觉得我声明一个整型变量,我直接写int和auto之间有性能差异吗
- 你觉得auto是怎么实现自动推导的
- 类型自动推导是在编译时还是运行时实现的
- 我调用vector的emplace_back,这个vector的底层可能都会有什么操作呢
- 当发生扩容时emplace_back的时间复杂度是多少,均摊时间复杂度是多少,等长扩容和倍增扩容的时间复杂度计算
- n级台阶上楼,一步可以上1级台阶或者2级台阶,讲怎么解决
- 有一枚质地不均匀的硬币,有两个玩家,针对抛硬币设计一个玩法,让两个玩家的获胜概率相等(这里原本讲了可以分别计算抛出正面的次数,谁先到达设定的次数就获胜,但是面试官说这样相当于有2组样本,希望我设定一个只用1组样本的玩法)
反问没有问什么比较有价值的东西就没记录了
peropero games(OC)
2022.12.13 peropero games-一面 45min
- 自我介绍
- 讲讲你实习期间的重构经历
- 具体说一下对象池的销毁逻辑
- 你是如何对UI性能进行优化的
- 你是如何处理图集的
- 你了解图集的作用吗
- 为什么图集不能是长方形(比如可以是10241024,但不能出现10242048,跟iOS有关)
- 你的课设是如何和同学进行合作的,说说你的主要职责
- 你们的合作中有出现什么困难吗
- 你了解Behavior Designer的底层吗
- 你了解NavMeshAgent是怎么去实现寻路的吗
- 你的传送门效果是自己写shader实现的吗
- 项目分别有使用JsonUtility和LitJson,你了解这两者的性能差别吗
- 你做项目的时候有遇到什么技术难点吗
- C# 值类型和引用类型的区别
- 假设在函数内new了一个int类型数组,这个数组在内存中是怎么分配的
- 如果new的是一个Object类型的数组呢,有什么差别
- C# GC,GC为什么会影响到性能,如何避免GC
- 为什么装箱拆箱会引起GC
- 说说你了解的设计模式
- 单例模式的优缺点
- 工厂模式解决了什么问题
- 你对抽象类和接口有什么了解,平时写代码分别在什么情况下使用它们,举一下你项目内的例子
- 你是怎么了解到我们公司的
- 平常玩什么游戏
- 有看动画吗,最近在看啥动画(我说我最近在看特摄,面试官直呼“你真硬核”,peropero内部假面厨比较多,成分正确(bushi)
- 你个人偏向往技术中台发展还是想参与具体项目的开发
- 想做什么类型的游戏(RPG!)
- 期望薪资
反问
- peropero对于应届生有什么培训吗
实习期三个月,分为学习和到组内实习,学习包括3D数学、图形学、游戏框架开发
- peropero除了Muse Dash还有在研项目吗
除了Muse Dash还有四到五个在研项目,囊括俯视角射击、休闲、模拟经营、消除类、音游(原来你们真没在摸鱼啊)
2022.12.15 peropero games-二面 20min 纯聊天
根据我最近玩什么游戏来进行一些有关游戏设计内容的挖掘,很有价值的一次面试,跟对方很对的上电波。
感觉不用记录成面经,虽然是技术主管来面试但是主要探讨游戏设计、游戏玩法相关内容,如果要加入peropero的话建议对自己常玩的游戏有一定的见解。
乐信圣文
2022.12.12 乐信圣文-一面 65min 双面试官 主程+中台负责人
- 自我介绍
- 你为什么要做你的这些demo
- 你现在想找一份什么样的工作,你觉得我们公司的“好”在哪
- 讲讲快排
- 快排的时间复杂度是如何计算出来的
- 快排的最坏情况是什么样的
- 如何尽量避免快排的最坏情况
- C#的Dictionary的原理
- 你刚刚提到了拉链法,这个链是怎么形成的
- 链表结点和Entry数组之间的关联是什么
- 你刚刚也提到了Entry数组的扩容,为什么要尽量让容量是一个质数
- 你能讲讲CLR是个什么吗
- 讲讲C# GC
- 你知道GC的Root在哪里吗
- 你了解什么内存压缩算法吗
- 你了解什么设计模式
- 除了你用过的,你还有什么了解过的设计模式吗
- 讲讲你了解的状态模式,你会用这个设计模式去设计什么模块,你怎么设计“状态”
- 我们在面向对象程序设计的时候有一系列的设计原则,你能讲讲这些原则都是什么吗
- 说说你实际开发中用到这些原则的地方
- 讲讲UGUI是如何做到合批的,什么是UGUI的合批
- 合批有什么条件
- 讲讲协程和线程的区别
- 对Unity资源管理有什么了解吗
- 你觉得为什么你的实习项目要将图集最大规定在1024*1024
- 你知道如何去计算一个图集在内存中占用空间的大小吗
- 了解图集的压缩格式吗
- Unity中什么功能让你印象最深刻
- 你为什么会选择做Unity的项目
- 为什么会选择做这些类型的项目(RPG,俯视角射击,RogueLike)
- 你学习Unity主要有什么途径
- 有查阅文档的习惯吗
- 量化一下你学习Unity的途径的占比(网课、文档、博客)
- 介绍一下实习项目都有些什么模块
- 你想做什么类型的游戏,有了解过我们公司是做什么类型的游戏的吗 ,知道什么代表性作品吗,这些类型的项目可以接受吗
反问
- 对于新人有什么培养
开头两个月有导师带着熟悉项目,定一些学习计划,平常也有技术分享会
- 面试官觉得做休闲项目和做一个比较重度的网游(比如SLG、MMO)这样的项目之间给应届生带来的收获有什么差别呢
先问了我的看法,我主要集中于游戏体量不同回答
公司的项目会让每个人都能了解到一个游戏项目从零到一都经历了什么阶段,包括如何投放和变现,项目的数据都是比较open的,都可以了解到,相比更大型的项目可以学到更多对于项目整体的想法。
2022.12.20 乐信圣文-二面 80min
无法用言语形容的一次面试,收获非常多,跟面试官从技术开始探讨到职业规划、产品理念,是一次很棒的面试,面完才发现面了这么久,整体跟聊天差不多,体验很棒的。
面试官提出职业规划应该优先考虑到自己的最终目标,设想一个自己想要达到的场景,然后朝着这个方向去努力学习,包括也对我以后可能会想的技术+策划方向的发展路线也表示了肯定,也让我对产品理念有了新的认识。
欢乐互娱-技术训练营
2022.12.12 欢乐互娱-一面 20min 面试官没开摄像头
- 自我介绍
- 介绍一下你的项目或者实习里你觉得有代表性的部分
- (被打断了)实习项目一开始没有用对象池来管理你所说的对象吗,你的手机运行这个项目的时候卡顿和发热严重吗
- 继续讲实习经历
- 你有了解你的重构对drawcall的影响吗
- 你主要在用Lua还是C#,你对C++、C#、Lua的熟悉程度是什么样的
- 说一下vector和list的区别
- C#的Dictionary发生哈希冲突时是怎么处理的
- 什么时候可以实习、什么时候毕业
反问
- 欢乐互娱的训练营形式是什么样的
训练营是校招的一种形式,校招进的同学不会直接进入项目组实习,因为欢乐互娱更倾向于招聘ACM竞赛获奖选手,竞赛选手一般没有经历过游戏开发,所以就需要有一定的训练。训练营一共三个月,第一个月的时候会有系统性的游戏开发教学,后两个月分组做mini game,结束后报告成果然后跟项目组进行双向选择。
- 欢乐互娱有哪些可以披露的项目呢
有微信小游戏和MMO手游,主要是RO的手游,还有英雄杀的格斗游戏,除了RO仙境传说的MMO手游以外还有一款RO ip的手游在研。
2022.12.14 欢乐互娱-二面 24min 面试官没开摄像头
- 自我介绍
- 介绍一下实习接触到的UI框架
- UI在不同分辨率下会怎么处理(横竖版布局都是单独的json文件)
- 你对Anchor了解多少
- 介绍一下实习做的对象池
- 实习的建筑实体颜色变化是怎么做的(不是我做的不了解)
- 你的校内团队开发项目你主要负责什么内容的制作
- 项目内寻路用的是什么
- 介绍一下Behavior Designer都有哪些类型的结点,作用分别是什么
- 对比一下你的项目和实习项目的UI框架直接的区别
- 你觉得对脚本划分更加细致的生命周期又什么作用
- C#内的event和Action有什么区别
- Unity的各种功能模块你觉得自己掌握的最好的是什么
- 有了解过跨平台开发吗
- 排除开发需要,平时自己会想去学哪些方面的知识
反问
- 训练营第一个月上课的话主要是会讲什么方面的知识呢
引擎层面、渲染层面、GamePlay层面的都会有,涉及到之后的项目开发可能还会讲一些网络和UI相关的,讲解结束后一般会有需要完成的作业
- 组队开发项目完成后是做什么呢
会有一次结业,然后参与双选
2022.12.19 欢乐互娱-HR面 35min 面试官居家就没开摄像头(面试官说家里挺乱)
是一次比较经典的HR面,上来自我介绍后就问了一些有关实习的总结和对欢乐互娱有没有什么了解,然后就开始问“你从小到大做过最成功的事”、“说一下自己的优缺点”、“推荐三部作品,书籍或影视作品都行”这类的问题,好好整理好思绪组织好语言回答就没问题。
面试官也跟我说进入训练营的话会比较累,压力比较大,作业和额外学习可能会弄到很晚之类的,老生常谈了。
吐槽
欢乐互娱的面试很随意,面试官都没开摄像头,给人的感觉都像kpi面
游族
2022.12.8 游族-一面 50min
- 自我介绍
- 你的RPG项目内实现了多种敌人,讲讲这些敌人的设计
- 你说你设计的boss比较特殊,讲一下它都有些什么功能要实现吧,再讲讲具体的实现细节
- NavMeshAgent有用到吧,原理有了解吗,讲讲A*
- 项目里有用到对象池吗,讲讲对象池是怎么设计的(这里说了想讲一下实习期间做的对象池,那个东西更多点)
- 你提到你在实习期间做了图集优化,你是怎么做的呢(大小不超过1024x1024,分功能按需加载,大功能拆分成小功能)
- UI分层有什么作用有了解吗
- 你提到你实习做了UI方面的性能优化,能具体说说吗(用工厂模式重构图标动态加载)
- 你实习期间也接触了多语言相关的模块,能讲讲这个模块是怎么设计的吗
- 同一个key下的文本在不同版本会有不同的解释,这个是怎么做的
- 数据结构了解吗,讲讲C#的List和Dictionary
- List和Dictionary底层的数组扩容有什么不同之处吗
- 你对你的职业规划是什么样的
- 平时玩什么游戏
- 期望薪资,最快什么时候能来
反问
- 面试官所在项目组情况
目前有一个老项目和一个新项目,计划年后可能再开个项目,偏向SLG
- 项目组规模
老项目组人少大概三四十号人,新项目组一百多人
- 这边主要是用Unity+C#+Lua来开发的吗
新项目立项的话可能不考虑用Lua来进行热更,考虑用C#的热更方案来做
2022.12.9 游族-二面 40min
- 自我介绍
- 什么时候可以来
- 详细介绍一下你的实习
- 你的对象池主要是解决了什么问题(面试官想让我量化一下性能提升,可惜当时没注意这方面)
- 你刚刚提到的用设计模式解决了icon动态加载的问题是什么,具体带来了什么性能提升(这个稍微量化了一下)
- 你如果到了一个新项目组,你会怎么去熟悉项目组使用的开发框架
- 你会怎么去拆解一个游戏的各个系统
- 你在你的实习里学到了什么
- 你觉得你实习单位的开发有什么做的不好的地方吗
- 如果让你来制定一个代码规范,你会怎么做
- 你对游戏客户端开发的工作有什么新的认识
- 平时玩什么游戏
- 平时看书吗,看些什么书,看书对你来说有什么好处
- 你觉得自己在哪些知识有所欠缺,你是怎么去学习一个新接触的知识的
反问
- 这边之后的项目会是什么品类呢
SLG
- 面试官觉得使用Lua来做热更新和使用C#的方案来做热更新有什么不同呢
首先是语言方面,不用再写脚本语言,代码会更加严谨,然后是性能方面,不用再有C#和Lua之间的交互
- 面试官对引擎的动画系统有什么看法吗
一些比较简单的动画可以使用引擎自带的动画系统来制作解决,复杂一些的更多是使用专门的软件来制作
2022.12.13 HR面
2022.12.22 offer
2023年5月底游族大规模毁约,我也寄了。
#游戏客户端开发工程师##游戏开发##面经##Unity 3D#