腾讯C++客户端(UE方向)开发面经,已oc

在建筑天坑转行的道路上终于算是迈开了第一步,找实习期间在牛客上看了不少友友的面经,受益良多。同时也非常喜欢互联网行业的开源精神,所以一直以来都是互联网小透明的我也把面试过程中遇到的问题写下来回馈给各位。另外咨询一下深圳腾讯附近的租房信息,有没有租房交流群或者深圳腾讯实习交流群之类的信息交流平台啊,各位佬如果有知道的可以私我一下吗,求求了

下面是面经的正文。要总结我的面试的话,只能说是面得一脸懵逼,下面说为什么。

一面面试官是个比较和善的大叔,一开始面试官介绍了一下部门工作内容,不是传统C++客户端开发,而是UE开发,工作内容是在pcg腾讯视频部门下搞内容创作的。我心想怪不得我会被捞起来(简历里有UE的游戏项目)。然后问了几个UE的问题,接着就开始做题,我心想:啊,这啥八股没问就开始手撕了?不过嘴里只能说:哦,好的好的。30min做了个贼简单的题和一个偏难一点的中等难度题,还算顺利,两个题都简单写了个测试用例跑通了。接着提交给面试官,他说他下来看一下。然后又跟我稍微聊了一下,盛情地介绍说他们部门的工作内容非常有趣,然后就结束了。我下来琢磨这问题也太少了吧.....而且这莫名的热情是怎么肥事。

二面面试官总的来说人也挺好的,一看就是标准的技术人,说话虽然不算流利,但是一板一眼的不会拖泥带水。但问的有些问题让我非常抓狂,不过这也是我UE的知识有点荒废的原因。这里有一个比较搞笑的点,就是二面面试官之前显然没有预想过要问我哪些问题,所以面试时他思考怎么提什么问题的时候比我回答问题还要纠结。我在这里浅浅用文字描述一下他的神情与语言。(面露难色)“啊,这个“,(皱眉看天花板,接着又五官紧缩,低头看地面)“嘶......”,(痛苦面具)"唔......"。然后问出一个让我大脑一片空白的问题,比如,“你知道怎么用C++实现反射吗?”然后痛苦面具就转移到了我的脸上......不过面试官还好没有一直这么拷打我,还是问了一些比较简单的八股,问了一个图形学问题也恰好是我知道的。问完之后稍微聊了一下项目,说学生时代做的项目基本上都是玩具,真正的实际工程要复杂得多。我也很理解他说的话,UE八百多万行源码让一个人去研究一辈子都研究不透的。然后面试官说会很快给我结果就结束了。我下来之后想:啊,这没有手撕代码吗?怕是无了。结果第二天发现流程居然给推进到hr面了。

然鹅虽然流程推进到hr面,但是迟迟没有发面试邀请,而且给我发了笔试链接。我在网上看了一圈,有的说要做,有的说不用做。我想我刷了这么多题,应该不至于太拉吧,就去做了,结果极为悲剧。2个小时考试时间,我花了十几分钟了A了前面两个题,然后在剩下的一个小时四十多分钟内,剩下三个题一个都没都没A出来。我真的会谢,acm模式一生之敌,没有测试用例真的裂开,明明不难的题,写了不少代码,但是陷在思维的死胡同里了就是不知道哪个地方没考虑到。考完之后万念俱灰,不过还是抱着试试的心态发了个邮件去催了一下流程,没想到居然回复我了,而且第二天面试链接就来了。

hr面持续的时间短得离谱,可以说没有任何考察的内容,就问了一下个人信息,什么时候可以去实习之类的,然后就结束了。我一看时间,三点钟开始,三点零八分就已经退出腾讯会议了。我是真懵逼,这每一面怎么都跟网上说的不太一样呢。不过第二天hr就打电话给了口头offer,说节后给我正式offer,过了几天到了正式oc啦。废话有点多,xdm见谅。

时间线:3.21一面 3.25二面 4.01hr面 4.02口头offer 4.07正式oc

一面(50min):

1、项目相关问题,问的比较细。

2、UE大场景优化思路。

3、实际场景问题:UE粒子系统带透明度的面片贴图,投影为方形怎么办。(当时我也没想出来,面试结束后想到可以把贴图换成实打实的模型不就ok了)

4、手撕: ①LC1268前缀树。 ②一个特简单的题目,给一个字符串,让你输出最后一个单词。

二面(40min):

1、UE怎么在蓝图中调用C++代码。

2、没太听清楚,好像是implement event与xxxx event的区别。(这个完全没听说过,我只用过委托事件啥的。)

3、UE的蓝图是怎么实现的。(这里我也不知道,瞎说了一通是不是通过动态库什么的,结果面试官说其实是类似java的虚拟机,我一想确实,感觉非常受教)

4、UE的反射有了解吗?怎么用C++实现反射?(臣妾不知道啊,只知道UE是用宏实现的,短短的宏里面其实替换了大量的代码)

5、const的作用。

6、什么是动态库,什么是静态库,各自的优缺点。

7、静态库可以调用动态库吗。

8、什么情况下静态库会调用动态库,什么情况下动态库会调用静态库,什么情况下静态库会调用静态库,什么情况下动态库会调用动态库。(是的你没看错,就是排列组合)

9、常用的stl容器增删改查操作的时间复杂度。(轻飘飘的一个问题,让我说了好半天,面试官您没发现回答这个问题的时间复杂度很高吗)

10、TCP三次握手的过程,为什么不能是两次握手。

11、说一下常用的多线程api。

12、阴影贴图是怎么生成的。

13、c++可以调用蓝图吗?

14、动画的原理,骨骼动画和蒙皮啥的。(还没等我回答面试官就问下一个问题了,估计他自己觉得这个问题有点离谱)

15、如果想在main函数之前执行一段代码应该怎么做。(这个问题让我陷入了痛苦面具,我只知道静态变量可以在main函数之前初始化,但是在main之前执行一段代码怎么搞还真不知道,面试官最后说如果静态变量是一个对象不就可以了。我一下恍然大悟,是啊,在静态对象的构造函数里搞不就行了!)

HR面(8min):

没有什么考察内容,就是纯询问个人信息,快速结束。

全部评论
同建筑学转行 佬太强了恭喜恭喜
1 回复
分享
发布于 04-11 11:39 广东
你好同学,我想问问催面邮件往哪发的?我也是流程推到hr面迟迟没有约面,我也想催一催,但是我看网站上也没给我留邮箱电话呀,发面试邀请的那个邮箱感觉是系统的邮箱,那个发了有用吗。。。顺便问一下催面的措辞,现在找实习找得一头雾水,谢谢同学了
点赞 回复
分享
发布于 04-07 17:23 北京
滴滴
校招火热招聘中
官网直投
同学,想问一下你ue这一块的技术栈大概是哪几个方面啊?具体到引擎有什么学习路径推荐吗
点赞 回复
分享
发布于 04-08 10:48 黑龙江
大佬太强了 我也是c++游戏客户端,不过我完全不会ue就被捞进去了,害怕
点赞 回复
分享
发布于 04-09 10:27 浙江
请问您有实习经历吗
点赞 回复
分享
发布于 04-20 18:18 陕西

相关推荐

投递巨人网络等公司10个岗位 >
点赞 评论 收藏
转发
游戏客户端   暑期实习1.渲染管线是如何渲染到屏幕上的?2.场景中有一万个模型,有一个相机要绘制,剔除的流程是什么?3.aabb是谁的?相机的还是模型的。4.视锥有写过吗?几何上表达一个视锥5.视锥是什么几何图形表示的?怎样判断场景中的物体是可见的?6.视锥剔除是在什么空间?在什么坐标系下?7.有了解过其他空间加速算法吗?8.有一万个图形,能每个模型都有一个aabb吗?9.如何检测模型和相机的可见性10.有一万个Mesh,用什么几何形式简化他们来和相机做更快的剔除11.八叉树,如果场景中aabb交换位置,八叉树结点失效了怎么做?比如说一个人,手和身体都在不同的格子里,如果把手举起来,如何更新?12.渲染管线支持HDR吗?渲染器的贴图是什么颜色空间传入的?13.了解SRGB线性吗?14.前向渲染和延迟渲染15.延迟渲染是怎么做点光源的?16.给一个G-Buffer,如何做点光源的计算,光源信息存到哪里?17.凭空有光源的信息,如何和G-Buffer做着色?如何做延迟着色18.在要着色的模型旁边放了十个灯,如何计算?如何将十个点光源信息都计算出来着色?19.如果计算出来光照的强度已经超过30了,浮点数,正常是0-255,为1,如何计算?20.帧资源21.了解过骨骼动画吗?22.碰撞检测,角色和墙要做碰撞检测,用两个box判断,如何人走的快了可能会穿过去墙,现在如何修复这个Bug。如何判断两个box相交。23.阴影是怎么做的?怎么判断像素点在阴影点里面。24.阴影图里存的是什么东西?存的是谁的深度?深度是什么空间里的?(世界空间还是什么)25.判断像素点在阴影图的采样,是怎么做转换的?如何在shadowmap里找到正确的uv。uv是怎么计算的?要采集的像素可能在shadowmap里,可能在里面,也可能不在?如何确定这个范围?26.C++11为什么要右值引用,能不能讲讲这个右值引用比较复杂的情况。值类型怎么处理,一个结构体里全是int,右值引用有什么作用?讲一个右值引用能起到作用的例子。27.讲一下智能指针,共享指针的计数器存在哪里?在内存上有什么特点?计数器的实现为什么要这么设计,有什么优点?28.讲讲TCP和UDP的区别?29.怎么保证UDP的丢包,应用层做什么操作可以让UDP可靠?面完秒挂
点赞 评论 收藏
转发
4 32 评论
分享
牛客网
牛客企业服务