梦加网络
发表于|更新于|面试准备
|浏览量:
简单描述C#中的闭包?以及写一段闭包代码
Unity中几种常用的资源加载的方式以及应用场景
文章作者: 岁迹
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 岁迹!
相关推荐

2026-06-27
个人简历准备
自我介绍面试官您好!我叫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#委托和事件,委托是一种类型安全的方法引用,允许程序将方法当作数据进行存储和传递。通过委托程序可以在运行时决定调用...

2026-06-27
微派冬令营笔试题
算法题如下: 最小覆盖子串 我认为难以理解的部分为 12345678910111213//这个部分是在s中找到了包含所有t字符的一个子串,这个子串可能不是最小的,后续操作就是把这个变为最小//检测当前窗口是否已经包含了t中的所有字符(包括数量) while(Right < s.Length){ char c = s[Right]; Right++; if(need.ContainsKey(c)){ windows[c] = windows.ContainsKey(c):windows[c] + 1 : 1;//记录s中字符串的出现次数 if(windows[c] == need[c]) Vaild++; } } 假设: s = "ADOBECODE"(源字符串) t = "ABC"(需要包含的字符)...

2026-06-27
八股文
C#相关1.值类型和引用类型值类型:bool,float,int,double,struct,enum 引用类型:string ,class,object,delegate,array,interface 区别: 值类型存储再栈上,引用类型存储在堆上。相应的栈上的值类型存储快,堆上的引用类型存储满 值类型存储的为真实的值也就是实际数据,引用类型指向的是内存堆中的指针和引用 值类型在使用后自动释放,引用类型使用GC来释放 值类型的继承是System.ValueType ,System.ValueType继承于System.Object,引用类型继承System.Object 值类型在栈中存储的是直接的值,引用类型数据本身实在堆中,栈中存放的是一个引用的地址 底层: 引用类型在实例化时,先在栈内开辟空间,用于存储堆中对象的地址,然后在堆内开辟空间,存储引用对象。 而值类型直接在栈中开辟空间存储对象。值类型也有引用地址,但都在栈内的同一空间。 在参数对象进入方法体内,实则是在栈中开辟了新的临时空间。(也就是参数对象的副本)栈内值类型的修改,由于栈中地址不同,所以值类型不...

2026-06-27
必凡娱乐面试
一面1.7层网络模型从上到下分层依此为:应用层,会话层,表示层,传输层,网络层,数据链路层,物理层。 TCP/IP四层协议:应用层,传输层,数据链路层,物理层 常见教学的五层模型:应用层,传输层,网络层,数据链路层,物理层 2.每层的常见协议应用层:HTTP、HTTPS、SMTP、FTP 传输层:TCP、UDP 网络层:IP、ICMP 数据链路层:以太网协议(Ethernet) 3.TCP协议的建立连接和断开连接三次握手 客户端发送 SYN(请求建立连接) 服务端回复 SYN + ACK(同意连接) 客户端发送 ACK(确认) 四次挥手: 客户端发送 FIN(我要断开) 服务端回复 ACK 服务端发送 FIN 客户端回复 ACK 👉 连接彻底关闭 4.TCP和UDP的主要区别有那些TCP 面向连接,UDP 无连接 TCP 可靠,UDP 不保证可靠 TCP 有序,UDP 无序 TCP 速度慢但稳定,UDP 快但可能丢包 5.TCP里面有哪些机制来保证他的连接是可靠的TCP 通过以下机制保证可靠性: 校验和:检测数据是否损坏 序列号 + ACK:保证数据有序且不...

2026-06-27
哈乐沃德面试
在你的类银河恶魔城中是如何控制人物状态的切换的?在我的这个项目中,我使用的是有限状态机来实现人物状态的切换的,使用PlayerStateMachine类作为中间类,在该类初始化人物的初始状态,同时提供了一个ChangeState类作为状态切换的方法。同时使用PlayerState作为人物状态的基类,当检测到人物状态需要改变时,调用相应的ChangeState方法来修改状态 在你的项目中,你的人物的速度是线性增加的还是直接为设置的速度?如果实现人物速度的逐渐增加?物速度是直接使用设置的固定值(如moveSpeed、dashSpeed等)。例如PlayerMoveState中通过player.SetVelocity(xInput * player.moveSpeed, rb.velocity.y)直接应用设定的速度。我们可以使用自带的函数方法 1234567891011121314// 在Player类中添加加速相关变量public float acceleration = 2f; // 加速度private float currentSpeed;// 在移动状态的Update中使用...

2026-06-27
儒意景秀一面
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的实现方式是...
公告
记录游戏客户端开发、项目复盘和个人成长。