2025游戏客户端笔面试经验贴-米哈游

🕐面试时间:2025.10.30
💻面试岗位:游戏客户端

笔试
共三题,a了2.2,前两题比较简单,最后一题是图的带权最短路径还有选择限制,摸不着头脑

一面
八月初投的,九月做的笔,都以为泡无了,居然还有个面,全程40min,无自我介绍无手撕

基础知识部分:
1.虚函数的实现机制
2.虚表创建时机,位置
3.构造函数和析构函数是否能为虚函数
4.在构造函数和析构函数中调用了子类实现的虚函数,会怎么样
5.lambda表达式的底层实现
6.lambda表达式的函数传参如何实现的
7.std::function可以接受lambda表达式,这个转换是怎么实现的
8.智能指针讲一下
9.一个shared_ptr和一个weak_ptr指向的资源,shared_ptr退出作用域后,weak_ptr还可以访问吗
10.shared_ptr内部是如何管理资源块的释放和引用计数块的释放的
11.多线程编程了解吗
12.多线程中需要注意的问题(答共享数据的访问)
13.那有哪些方法可以解决这个问题呢
14.你刚刚提到了原子操作,那内存序有了解吗

游戏场景题:
1.FPS游戏中,给定射击方向和最大偏移角度,如何做散布和最终方向确定?
2.游戏中需要管理大量数据,要求插入、删除、查询都是O(1)复杂度,并且可以遍历数据,但是对顺序无要求。用什么数据结构实现?(先答的哈希+链表)
3.链表实现的话可能效率太慢了,你知道为什么吗
4.那么用什么数据结构效率更高一点呢(答数组,但是数组只能尾部插入删除为O(1))
5.如果对中间数据也有增删的要求呢(开悟了,哈希+数组,中间数据和末尾数据换位操作即可)
6.FPS游戏中实体子弹速度太快可能有什么问题?如何解决?
7.现在做一个多人网络游戏,我的想法比较新颖,想使用“事件同步”,就是一个事件发生时,将该事件发送给其他客户端,其他客户端接受事件指令并执行,不考虑网络延时和作弊问题,这样做可不可以?(说实话有点没太懂...)
8.考虑网络延时的话会有什么问题?
9.如何解决网络延时问题呢?
10.你的方法可能出现表现结果不一致的情况,有没有更好更快的方法解决呢

不得不说米的面试难度还是在线的,八股题可以挖很深,场景题也基本在网上没听过,但是面试体验还是不错,面试官很温柔很耐心

10.31
更新,已挂

#发面经攒人品# #秋招# #米哈游# #游戏客户端#
全部评论
你这应该是被捞了,之前好多人分享这家的面经呢
1 回复 分享
发布于 10-31 16:35 陕西
场景题一样
点赞 回复 分享
发布于 11-02 18:44 上海
第四题题目啥意思,主语是谁调用啊
点赞 回复 分享
发布于 11-01 06:19 浙江

相关推荐

12-02 14:53
已编辑
拷打项目和unity引擎知识多一点,印象只能记起来这些了,有些细问的小知识忘了面试题目:项目实习拷打:自我介绍介绍一下你做这个项目碰到最难的事情,并且是怎么解决的(然后拷打了这个事情解决方法细分的知识)介绍一下你在实习碰到最难的事情,并且是怎么解决的(也拷打了这个事情解决方法细分的知识)unity引擎里面函数执行的顺序是怎么样的?update和latedate和fixupdate有什么区别?为什么相机在跟随的时候要放在lateupdate里面?不能放在fix或update里面吗?如果放了会怎么样animator了解吗,知道animator是怎么样使用事件帧的吗?渲染画面帧的时候是在update这个帧里还是帧前或是帧后?渲染完成之后的帧是在帧前帧后还是哪个出现?介绍一下你你在时候关于性能优化的工作?scriptableobject了解吗?你了解图形学在渲染画面的时候是怎么进行工作的吗?顶点,面元,片元,像素之类的知识。人物武器攻击的时候碰撞是怎么做的?协程在unity是怎么实现的?有在项目中具体用到吗?八股:常用的数据结构有哪几种?哈希冲突怎么解决?lambda表达式了解吗?你刚才说到捕获上下文常量变量,知道是怎么进行捕获的吗?lambda表达式可以在编译函数中进行吗?或者是怎么样进行?lambda表达式怎么样简化代码的?lambda表达式有过具体的运用吗?构造函数可以是虚函数吗?如果是会怎么样?(这里是挖坑了,主要还是回为什么不能的原因)析构函数一定是虚函数吗?如果不是会怎么样?vector和list和map了解吗?vector和list的遍历和插入时间复杂度分别是多少?如果有很多数据要进行哪个更快一点?智能指针有哪几种?weakptr的作用是什么?具体是怎么实现解除循环引用的作用的?回答的不怎么样,问八股越问越细,直到不会为止,10月上旬做的笔试,12月才面试,八股都忘完了,引擎知识也差不多,都已经在进行做新项目备战春招了,反问随便问两个问题就拜拜了,面试官人很好,问到很难的问题不会的时候都会给出解答,还介绍了一下公司和聊了一会天,面试完之后秒挂。
查看23道真题和解析
点赞 评论 收藏
分享
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道真题和解析
点赞 评论 收藏
分享
评论
18
60
分享

创作者周榜

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