腾讯天美客户端面经
如约来还愿了,写一下timeline和面经吧。
Timeline
3.13 更新简历(我2月末就投递简历及填写测评了,但是一直没发面试申请,直到三月中才想着要更新一下简历)
3.15 天美电话约一面时间
3.18 北极光电话约一面时间(我至今不知道为啥北极光会先面)
3.19 北极光一面,时长接近两小时,面完3分钟被秒拒
3.21 天美一面,28号约二面时间
4.3 天美二面,4.4转为hr面状态
4.15 hr面 面完秒发云证加进录用评估状态
4.22 上午10点,查询内部状态已录用
4.22 中午11点34,收到offer通知
以下是面经部分:
北极光客户端一面
算法题:
1.找单向链表倒数第n个结点
**********************************
2.两个字符串输出最长公共子串,子串得按顺序,但可以漏项
********************************
3.局部内存池实现
第10篇:C++ 堆内存管理器-allocator - 知乎 (zhihu.com)
4.旋转链表找字典序最小的旋转
八股:几乎没问,就问了一下内存池
项目:稍微问了下内容,主要是问对引擎的使用
反问:进入项目组能学到什么?
我今天表现怎么样?
反馈:可以增加一些对图形学的了解,对引擎框架的认识,基础还不够扎实,要多练多写。
面完被秒挂可以说是信心全无,上来稍微聊了两下马上出了四道题给我做,做了一个多小时,做完马上挨个点评,找出我好多问题,点评完稍微聊了下就结束了,其实那时候我就感觉已经寄了。面试了两个小时吧,我面试之前同门刚开始看电影,出来的时候同门电影都看完了……
天美客户端一面
时长30分钟,没开摄像头
1.首先自我介绍一下
2.项目中用的浮点数误差修正算法是怎么实现的,最终产生怎样的效果?
答:我从同时碰撞模型开始讲起,讲到现有引擎存在的问题和我的解决方法,再讲到如何用我的算法进行浮点数误差修正,最后的结果是1000个小球碰撞可以产生冲击传播现象。
3.能讲讲IEEE754浮点数为什么会产生浮点误差吗?
答:介绍了一下IEEE754的结构,并解释误差来源于精度的浮动
4.你提到你做了1000个物体的碰撞,这么多物体在碰撞时怎么优化来加速呢?
答:我从粗碰撞检测和细碰撞检测两部分来答的,粗碰撞检测利用包围盒技术可以减少一部分碰撞的判断,然后细碰撞检测阶段运用island局部求解又可以去掉一部分物体。(当然这题可能还有更多方法,暂时想不起来)
5.怎么判断一个点在多边形外部还是内部?
做叉乘判断是否同向。
6.AABB和球球碰撞哪个性能更高呢?
答:都是一次检测直接处理,所以我认为是一样的。(其实球包围盒应该更快,只需要一次检测,而AABB可能要比较六次,和顶点个数成正比。)
7.能否改进你的项目,使得不会产生浮点数误差呢?
答:不知道。面试官说可以用定点数,但其实物理引擎没法不产生浮点数的,你的帧率、约束求解过程中怎么可能不产生浮点数呢?如果真的可以替换掉,物理引擎中就不存在数值误差了。
8.new和malloc,delete和free有什么区别?
9.构造函数能否是虚函数?虚函数的功能及其实现?析构函数能否是虚函数?
C++构造函数和析构函数可以是虚函数吗 - 知乎 (zhihu.com)
10.项目中用了哪些数据结构,或者你知道哪些数据结构?
11.你知道几种排序?
8种常见排序基本都说了
12.讲讲快排的实现
13.指针和引用的区别
14.常数指针和常指针的区别,int* const p和int const* p哪种才是常数指针的写法?
应该是后者,不过这种写法我真不熟。
15.估计是HR问的,问我啥时候毕业,最早啥时候能来实习
反问:
1.今天表现如何?
聊地挺顺畅的。所以还不错
2.进组可以学到什么?
整个游戏的制作流程之类的,具体什么项目还不知道,反正说的比较敷衍。
3.用什么引擎,要学些什么知识?
4.大概什么时候能收到结果?
一周以内
面完一周后更新状态为二面,面试时间据状态更新又隔了一周。说实话这次面试真的令人信心大增,有种终于能使出全力的喜悦(
天美客户端二面
时长30分钟,开摄像头
1.自我介绍一下
2.项目中的tilemap是怎么实现的?
3.地面和人物之间的碰撞是怎么检测的?如果是圆和矩形呢?
4.有没有了解过大型项目中空间加速的一些方法?
5.IEEE754 浮点数每一位的含义?
6.auto的底层实现,和解释型语言中的变量类型有什么区别?
7.static变量是什么时候存储到内存的?
8.unity中用过哪些组件?做过什么样的项目?
9.讲讲unity的生命周期
10.是否了解ECS?
11.你自我介绍中提到平时会关注一些游戏技术,能举例说说吗?
12.追问,这个技术你有了解过具体怎么实现的吗?
13.如果让你自我推荐的话,你觉得你有什么优点?
可能还有一些问题,但不记得了
反问:
1.本次面试后还会有几轮面试?
不清楚
2.项目组base在哪?
上海
3.能介绍下项目组的情况吗?
面完第二天状态更新为hr面,这次面的感觉中规中矩,关于我研究方向的东西都答出来了,但是八股和引擎有一些不会的,因此觉得答得一般,没啥想法。
hr面
电话形式,十分钟不到就结束了。问的问题都是能直接回答的,比如现居地在哪,啥时候能到岗之类的,如果好好准备简历应该不会有啥问题,所以这部分不展开了。当然觉得不稳的可以去找点hr面常见问题准备一下,我是都准备了但没用上。
结语
我的流程时间确实特别长,因此中间也有许多难熬的时刻,但回看过去却感到很幸运,有时候会感慨还好初面的部门是北极光,一上来便对我施以下马威,让我得到了宝贵的经验教训。天美的一二面之间隔了很长时间,使我有精力准备组会报告,并有时间准备面试。当然越到后期压力就越大,对失败的恐惧也就越大。从一面的试试就好,到hr面的势在必得,心态真的变了很多,所以最后一段时间等的挺纠结的,等hr面的时候大概是最难熬的。oc则次之,这过程中无数次想象自己是否已经被淘汰,搞得很难入睡,不过吃饭还是很香(,虽然结果看来都是虚惊,但确实得做好多手准备比较好。希望我的面经对大家有所帮助,也希望大家都能实现自己的梦想,在奔走多年之后再次寻得心中的宁静。
#腾讯##面经#