米哈游游戏测试开发面经(上)

#发面经攒人品##米哈游##米哈游求职进展汇总##游戏求职进展汇总#
本次分享游戏测开岗位的前三轮面试的面经,我面试体验下来,游戏测试开发岗位跟互联网测开是有非常大的区别的,是给游戏测试那边开发测试工具的,所以是强开发性质,基本不涉及测试内容,所以要投的这个岗位的小伙伴要注意一下。
有了找实习时经历的十几轮面试的磨炼,秋招的面试变得比较得心应手。所以前两轮都算是速通了。
-------------------------------------
9月2日,一面的面试官是一位小哥,估计是刚当面试官没多久,面评写的很慢,基本上他问一道题,我答出来之后,要等他打一分钟左右的字才能继续问下一道问题整体体验感有点割裂,整体45分钟左右:
1.自我介绍
2.缓存体系优化中,为什么使用简历上提到的方法
3.如果需要频繁定时刷新的话,怎么使用
4.讲一下国自然项目的背景
5.假如几十艘无人艇同时渲染摄像机视角,怎么降低负载
6.天气变换怎么做的
7.雾天怎么实现的
8.不同无人艇之间的镜头切换怎么做的
9.场景之间的加载和保存逻辑怎么实现的
10.如果保存的场景文件有错误,怎么办
11.强化学习项目中,无人车如果掉湖里了,应该算逻辑失败,怎么判失败的
12.无人车撞到障碍物了,怎么判断的
13.Java中针对List创建迭代器,在迭代的时候删除List中的某个值,为什么会报错
14.Java中对于创建的对象和实例,放到内存中的哪个位置
15.手撕——最长公共子序列
-------------------------------------
第二天中午打电话约了二面,9月8日,二面面试官很有水平,并且强度十分大,八股盛宴,各种类型的八股都有,我都扯到计组上面了,整体1小时20分钟:
1.自我介绍
2.讲一下强化学习中的Q值和V值
3.强化学习中的贝尔曼方程
4.Unity Bind啥啥啥(没用过,说了package)
5.说一下你用过Unity中的哪些组件,都干了什么
6.讲一下Unity中的Rigidbody
7.如何检测两个Unity实体之间碰撞
8.讲一下索引、聚簇索引和非聚簇索引、explain的作用
9.如果客户端请求服务端很慢,怎么排查
10.如何排查网络问题、讲一下四次挥手
12.如果服务端Time_Wait过多,怎么办
13.限流算法了解吗,如何实现一个限流算法
14.CPU Cache了解吗,如果有一段代码CPU Cache利用率不高,怎么优化
15.锁竞争,死锁怎么排查
16.讲一下乐观锁、内核态和用户态、IO多路复用,epoll函数
17.如果有个文件需要发出,内存需要拷贝多少次,讲讲零拷贝
18.手撕——LRU,想一些测试用例,尽可能全面
19.内存碎片问题,如何解决
20.LRU能怎么改,让他多线程安全,效率尽可能高
21.反问
-------------------------------------
面完一小时之后秒约三面,9月11日,三面面试官应该是个大leader,很有气场,问的问题也比较宏观了,我应该是有些宏观问题答的不太好,并且手撕虽然做出来了但是时间复杂度比较高,挂掉了,整体一小时:
1.为什么选择测试开发,为什么不选别的岗位,为什么实习投的游戏测试现在改成开发了
2.有没有比较深刻的经历
3.在优化数据规模这块,为什么选择mongo
4.数据迁移过程中,双写时如何保证数据及时更新
5.为什么订阅了binlog还要双写
6.迁移为什么选择一千万这个数量级
7.迁移时的边界条件怎么确定
8.如果在迁移时,先写mongo,再写mysql后,mysql又把mongo的数据变成老数据怎么办
9.xxl的架构
10.手撕——为游戏上层实现一个优先队列容器,提供以下方法:
入队,需要提供优先级信息,优先级是个整数,从0开始,数值越大优先级越高
出队,优先级最大的元素优先出队,优先级相同时满足先进先出
默认元素类型是GameObject
应用情景是一段时间内集中入队,而出队是分散不频繁的
-------------------------------------
面完之后泡了三个工作日,hr打电话通知不通过,但是别的组觉得我可以再面一下,流转到另一个组重新二面,详见下一篇
全部评论
问题全贴游戏场景,得懂业务才能答好
点赞 回复 分享
发布于 12-01 17:38 山东
新人面试官翻页慢,是不是在记笔记?
点赞 回复 分享
发布于 12-01 17:38 河南
再来送一朵!!!
点赞 回复 分享
发布于 11-28 18:03 江西
这岗基本不涉及测试,投错的要避雷!
点赞 回复 分享
发布于 11-28 16:13 山东
面试官写面评要等一分钟,这体验感好割裂
点赞 回复 分享
发布于 11-28 16:13 山东

相关推荐

头像
11-28 13:27
上海大学 Java
继我上一个部门挂掉之后,流转到新部门,从二面开始,说是能加速流程,体验下来也没有加速但是这个组的面试体验大体都还不错,米家的面试体验基本上都挺好的,这点没得喷。-------------------------------------9月17日,四面的面试官看起来比较沧桑,比较疲惫应该没少加班,但是面试体验还是很好的,整体1小时15分钟:1.介绍一下你简历上的实习和项目2.项目中哪些是合作的,哪些是自己做的3.大模型应用方面怎么做的,延迟如何4.Unity中Animator底层实现,模型之间平滑过渡怎么做的,如何防止穿模5.前后端交互中,如果发现响应变慢了,可能是哪些情况,如何优化6.CI/CD底层实现,有没有写过自动化测试7.压测怎么做的,JMeter底层实现8.写一个脚本自动运行Unity并且测试帧率波动,怎么做9.场景题:给你一个Unity地图,地图上有多个障碍物,现在想让你测试除了障碍物之外所有区域是否可通行(环境建模是否有问题),你会如何做,选择什么数据结构,怎么测试10.手撕——合并区间,写出来之后想一些测试用例,要求覆盖所有情况11.喜欢玩什么游戏,有没有写过游戏脚本12.求职意向,接不接受转语言13.反问-------------------------------------面完第二天约下一面,9月25日五面,五面部门的技术总监,很有威严,但是给我的感觉却没啥压力,人还是非常不错的,面试之前还在开会,导致面试迟到了十多分钟,不过hr有跟我及时沟通,到也可以理解,项目赶得比较急,五面整体1小时10分钟:1.自我介绍2.实习学到了什么3.说说你对游戏测开的理解4.未来职业规划5.手撕——从零实现有序区间的插入与删除6.针对手撕设计一些测试用例7.如果手撕的数据量很大怎么办,百亿级别,如何优化8.为什么选择游戏测开9.Beta测试的时候效果如何10.如何衡量一个新角色是否超模,从测开的角度11.希望从测开这里学到什么技术12.喜欢什么游戏,Top313.反问-------------------------------------面完之后泡了几个工作日,约hr面,中间隔了一个国庆,并且还收到了一个我比较满意的offer,所以爽玩了一个国庆节国庆之后返校准备了一下,10月14日hrbp面,这位hr非常有资历了,她说她是8年前校招进米哈游的,所以这次hr面跟我之前面过的hr面完完全全不一样,很有压力,并且时间也长一倍,需要吐槽一下的是,到我反问时,她基本不正面回答我的问题,而是用我提出的问题来问我,比如我问了一个公司文化与氛围,她不回答,反而说我连这个都不知道吗整体1小时左右:1.自我介绍2.前几轮面试自己觉得表现如何,挂掉的面试为什么挂掉的3.岗位投递的方向4.对于未来的发展,转岗是怎么考虑的5.现在秋招有什么意向和进展6.其他公司面试体验如何7.实习公司的优缺点8.工作比较看重哪些点9.有哪些缺点10.反问-------------------------------------后续是泡了整整42天,在11月24日晚上六点半多点,收到感谢信。中间我催过一次,hr保温一次,hr询问手里offer一次,我全部如实回答了,我本来非常期待进入米哈游的,但是随着时间的一点点流逝,也变得无所谓了。导致我收到感谢信的时候,内心毫无波澜,就像意料之中那样。
发面经攒人品
点赞 评论 收藏
分享
11-25 11:18
已编辑
华中师范大学 Unity3D客户端
因为我是一个月前投的简历,但是等了一周没等到约面以为不会有机会了就没准备,结果过了一个月突然打电话约面。本人第一次面试,没准备过面经也没刷算法题(力扣十道题的实力)算是完全没实力的面试。面试得也是一团糟,好多问题答不上来,大概率过几天就会挂了。本人不太会c++,虽然CS也没好到哪里去11.24 一面自我介绍问了一下项目,因为简历上只有项目。问了一下项目是跟着教程做的还是自己做的。问了一下项目里的BUFF系统。听到buff分配是switch语句后就没深入了,估计是觉得写的不行。问八股讲一下c++里的多态多态里的虚函数的底层是怎么实现的?(回答了虚函数表,但是太紧张了,说的乱七八糟的)假如有十个同一个类的对象,虚函数表有几份(答一份)虚函数表存储在内存中的哪个区域?(答在rodata区域)c++中的内存分区是怎么样的?(静态存储区、rodata区,剩下的想不起来了,就给面试官说我的c++不太好,面试官就不再追问了,开始问c#了)c#的堆和栈?(说了一些乱七八糟的东西,扯到了堆是由GC控制的,肯定没答对)你对c#的委托理解?(说了一点委托和多播委托,以及存储关系,他们怎么存储函数)委托怎么删除某个方法(答使用-=运算符,不确定对不对)链表与数组的区别(回答了存储空间分配,插入删除的区别)数组插入的时间复杂度(答O(n))哈希表的理解?(我回答了字典处理哈希表的逻辑,顺便提到了哈希冲突)哈希冲突怎么解决?(字典里采用了链地址法,大概讲了一下,但是语言非常混乱,实在是太紧张了)了不了解平衡二叉树的概念?(这时候以及蒙了,一年前学的数据结构,猛地没想起来,随口答了一下模糊概念)平衡二叉树的左右子树深度差值是多少(答0或1)手撕平衡二叉树的判断,要求自己构建树结构(原本以为没手撕的,结果还是来了,因为忘了平衡二叉树的概念,写了40分钟没写出来,深度判断用的还是层次遍历)讲一下代码思路(一边讲面试官一边看,估计看到代码错了,没深入问)问渲染管线(答,cpu将数据传入到GPU,然后经过顶点着色器、片元着色器等处理,然后投影、裁剪、最后进入光栅化整合输出)深度测试是在什么阶段实现的?(答光栅化,这里答错了应该,下来后搜了发现是在片元着色器阶段)如果要实现半透明的话shader代码怎么写?(不会,直接说了不知道,只了解shader graph知识,现在想想应该可以在深度检测时对后方物体进行颜色均值处理?不太确定)反问环节问我现在基本都是在做项目,这一阵子发现自己开发项目与面试经验不是特别吻合,如果接下来要找面试的话应该往哪个方向走。面试官说我不会c++的话在面试的时候会有一定劣势,如果要做项目的话还是争取能做到把游戏完整上架的程度才比较好,项目算是加分项。相比之下把基础弄好会好一些。然后又聊了很多有关c++和c#的事情,说基础知识之所以是c++是因为c++更偏向于底层,在回答的时候可以描述的更清晰一点。(如果需要的话可以单独开一篇文章说,面试官还是讲了很多内容的)问是哪一个项目组的?游戏还在研发阶段。整体面试下来刚开始的时候非常紧张,语言组织不太好。不过面试官人很好,很有耐心,第一次面试还没准备答成这样子也是没啥可说的,接下来就坐等被挂了。11.25 挂
查看22道真题和解析
点赞 评论 收藏
分享
12-09 13:34
已编辑
华南师范大学 前端工程师
学弟学妹在大二大三的时候就会想说要去找一份自己比较满意的实习,那么如何去做呢?先说一下主包的基本情况,bg211本,在大三上学期拿到一家中厂的实习offer,并在秋招拿到携程的正式offer,是一个比较平稳提升一个路线,大家可以作为一个参考首先尽早得明确自己感兴趣的方向,或者说能够愿意在未来深耕的领域,以技术岗为例,主流的方向有前端,后端,测试,运维,游戏,算法,AI,硬件等等,这个需要大家在大一大二的课程学习以及课余自己去体会,当然大家在选择方向的时候,会有各种各样的声音干扰着我们的选择,比如我作为前端开发最经常听到的"前端已死,未来都会被AI取代",或者像其他的"后端竞争压力大,92硕大佬横飞","测试就是点点点"要这么看,哪一条路都完蛋哈哈,所以还是要看自己对哪一方面感兴趣,当然现实的问题也要综合去考量,比如算法岗确实对学历要求比较高。当你决定了未来的方向之后,就要补充自己这块领域的知识储备了,可以问ai这个方向需要学习哪些知识,比如前端就是基础的三件套,到vue/react前端框架,浏览器和网络相关知识,git的基本使用操作等等,也可以看实习岗位的要求,看看公司都要求我们有哪些技能,比如更进阶的前端工程化,跨端等等的内容作为补充。其次准备算法,前端hot100+面试150完全够用,其他的岗位对算法的要求我不太清楚哈,可能后端比前端高一点?找实习也是找工作,所以要准备一份精简的简历,网上也有很多教制作简历的教程和视频,大家可以再看看,总结来说就是有一个基本的个人信息,其中名字和学校最重要,上一段提到的个人技能,以及在校所作的项目。项目我这里着重讲一下,因为给我在实习期间有帮我的mt筛继任实习生简历所以当了一次小小的hr有点心得:技术岗不要放什么三下乡,社团等与技术无关的内容;项目经验和应聘岗位要垂直,我收到一个同学的简历我们招的是前端实习生但他的项目是ai训练相关的;在提到我做了什么之后最好附上我是怎么做的,我这样做提升了什么,而不是一句空话。你需要确保你对简历上面都是对这个岗位有用的信息,面试官关心的是你能不能干活而不是你安排活动有多牛逼你做其他事情有多牛逼,切记!然后就到了投递啦,实习的投递我暂时分为大厂和中小厂,一般大厂的实习都有官方的宣讲和招聘官网通道,大家只需要在对应的投递事件和对应官网按照指示投递就ok啦,剩下就是等待笔试和面试,一般是测评(行测+心测)+笔试+2-4轮技术面+hr面。中小厂一般是在****招聘直接投递,中小厂相比于大厂对算法考察低太多,甚至没有,一般是1-2技术面+hr面。当然大厂也可以在****投,可以与hr实时沟通跟进进度。如果年级有交流群或者有学长学姐发布内推渠道/简历直推,可以大胆询问投递,有可能面试难度会比直接投递要降低一点点哦!面试准备阶段首先需要你阅读/理解/背诵八股,所谓八股就是这个面试这个岗位会问的一些常规问题,实习的面试八股的占比还是比较高的,大家可以在大神做的八股网站和牛客/xhs uu们分享的面经进行学习。很多同学有这样的疑惑,为什么我记了忘,忘了记,记了又忘?是因为我们做了太多的输入而没有去输出去检验我们的掌握情况,以致于在面试的时候突然脑袋空白,曾经掌握的知识成了熟悉的陌生人。首先我们背诵是基于知识理解的背诵,我们要先掌握知识本身,并根据某一个问题去思考还有哪些是可能会被考察到的,做一个思维的发散性处理,可以将问题或者我们的答案喂给ai让他去做一个润色和补充。我在准备实习的时候我在谷歌下了一个chatgpt,其实豆包也可以,先给他预设你应聘的岗位,让他模拟面试官,让他根据你的问题和回答做出评分以及给出较为标准的回答,打开语音功能,这样你就可以先给出问题然后回答去检验自己的掌握情况啦。当然这个过程比较耗时,大家可以根据具体的问题做取舍。如果是要面试大厂,常见的数据结构和********需要去再复习,一般面试中的笔试都是再hot100和面试150中出,前端的同学就还可能会涉及到一些常见js手撕的考察或者简单组件的编写。项目的话可以在github找或者在b站找一两个项目跟着视频来做,写在简历上的话最后有两个项目,可以一个简单一个复杂一点,面试介绍的时候可以着重讲复杂的那一个。最后有一些综合性的我想到啥说啥了哈大胆地进行投递,适当的把目标订的高一些,不要妄自菲薄,瞻前顾后,因为不可能做到100%准备好,不要想我这么菜面大厂不是白给吗,面了也是白面干脆不投了。担心自己能力不行晚点投递ok,但是不能不投,你可以从小厂投,熟悉流程再投大厂没问题,但是不能直接放弃,始终对自己要保持比较高的要求。比方说我们准备期末考试,我们做准备考100分的准备最后能考80,我们做考80分的准备最后考60,面试也是一样,当你被上面的厂拷打麻了,后面的面试才能慢慢地扛得住压力,哪怕进不去大厂,我们在尝试中厂的时候会猛然发现,好像豁然开朗。当然对于年级比较低的同学,可以先在小厂锻炼自己然后再跳到中大厂也是不错的选择作为实习岗位,面试官其实更看中你的潜力以及对于这个岗位的积极性,在面试过程中你需要多分享你对某个问题具体的思考,比如你是怎么做的,我还能怎么做,我这样做比那样做的优势在哪些地方。还有就是要真诚,比如我不会某一个面试官问的问题,你可以先说自己在这块领域不是很了解,但是我可以往哪方面去思考去类比,而不是答非所问或者胡言乱语了半天。面试到最后一般会有一个反问环节,大家可以在面试前准备一下自己要问什么,主要凸出自己对面试这个岗位的和自我成长的积极性,比如团队业务,面试轮次,学习一些建议都可以,或者有些公司可能会提及到ai工具,可以问公司ai工具的普及率使用率都可以暂时是这么一些,后续想到会再做补充,欢迎大家评论区讨论呢~(附一张白云山猫猫)
0经验如何找实习?
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

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