讨论/求职面试/腾讯客户端算法岗面试经验/
腾讯客户端算法岗面试经验

【一面】
UE4部分:
1.为什么选择ue4,为什么不选择unity?
2.常见的一些类
3.Pawn和character的区别是什么?
4.Ue4蓝图和c++如何相互调用(宏)
5.网格体动画的原理(骨骼,蒙皮,权重什么的)
6.动画蒙太奇介绍一下
7.运行时生成物体的函数是什么?
图形学:
1.整个渲染流水线
2.刚刚说深度测试放到最后面,请问有没有放到其他地方的情况?(没答出来,面试官说这跟移动端什么的有关)
3.实时阴影的原理,算法
4.矩阵怎么求逆(ORZ不会)
5.主要还是聊了很多自己的项目
6.项目里主要用c++还是蓝图
7.介绍一下你刚刚说的动物森友会***形地面的怎么实现的?(好像问了一个什么数值驱动,不太懂)
8.IK运动学(我只是说我用了ue4的preview的这个功能,具体的内部实现不太懂)
C++
1.多态是怎么实现的?(讲了一下虚表指针,虚表,运行时确定地址,好像面试官不太满意)
2.虚表是哪时候生成的?(编译时)
3.Inline标识符的作用
算法
1.如何获得链表中倒数第k个数?
2.给你一个圆的圆心(0,0)半径为R,实现给出一个在圆内的一个随机点
3.快速排序的时间复杂度,最坏情况是多少?

欢迎关注公主号【面经熊】,回复面经可以获取上千篇互联网大厂面试经验!岗位齐全,助力春招!每日九点更新互联网大厂面试经验,长期刷面经更有效噢~

【二面】
C++&算法:
1.多态实现
2.关于虚析构函数的问题
3.堆和栈区别
4.寄存器维护堆还是栈
5.说一下智能指针
6.宏是在哪个阶段进行处理(预编译),const呢?(编译)
7.如何判断链表中是不是有环?(我说了使用快慢双指针,然后又要我说另外的方法,提示是可以使用额外的内存空间)
8.说一下重载
图形学:
1.渲染管线
2.说一下opengl有哪些缓冲
3.说一下法线贴图,干嘛用的,他是在vertex shader 还是 fragment shader里进行使用(其他的忘了呜呜呜)
UE4:
1.Pawn和actor的区别;
2.我创建了一个uobject对象,在没有其他引用的情况下请问我该如何保证它不会被gc?(根据提示原来使用UPROERTY宏进行标记就可以防止被回收,然后又问还有什么方法,我真不知道啊,他就问我umg怎么进行使用,说到add to viewpoint他说就是用这个可以把这个引用放到根结点,就不会被回收了)
3.我自己做了个类,不是继承自uobject的,请问怎么使用ue4自带的垃圾回收机制?(这个我真不知道)
4.Actorcomponent和scenecomponent的区别
5.用什么方式可以维护actor之内的层级关系:(SetupAttachment进行组件间的子类父类的关系维护,其底层是调用了SetAttachParent(InParent);actor之间是attachActorToActor)
6.说一下动画蒙太奇(balabalabala)
7.说一下动画的混合吧(blend pose之类的,两套动作,哪个作为basepose比较好,balabala)
8.请说一下uobject和Aactor创建和销毁方式(生成actor:spawnActor,生成object:NewObject();销毁actor:destoryActor,销毁object:conditionalBeginDestroy)

【三面】
三面之前我真的紧张死了,头一天晚上都睡不好觉,网上说三面多难多难,不得不说鹅厂的面试官真的很nice,自我介绍完就不紧张了,哈哈哈;
三面主要聊天为主,问技术问题不过我还没到这个层级,基本都不太会(果然应届生的水平也就停留在会用哈哈哈),问的问题都是见仁见智了,没有标准答案,下面是问题:

  1. 为什么选择UE4,当初有什么考量(应该是面试官自己想了解的)
  2. 学ue4多久了?
  3. 对于你未来的职业规划怎么考量?做商业化的游戏和比较理想化自己做的游戏你更倾向于哪种?
  4. Shadowmap是什么?
  5. 了解过剔除吗,他是在哪一步执行,知道剔除有什么算法实现吗?(最后不知道啥实现了)
  6. UE4底层你了解过多少?(我说了ue4自己实现了内存回收和反射功能)
  7. 那内存回收过程讲一下吧?那中型的游戏,内存回收需要多少耗时,你猜一下。(我猜一帧以上吧,他说那不得卡死?)
  8. 聊一下项目,问项目一开始怎么确定方向的,然后人员结构,然后我在自我介绍的时候带了一下这个项目参加腾讯大赛没过复试,并且总结原因。
    然后就聊聊我最近玩啥游戏,喜欢什么兴趣,然后就要我对腾讯游戏的评价,然后向我介绍了他们工作室的一些信息,后面就是聊天了。

【HR面】
HR面主要就问问自己的职业规划啊,为什么选择腾讯之类的,总之与技术关系不是很大,所以就很正常的回答了,就不贴了。
总结

  1. 其实可以发现,对应届生的要求真的不是很高,来来回回的话c++就考那些,数据结构和算法要有一个基础,感觉有项目是非常加分的
  2. 当然,我面试的职位基本上每一点都在简历上匹配了,可以看看岗位要求,写简历的时候照着这个要求去写,可以说我本身的技能与光子工作室想要的人比较匹配,面试的时候就觉得问的问题和我知道的方向非常对口,所以总体来说是很流畅的(感觉主要是ue4这个引擎比较匹配,毕竟光子需要会ue4的人)
  3. 不得不说,腾讯的面试官真的很nice,我卡壳的一些东西他会一步一步引导你,不会让你太紧张
  4. 其实我在面试之前有很多准备的,包括学习图形学啊之类的,充足的准备是必要的
  5. 我在过程中会表达我对游戏有多热爱,毕竟热爱驱动你做事远比安排你做事要更能够激发潜能;
  6. 相信自己,去发现,无限可能!
1
共 0 个回复
暂无回复