2025 Unity 网易社招面经(已OC)

本人背景:双非本科,泛cs专业,2022校招有幸加入某沪老牌游戏厂,校招的时候有UE4的TPS客户端项目经历,入职的是后端部门,但因为个人热爱客户端,后续工作内容围绕全栈进行,后误打误撞打开了战斗大门,从此一发不可收拾,太喜欢这战斗了,莫名其妙上头😲😀,因为是全栈,很容易就能接触前后端战斗代码,花了半年时间深入掌握

投递情况:前期瞄准了三四家3-5年的岗位试水,大多以年限不足简历挂,后续投递网易某部门,岗位为2年玩法战斗,一发入魂,顺利oc,时间线大约为四个工作日三面,offer七天内到账,因为jd很符合我的口味😍就没在推进其他公司流程了,来此还愿望

面试情况:主要以简历拷打,个人主要项目经历是gameplay设计,编辑器实现,以及战斗功能的维护和优化,主要技术栈是unity+C#+Lua

一面:
1. ECS和DOTS的区别?相比传统的代码设计又有什么优势体现?遇到过什么问题?
2. 帧同步和状态同步,如果你项目中的状态同步改为帧同步你会怎么实现?(以及一个相关细节业务的提问,这里为了防老东家定位就不便透露哈哈哈
3. 寻路算法的优化?从基础A*到JPS到RVO到KD-tree讲了个大概思路和一些具体的细节实现
4. 代码题:类似战旗,场景是矩阵地图,各个矩阵是有高度到,你只能高度相差1的移动,问两点是否能到达
5. 项目中屏蔽字校验工具的优化,询问了什么是贝叶斯,怎么做到的复杂度优化
6. lua战斗优化,主要涉及debug函数库中的sethook函数,根据业务环境编写,后端就分析各个战斗模块中函数的调用和性能分析,用算法和常见的lua优化进行修改,前端除了这部分,还有资源部分,进行一些内存性能到定位,unity自带的profile和lua的内存分析工具,这些网上都有框架提供
7. 询问其他优化,如ui中的一些视野剔除,相机剔除和组件对象池复用等部分
8. 公会战AOI视野优化的实现
9. 空间里有好几个圆,中心和半径,怎么判断两个点会不会被这些圆障碍阻挡到视野?也就是能不能相互看到
10. 玩家手机屏幕分辨率修改会对相机产生什么影响(唯一一个不知道的问题。。。
11. 玩家拿着武器,穿墙了怎么办
12. 玩家播放某个动作,需要某个身体部位对应到某个坐标上,怎么实现?
13. 业务题:我有多个武器,涉及品质和等级,玩家可以升级,对于玩家而言,评分最高的是品质优先然后同品质高等级优先,等级不得大于玩家等级,求一个排序方式,可以在玩家升级武器情况下,排序复杂度尽可能的低

二面:
1. 代码题:二维坐标里有好多个矩形,如何检测碰撞,如果这些矩形不和xy平行,又要怎么检测
2. 代码题:write do undo的实现
3. 遇到过的战斗不一致问题,怎么解决,战斗中随机数怎么实现?会有什么问题吗
4. 物理情况下子弹的实现,会遇到什么问题?
5. 场景里很多npc开着碰撞或范围检测,怎么优化?kd-tree的xy分范围
6. kd-tree的边界抖动问题,物体频繁来回穿越边界怎么办
7. 空间内射线检测的原理
8. 简历拷打,网络波动怎么办,行为预测,行为回滚
9. 简历拷打,KCP协议优化
10.简历拷打,AOI视野优化
11.简历拷打,循环列表实现

三面HR面,意向拷问,呜呜呜,战斗岗位,太想去了😭卑微求职

整体下来,面试挺有深度的,一二面的面试官都很好,下面有个老早时候入门学习时候的收藏,还是挺全面的,后续深入还是要自己去瞎看,系统学习

https://www.nowcoder.com/share/jump/27404740710207523058

最后感谢这三年内的众多同事,简直不能太棒了😘
#社招# #游戏# #游戏开发面经# #网易# #unity客户端#


全部评论
已收藏,,大佬好厉害,一年UI仔路过,一半以上都答不上来
4 回复 分享
发布于 04-01 11:51 未知
nb
1 回复 分享
发布于 04-07 12:45 广东
占个茅坑。收藏一下。
1 回复 分享
发布于 04-01 17:04 广东
请问一下,我大致对你罗列的这些问题进行了分类,大致可分为unity知识相关、游戏开发常用算法及针对特定问题的算法相关、性能调优相关;其中很少出现后端组件中间件相关的问题,以及工程架构一类的问题,想问这类问题是不是在大场面试中较少提及,换句话说如果我想针对大厂面试做准备的话应该花更多精力在实际的算法设计,针对特定问题的代码实现,性能调优方面,而不是将重点放在各类中间件、数据库以及架构设计的学习上是吗?
点赞 回复 分享
发布于 06-15 13:47 北京
]面的这么细致吗,我也准备要一面了
点赞 回复 分享
发布于 05-07 16:26 广西
去哪学这么详细啊佬
点赞 回复 分享
发布于 04-16 18:06 浙江

相关推荐

10-13 18:55
东华大学 C++
一、开场与自我介绍二、技术八股与基础1.C++中的const关键字有哪些用法?它在成员函数中修饰this指针时有什么意义?​​​2.override和final关键字有什么作用?它们分别在什么场景下使用?​​​3.C++11中的移动语义是什么?移动构造函数和移动赋值运算符在什么情况下会被调用?​​​4.new/delete和malloc/free有什么区别?为什么不能混用?​​​5.智能指针有哪几种?请详细说明std::unique_ptr和std::shared_ptr的区别以及各自的适用场景。​​std::shared_ptr的底层实现原理是什么?std::weak_ptr有什么作用?它如何解决循环引用问题?​6.什么是深拷贝和浅拷贝?在什么情况下必须实现深拷贝?​​​7.C++中多态是如何实现的?请解释虚函数表(vtable)和虚指针(vptr)的工作原理。​​为什么基类的析构函数通常要求声明为虚函数?构造函数可以是虚函数吗?为什么?8.​std::vector和std::list的底层数据结构是什么?它们的主要区别和应用场景是什么?​​std::vector的插入操作在什么情况下会导致迭代器失效?它是如何扩容的?9.​std::map和std::unordered_map的底层实现是什么?它们的查找时间复杂度各是多少?​​什么情况下std::unordered_map的查找性能会退化到O(n)?如何避免?10​C++11中的lambda表达式是什么?它有哪些具体的应用场景?​​11.​什么是RAII机制?它在C++中有何重要性?请举例说明。​​12.TCP和UDP的核心区别是什么?游戏开发中如何选型?13.TCP三次握手和四次挥手的过程是怎样的?为什么建立连接是三次,而断开需要四次?14.​你实习中提到的UDP网络传输,如何在上层自己实现可靠性保证和有序性?15.进程、线程和协程的区别是什么?游戏服务器中为何常用多线程或多协程模型?16.Linux下如何排查CPU占用过高的问题?17.MySQL的索引底层是如何实现的?(B+树)18.在游戏数据库中,行锁和表锁如何考量?19.帧同步模式下,如果某客户端网络波动严重,会出现什么问题?如何缓解?20.游戏服务器在开服时(大量玩家同时涌入)和日常运营中,分别可能会遇到哪些性能瓶颈?你有什么思路来应对?三、项目与实习经历深挖游戏后台开发实习1.请详细介绍一下你在天美实习中最有挑战性的一项任务或项目,你具体承担的角色和实现方案?2.​​​​ 你提到了参与优化网络同步,请具体说说:3.游戏常用的网络同步模型(状态同步、帧同步)有哪些?它们各自的优缺点和适用场景是什么?4.在帧同步模式下,如果某客户端网络波动严重,会出现什么问题?如何缓解?(锁步、冗余输入、平滑插值等)5.如何保证不同客户端在计算同一逻辑帧时结果的一致性?(浮点数确定性、随机数种子管理等)6.实习中遇到的最难的技术问题是什么?你是如何分析、定位和解决的?测试开发实习7.你在京东的测试开发实习经历,对你理解后台开发有什么帮助?8.​​ 是否有过性能压测的经验?关注哪些指标(QPS、TPS、延迟、吞吐量)?如何分析压测结果?9.如果让你为游戏内的一个签到功能设计测试用例,你会考虑哪些方面?(功能、并发、边界、网络异常等)四、算法题合并区间​以数组 intervals表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi]。请你合并所有重叠的区间,并返回一个不重叠的区间数组。五、反问问了一下团队的技术栈、业务方向、新人培养机制等建议​:面试不仅是技术考核,更是沟通和思维方式的展现。清晰描述你的项目,遇到难题时展示解决思路比直接放弃更好。
发面经攒人品
点赞 评论 收藏
分享
评论
15
153
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务