腾讯实习提前批-光子-游戏客户端一面(凉,但是被捞)

-- 2.28 -- 更新
原来不是引擎岗,还是客户端

用时45分钟,大部分时间在介绍项目,这次面试体验较好,没有那么多压力和c++

先介绍项目,实现的功能框架等等依次讲解了一下。

C++:
函数传值有几种方式
虚函数实现机制

图形学:
讲一下渲染流水线的过程。

UE:
介绍一下UE的gameplay框架。

手搓:
一道简单的滑动窗口题。

-- 2.27 -- 更新
好消息 又被捞了
坏消息 光子引擎岗

-- 2.21 --
用时七十分钟,基础问题答错很多,我主写C#,C++还是太薄弱了,凉了,发发面经攒人品。

自我介绍,介绍自己除了Unity还做了个ue的小demo,但是做的不深。

一、项目
介绍一下我是如何用SO做物品数据管理的(实际上就是当配表工具用)。
对象池是怎么设计的。
高斯模糊和溶解的shader怎么做的。
资源加载和演出系统怎么做的(Resource + YarnSpinner)。
A*怎么实现的,损失函数如何计算?
对ECS有什么理解?
System之间如何处理依赖顺序?
UI框架是怎么设计的。
UI怎么做的通讯(事件中心)。

二、手搓
1.手搓个事件中心(还没写完脑子一懵说我写好了,面试官:你再想想?写到最后写对了,面试官问我参数不一样怎么处理,我以为我写错了沉默了,实际上参数不能不一样)

2.struct{
float a;
unsigned int b : 1;
unsigned char c : 1;
int * d;
char e;
double f;
}
64位系统,问每个变量的地址空间(纠结了半天内存对齐,结果写错了哈哈哈)

3.有序链表合并
这里new了个dump忘记delete了,总结为写C#写的

三、UE
UE的gameplay框架怎么理解?
Controller只在本地,那服务器怎么通知?
GameMode在服务端吗?(脑子一抽说了个服务端客户端都有)
网络同步做过吗(用的UE原生的)
玩家A发射子弹击中B,B要扣血播特效,C要看到过程,怎么做(A发个RPC给服务端,服务端射线检测,检测完了再RPC同步数据)
那我要发一个子弹实体怎么办(服务端生成子弹实体,给一个初速度和方向)
子弹不同步怎么办,有网络延迟怎么保证同步(不懂啊)
提示:属性同步(没听说过)
Rpc有几种类型
Rpc怎么实现的(我不到啊)
那什么情况才可以发Rpc(Charactor这种服务器客户端都有的才可以发)
骨骼动画原理是什么(通过骨骼的位置进行mesh蒙皮,没手动实现过)
常见的同步方式有哪些(状态同步和帧同步)
区别是啥(帧同步同步数据帧,状态同步只同步状态,但是我自己没实现过所以不是很了解)
TCP和UDP有什么区别(TCP可靠,UDP快)
为什么(TCP有可靠传输机制,建立连接要三次握手四次挥手,所以比较慢,但是比较可靠)
为什么可靠(TCP有ATK确认和超时重传,但是因为我没手动实现过,所以只知道皮毛)

四、C++
平时用啥编程语言(C#,C++只有UE写过,也基本当C# 写)
C++的构造函数有哪些类型(无参有参、复制、移动)
分别写一下(复制构造忘记加const了,移动构造忘记加noexpect了)
构造函数可不可以是虚函数,析构函数呢
虚表在哪,虚指针呢
delete没指明内存大小为什么能释放(因为指向虚表来释放吧,这个不太清楚)
那我delete数组为什么也能释放(不知道)
左值右值区别是什么(左值可以取地址,右值没法取地址)
右值有哪些类型(函数传出的临时变量、还有硬编码的字符串)
const有哪些作用(标注哪些变量是常量,放在函数里保证这个参数不被改变)
还有呢(不知道了)
放在成员函数后面呢(应该表示不修改这个对象内的值,不太确定)
那要是我想修改怎么办(不太了解)
share_ptr a 指向一个对象
share_ptr b 指向一个对象
a=b 会发生什么(这个时候脑子已经不正常了,答道,b先释放一个引用计数,然后a引用计数++)
你确定吗(确定)
你再想想?
a=b是让b指向a吗(才明白过来,连声答道对不起)
引用计数放在哪(它分为一个资源指针和一个控制指针,引用计数放在控制指针)

总结:C++、内存、网络的功底太薄弱了,只是看过一遍八股,没有真正做过项目尝试,鹅的UE项目多,且重视基础,应该多复习C++这些基础。
#软件开发笔面经#
全部评论
经历惊人的相似,感觉要凉了,问你的我好多都不会(UE只是接触了...)
2 回复 分享
发布于 02-22 19:23 江苏
哥们你面的好全面,是光子吗?
1 回复 分享
发布于 02-21 11:00 广东
扣一送offer
1 回复 分享
发布于 02-21 13:07 广东
早上面了光子,也是猛猛问UE
点赞 回复 分享
发布于 02-21 17:12 湖北
同学考虑上海米哈游不,我们在进行春季招聘,实习也有,社招也有,感兴趣可看我主页看岗位奥
点赞 回复 分享
发布于 02-26 01:32 上海
厉害啊,手搓事件中心是因为简历上写的有事件中心吗?
点赞 回复 分享
发布于 03-09 21:45 甘肃
这么多?
点赞 回复 分享
发布于 03-18 19:17 四川

相关推荐

03-12 13:51
南京大学 UE4
3.12上午11:00一面项目:1. 你在UE5实现的第三人称射击游戏是学习demo吗?2. 你是怎么学习UE5开发过程的?具体学习路径是怎样的?3. 详细解释一下你在项目中实现的网络同步机制。4. 为什么选择将伤害计算逻辑转移到服务端?5. 你传给服务器的是起始点和结束点吗?是否考虑过网络延迟导致客户端与服务端状态不一致的问题?6. 针对网络延迟问题,你有什么解决方案?7. 你提到的RPC底层原理是什么?(追问其实现机制)Unity:8. Unity中Update和FixedUpdate的区别是什么? 9. 如果游戏卡顿导致某一帧延迟1秒,下一帧的Update和FixedUpdate会如何表现?10.  你在项目中使用过Unity的协程(Coroutine)吗?11. 协程和线程的区别是什么?协程的优势是什么?12. 协程和回调函数在处理异步操作时有何区别?C++:13. C++中dynamic_cast和static_cast的区别是什么?14.  dynamic_cast的类型检测机制是如何实现的?(追问:如何自行实现类似功能)15.  谈谈你对多态的理解。16. 运行时多态(虚函数)的底层实现原理是什么?虚函数表存储在哪里?17.  C++程序编译后包含哪些内存段?虚函数表属于哪个段?18. 右值引用的特性是什么?应用场景有哪些?算法:LRU缓存,面试官感觉很赶时间,写到一半说看出来你之前写过这道题,问了一下put和get的复杂度,没有留下反问环节,没有留下他的信息,没有留下好的回忆#实习##面经##腾讯##光子工作室群#
后端彭于晏:我的也不给反问啊
查看19道真题和解析
点赞 评论 收藏
分享
评论
21
95
分享

创作者周榜

更多
牛客网
牛客企业服务