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 浙江

相关推荐

这是在Boss上投递的,投完第二天HR就打电话进行聊一聊能否提前来实习和薪资,并且约了一面。一面主要问一些技术基础,主要是unity和数据结构与算法,这些我都有准备,牛客上也有对应的面经,所以很顺利通过一面,第二天早上十点就约了下午六点的二面。二面压力贼大,短短二十分钟压力比一面四十多分钟压力还大。主要是我准备不充分,经验不够。主要问场景题 项目细节以及为什么要这样做,有没有更好的方案。一开始会问喜欢的游戏,再去问游戏中场景的实现细节。他就问我塞尔达拼装东西去完成一个任务的这个功能大概要去怎么做?这里我直接懵逼了,一点思路都没有,而且没有去好好分析问题,讲的有点语无伦次,这里应该考察的是问题分析能力。还有就是不要把面试当聊天,想好说的话后面面试官可能会追问的细节。接着把我的三个项目都问了一遍,第一个问题(项目1):tilemap拼接的原理是什么?怎么如果想实现拼接任意水域大小应该怎么做?我还是听不懂,面试官补充说怎么通过有限的小格子拼接出各种不同的并且不会看起来不会重复的感觉,这里属于我没有好好复习项目了,tilemap用法基本忘了,我就说了通过切割图片成若干的小格子,阿巴阿巴的,我也不知道要说啥。这种不会重复的效果应该是美术人员绘制图片的事情吧,我也不懂。第二个问题(项目1):A*寻路算法的逻辑是什么?这里我提前复习过,差不多讲出来。讲完面试官沉默了一段时间,接着问下一个项目,为什么做渲染器?我就是对游戏渲染的原理比较好奇,所以学了OpenGL,既然学了OpenGL,就再去做了渲染器,在实践中去学到新的知识。接着面试官按我的这个项目简介读了一遍,就问我基于池实现的内存管理器作用是什么?这里我就开始解释,我随便说了差不多预先创建1k大小的内存,他又问我为什么是1k,这里我具体设计过程忘了,我就说随便设计的。其实一开始设计的是动态调节预分配空间的大小,每次循环都要进行数据处理,比较耗时间,所以我就自己采用固定大小的内存块。这里的回答也是扣分项之一,属于我没有去好好回顾技术细节和设计过程。接着让我讲讲blinphong基础光照包括哪些部分,这里我也看过,后面还讲了和phong氏光照的区别,感觉讲的还行。接着问了第三个项目,为什么要做这个项目,时间这么短,感觉你这个有点简单,我就说那时候准备秋招了,而且感觉项目要学的东西也学到了,所以就停止开发了。我又介绍了我最近在做什么,他就让我讲解一下我这个项目的框架。阿巴阿巴讲完,就结束了,总共才花了17分钟问我有什么问题,我想了一下,应该是要挂了,所以我就说没什么问题了。第二天下午三点多我去问了hr我挂了没,结果不出所料。hr小姐姐人很好,还安慰我。这次面试学到了很多,之后要好好复习项目细节,复习设计思路,想好哪里没做好,优化方案是什么
查看13道真题和解析
点赞 评论 收藏
分享
查看23道真题和解析
点赞 评论 收藏
分享
评论
12
141
分享

创作者周榜

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