腾讯游戏客户端超详细面试经历腾讯端客户游戏怎么玩

发布时间:2024-06-24浏览:15

访谈内容

背景

我是一所比较不知名的211大学的学生,目前是大三学生,专业是计算机科学与技术可视化,比较适合面试,同时自学了UE4引擎,做过一些小项目。

这次面试的部门Photon Studio也比较多使用UE4;

【一边】

UE4部分:

为什么选择 UE4,而不是 Unity

一些常见的类别

棋子 和 角色 有啥区别?

UE4蓝图与C++如何互相调用(宏)

网格动画的原理(骨骼、蒙皮、权重等)

动画蒙太奇介绍

运行时生成对象的函数是什么?

图形:

整个渲染管道

刚才说深度测试放在最后,是不是放在别的地方了?(这个问题我回答不了,面试官说跟移动端什么的有关系。)

实时阴影的原理与算法

如何求矩阵的逆(ORZ不知道)

主要讲了很多我自己的项目

项目中主要用到的方法是否是C++或者Blueprint?

你能告诉我如何在《动物之森》中实现 3D 地形吗?

(好像问的是一些数值驱动,但我不太明白)

IK运动学(刚才说是用了UE4的预览的这个功能,不知道内部具体实现)

C++

多态是如何实现的?(讲了虚表指针,虚表,以及运行时地址确定,看来面试官不太满意。)

虚拟表何时生成(编译时)

内联标识符的作用

算法

如何获取链表中倒数第 k 个数字

给定一个圆心为 (0, 0) 半径为 R 的圆,给出圆内的一个随机点

快速排序的最坏情况时间复杂度是多少?

【第二面】

C++与算法:

多态实现

关于虚拟析构函数的问题

堆和栈的区别

寄存器维护堆或栈

让我们讨论一下智能指针

宏(预编译)和 const(编译)在哪个阶段进行处理?

腾讯端客户游戏有哪些_腾讯游戏客户端_腾讯端客户游戏怎么玩

如何判断链表是否有循环(我说用快慢双指针,然后让我说另外一种方法,提示可以使用额外的内存空间)

让我们谈谈超载

图形:

渲染管道

opengl 中的缓冲区是什么?

让我们来谈谈法线贴图。它们有什么用处?它们是用在顶点着色器还是片段着色器中?

(其他的我忘了)

虚幻引擎4:

Pawn和Actor的区别;

我创建了一个uobject对象,如果没有其他引用,怎么保证它不会被垃圾回收?(根据提示,原来是用UPROERTY宏来标记,可以不被垃圾回收,然后问还有没有其他方法,我还真不知道,他问我怎么用umg,说到add to perspective,他说这个可以用来把引用放到根节点,这样就不会被垃圾回收了。)

我自己做了一个类,没有继承自uobject,请问如何使用UE4自带的垃圾回收机制?(这个我真的不懂)

ActorComponent 和 SceneComponent 的区别

我们如何维护actor内部的层级关系:(SetupAttachment维护了组件之间子类与父类的关系,它的底层方法是调用SetAttachParent(InParent);actor之间则是attachActorToActor)

我们来谈谈动画蒙太奇吧(balabalabala)

让我们讨论一下混合动画(例如混合姿势、两组动作、哪一个更适合作为基本姿势等)

请解释如何创建和销毁 uobject 和 Aactor(生成演员:spawnActor,生成对象:NewObject();销毁演员:destroyActor,销毁对象:conditionalBeginDestroy)

【三面】

第三次面试前真的很紧张,前一天晚上都没睡好,网上说第三次面试很难,不得不说腾讯的面试官人很好,自我介绍完之后就没那么紧张了,哈哈哈

第三轮面试主要是聊聊天,问技术问题,不过我还没到那个水平,也不知道怎么用(原来应届毕业生的水平就停留在会用这个水平,哈哈哈)。问的问题都是主观的,没有标准答案。问题如下:

1.为什么选择UE4?当时的考虑是什么?(这个应该是面试官想知道的)

2. 你学习UE4多久了?

3. 您如何看待自己未来的职业规划?您更喜欢做商业游戏还是做自己理想中的游戏?

4.什么是Shadowmap?

5.你听说过culling吗?是在哪一步进行的?知道culling是用什么算法实现的吗?(不知道最后是怎么实现的)

6.你对UE4底层了解多少?(我说的是UE4自己实现了内存回收和反射功能)

7. 能解释一下内存回收过程吗?对于一款中型游戏来说,回收一次内存需要多长时间?能猜一下吗?(我猜不止一帧,他说会卡死游戏?)

8.说项目,问一开始项目方向怎么确定的,然后人员结构。然后自我介绍的时候带了这个项目参加腾讯比赛复试没通过,总结原因

然后就聊了一下我最近在玩什么游戏,有什么兴趣爱好,然后他问我对腾讯游戏的评价,又给我介绍了他们工作室的一些情况,然后就聊了起来。

【HR面试】

HR面试官主要问了我的职业规划,为什么选择腾讯之类的,总之跟技术关系不大,所以我就正常回答了,这里就不贴了。

总结 1.其实可以发现对应届毕业生的要求真的不是很高,来回一查,C++是会考的,必须有数据结构和算法的基础,感觉有项目是很大的加分项。

2、当然,我面试的职位基本跟我的简历各方面都匹配,你可以看一下要求:

我按照这个要求写了简历,可以说我的技能比较符合 Photon Studio 的要求,面试的时候感觉问的问题跟我了解的领域很相关,所以总体来说很顺利(感觉主要是对 UE4 引擎的兼容性比较好,毕竟 Photon 需要懂 UE4 的人)

3. 不得不说腾讯的面试官人很好,遇到卡住的地方会一步步指导,而且不会太紧张

4.其实面试前我做了很多准备,包括看牛客题目,学图形等等,充分的准备是必须的

5.我会在过程中表达出我有多热爱这项运动,毕竟激情驱使你去做事,远比安排事情给你做更能激发你的潜力;

6.相信自己,发现无限的可能性!

文|牛客网:宠爱与崇拜

热点资讯