儒意景秀一面
1.快速排序的原理随机选一个基准值 pivot(避免最坏情况 O (n²)) 把基准交换到数组末尾(方便统一处理) 用一个指针标记 “小于基准区” 的边界 从头遍历数组: 遇到比基准小的元素 → 放到 “小于区”,指针右移 遇到比基准大的元素 → 跳过 遍历结束后,把基准放回 “小于区” 和 “大于区” 中间 递归处理左右两部分 2.Mask以及Rect Mask 2D的区别是什么?都是两者都是图形遮罩 Mask的使用场景更通用可以用任意形状的 Image / Sprite 做遮罩,而Rect Mask2D主要用于矩形遮罩,不能做圆形、异形遮罩 Mask开销大,容易打断 UI 合批,大量使用会掉帧,Rect Mask 2D性能极高,几乎无额外开销,适合滚动列表、背包等大量遮罩 Mask:基于 Stencil Buffer(模板缓冲),GPU 层面实现,会打断合批,Rect Mask 2D:基于 裁剪矩形,纯 CPU 计算裁剪范围,不占用 Stencil(模板) Mask:支持多层嵌套 Rect Mask 2D:不支持嵌套,只能一层 3.OutLine的实现方式是...
乐易网络
一面二面
乐信圣文面经
帧同步和状态同步区别 帧同步只同步玩家输入指令,所有客户端运行相同的确定性逻辑,保证相同输入产生相同结果,适合RTS、MOBA类游戏;状态同步则直接同步游戏对象的状态数据(如位置、血量等),服务器作为权威来源,客户端主要负责表现,适合MMORPG、FPS等游戏。两者核心区别在于同步的内容不同:帧同步同步”操作”,状态同步同步”结果”。 帧同步注意事项及不同步原因 帧同步必须保证所有客户端逻辑代码完全一致,使用定点数避免浮点精度问题,统一随机数种子,避免使用本地时间。不同步原因包括:浮点数计算精度差异、随机数未同步种子、逻辑代码版本不一致、网络丢包导致指令丢失、多线程执行顺序差异等,在实际项目中经常遇到因浮点数运算或时间戳使用不当导致的同步问题。 预测、插值与校正实现方式 客户端预测先在本地执行操作并显示结果,服务器验证后发送权威状态;插值通过平滑过渡 between 历史状态来消除网络抖动,保持画面流畅;校正当客户端预测与服务器状态不一致时,以服务器数据为准进行位置修正,并通过插值平滑过渡到正确状态,避免瞬间跳跃。 逻辑层与表现层分离原因 分离逻辑层和表现层主要为了确保游戏逻辑的...
乐信圣文笔试题
乐信圣文5进制的1023转换为10进制是多少?转换为7进制是多少?计算过程: 1023(5) => 15^3 + 0 + 25^1 + 3*5^0 = 125+10+3= 138(10) 138(10) => 138/7= 19…5 19/7 = 2….5 2/7=0…..2 255(7) = 51+57+2*49= 40+98= 138(10) 答:5进制的1023转换为10进制是138。转换为7进制是255。 比较四种排序算法的时间复杂度,空间复杂度,稳定性,适用场景(插入,快排,归并,堆排) 排序算法 时间复杂度(平均) 时间复杂度(最坏) 空间复杂度 稳定性 插入排序 O(n²) O(n²) O(1) 稳定 快速排序 O(nlogn) O(n²) O (logn)(递归栈) 不稳定 归并排序 O(nlogn) O(nlogn) O (n)(辅助数组) 稳定 堆排序 O(nlogn) O(nlogn...
个人简历准备
自我介绍面试官您好!我叫Sarf,是武汉工程大学软件工程专业 2026 届应届毕业生,主攻 Unity 客户端开发方向。 在校期间,我系统掌握了 C# 语言与面向对象编程,深入熟悉 Unity 引擎的核心模块,包括对象生命周期管理、组件系统、资源加载与性能优化等关键技术。 在实践中,我独立主导过两个 Unity 项目:一个是 2D 类银河恶魔城动作 RPG,实现了角色控制、战斗系统和资源热更新;另一个是移动端休闲跳跃游戏,负责了无限关卡生成和性能调优。 专业技能方面点乘:a⋅b=∣a∣∣b∣cosθ(判断2个向量是否同方向(大于0为同方向, = 0为垂直),Unity中可以判断物体是否在前方) 叉乘:a×b=∣a∣∣b∣sinθ⋅n,可以用来判断点是否在三角形内(分别3条边与顶点到该点的向量 进行判断,3个结果都相同在三角形内) 1.熟悉使用 C# ,理解协程、接口、委托/事件等核心特性 ,具备面向对象编程能力事件和委托 对于C#委托和事件,委托是一种类型安全的方法引用,允许程序将方法当作数据进行存储和传递。通过委托程序可以在运行时决定调用...
UGUI面试学习
1.Canvas三种渲染模式:ScreenSpace - Overlay,ScreenSpace - Camera,WorldSpace。每种渲染模式针对不同的场景及应用 ScreenSpace - Overlay:直接贴在屏幕的最上面,不会因为相机的移动或者变换而变化,常用来制作游戏中背包和血条面板。 ScreenSpace - Camera:UI同样贴在平面上,但是会受到相机来渲染。也就是会受到相机距离来影响,但是需要指定一个 Camera,UI 会根据摄像机来显示,可以控制 UI 与摄像机的距离、排序、层级 WorldSpace:UI 变成 3D 世界里的 “平面物体”,随相机视角变化,用于场景内的 UI。这时候 Canvas 不再是“贴屏幕”,而是像一块广告牌、显示器、按钮面板一样,真的放进 3D 世界中。Canvas 有真实的位置、旋转、缩放,会受场景透视影响,可以被别的 3D 物体遮挡,玩家走近看会变大,走远看会变小 Overlay模式并不与空间上排序有任何关系,空间上的前后位置不再对元素起作用,它常用在纯UI的区域内,这种模式下Camera排序有别与其他模式,Sor...
tap4fun面试
Tap4Fun一面1.实习的主要负责的模块是什么我主要负责的是: 卡牌逻辑相关模块(洗牌、发牌规则校验) UI 交互逻辑优化 性能优化(对象池、GC优化、资源加载) 整体偏功能开发 + 优化。 2.客户端的人员分配客户端 3 人: 主程:架构 + 核心系统 一名开发:主要功能模块 我:版本迭代 + UI + 优化 3.实习主要负责UI逻辑吗不是只做 UI,我的工作是以客户端逻辑为主,其中一部分是 UI 交互逻辑,同时也参与了功能开发和性能优化。 4.用的什么UI框架主要使用 Unity 自带的 UGUI,同时项目中有简单的 UI 管理框架,用于统一管理界面生命周期。 5.在Unity进行点击的时候如何响应到C#逻辑层的通过 Button 组件的 onClick 事件绑定 C# 方法来实现。 底层是 Unity 的事件系统(EventSystem)处理输入,再分发到 UI 组件。 6.如何进行UI响应的是,通过挂载还是代码的绑定Inspector 拖拽绑定 代码 AddListener 7.两者的优缺点拖拽方式: ✔ 简单直观 ❌ 不利于维护,容易丢引用 代码绑定: ✔ 可...