字节跳动 朝夕光年 游戏客户端 一二面凉经
投的朝夕光年的游戏客户端,有些问题记不太清了
3.8 一面:
UE和项目
没有自我介绍,简单介绍了两个UE做的游戏
UE中行为树的节点有哪些?
UE的网络同步怎么实现的?
移动同步如果想尽可能降低流量,该怎么做?
场景中有许多物体,如何判断玩家与他们的碰撞?
给定两个球的位置和速度,判断他们是否会碰撞?
有没有了解过MVC模式?
说说你了解的其他设计模式(观察者和享元)C++八股:
说说const的作用?const指针的两种形式?
多态的实现机制?
引用和指针的区别?
什么数据结构使用红黑树实现的?
什么数据结构使用哈希表实现的?
哈希碰撞的解决方案?
C++11的新特性?
说说智能指针?
为什么需要weak_ptr?
什么时候shared_ptr会发生内存泄露?算法题:
TopK,先用堆排序写的,本来想给面试官留个坑 优化成快排,没想到直接过了反问:
部门做什么游戏的,主要技术栈是什么,有没有新人培养机制?(什么都有但全保密,ue和unity都有,主要是干活)
3.10 二面:
- 自我介绍
平时玩游戏吗?玩MMO吗?
打包过手机游戏吗?
手机和电脑游戏在技术上存在什么区别?
手游的主要性能瓶颈在哪里? - UE
一个8*8km的地图,用ue的level streaming加载,有没有什么优化?
ActorComponent、SensingComponent、PrimitiveComponent在成员方面有什么区别?
属性同步和RPC的区别、速度比较
UE网络同步用什么协议?
TCP比UDP慢在哪里? - C++
override关键字的作用?
四种cast
cast怎么做的类型检查?
UE对static_cast的修改是什么?为什么这么修改? - 数据结构
什么排序是稳定的?为什么快排不稳定?
快排的最差复杂度优化
如何判断点在三角形内?(回答了叉乘法,但感觉面试官不是很懂,似乎想让我说重心坐标法?) - 算法题
两个字符串的公共子串 - 反问
主要是做手游吗?(是的)
写在最后:两面的难度感觉完全不在一个level上,明显感觉到二面面试官更关注引擎底层的实现机制,我像是在面引擎岗一样。另外在主做的游戏方向和内容上和我都不是很匹配。我个人认为面试的主要作用在于让面试官对候选人的能力有一个全方位的了解,过简单或过难的面试显然都很难做到这一点。
#游戏开发##字节跳动##面试题目#