个人职业规划
发表于|更新于|面试准备
|浏览量:
文章作者: 岁迹
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 岁迹!
相关推荐

2026-06-27
速诺科技面试
Unity常见的动态资源加载Unity常用的插件DoTween 热更新的底层原理包括常用的热更新矿建,ILRunTime,华佗,XLua,ToLua 常用的开源框架UGF GF 工厂模式事件和委托的区别委托(delegate)和事件(event)在 C# 中关系非常密切,事件是建立在委托基础上的一种封装机制。委托本质上是一种类型安全的方法引用,它允许程序把方法当作数据来存储和传递。通过委托,可以在运行时决定调用哪个方法,而不是在代码中提前写死调用逻辑。同时,一个委托还可以引用多个方法,当委托被调用时,这些方法会按照顺序依次执行,因此委托常被用于实现回调机制或通知机制。 但是,如果一个委托被公开给外部使用,外部代码就可以随意操作这个委托,例如重新赋值、清空委托、或者直接调用委托。这会导致类的内部行为可能被外部破坏,使程序的控制权变得混乱。为了解决这个问题,C# 引入了事件(event)。 事件实际上是对委托的一种安全封装。使用事件后,外部代码只能对事件进行订阅(+=)或取消订阅(-=),而不能直接调用事件,也不能重新赋值或清空事件。只有声明事件的类内部才可以触发...

2026-06-27
冰川网络客户端笔试
1.2.3.4.

2026-06-27
飞鱼科技
多维背包问题 有 N 种零件(如CPU、显卡、内存等),每种零件是一个类别。 每种零件有 M_i 个型号可选,每个型号有其价格 cost 和性能值 performance(性能值可能是一个综合评分,需要你预先定义好计算方式,例如CPU可用天梯图分数,显卡可用游戏帧数分数等)。 有一个总预算 B。 目标:从每种零件中选择恰好一个型号,使得总价格不超过预算 B,且所有零件的性能值之和(或根据权重加权之和)最大 清空数组的最小成本 操作1:删除单个元素。消耗固定成本 k。 操作2:清空整个当前数组。消耗成本为 k + n * mex,其中 n是当前数组的长度,mex是当前数组的最小未出现非负整数。 目标:通过一系列操作(每次可选择操作1或操作2),使得总成本最小。 世界树上Miku点 一共有 n个地点,它们由 n−1 条长度为 1 的双向道路连成了一棵无根树结构。其中,如果一个地点只延伸出了一条道路,那么这个地点将称为 Sekai 点。 Miku 点的定义如下: Miku 点一定不是 Sekai 点。 Miku 点是符合上一个条件的所有地点中,与相距最近的 Sekai ...

2026-06-27
peropero面试
基础差(主要是拷打八股文)1.协程原理以及底层实现Unity协程核心本质都是迭代器 + 状态调度。 总结:Unity 协程的底层本质上就是“迭代器 + 状态机调度”机制。它依赖 C# 的 IEnumerator 接口和 yield return 语法实现,当我们通过 StartCoroutine() 开启一个协程时,Unity 并不会创建新线程,而是把这个协程注册到主线程的调度系统中执行。编译器会把带有 yield return 的协程函数自动转换成一个状态机类,这个类会保存协程执行时的上下文信息,比如当前执行到哪一步、局部变量的值以及当前等待条件等。当协程运行到 yield return 时,会先暂停当前执行,并把等待信息返回给 Unity;之后 Unity 在合适的时机继续调用这个迭代器的 MoveNext() 方法,使协程从上一次暂停的位置继续往下执行,直到函数执行结束或再次遇到新的 yield return。因此,协程本质上仍然是在主线程中分段执行的函数,它能够把逻辑拆分到多个帧里完成,但不能真正解决耗时计算造成的主线程阻塞问题。 2. 调度器的 “心跳” 作用协程不会自...

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的实现方式是...

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 值类型在栈中存储的是直接的值,引用类型数据本身实在堆中,栈中存放的是一个引用的地址 底层: 引用类型在实例化时,先在栈内开辟空间,用于存储堆中对象的地址,然后在堆内开辟空间,存储引用对象。 而值类型直接在栈中开辟空间存储对象。值类型也有引用地址,但都在栈内的同一空间。 在参数对象进入方法体内,实则是在栈中开辟了新的临时空间。(也就是参数对象的副本)栈内值类型的修改,由于栈中地址不同,所以值类型不...
公告
记录游戏客户端开发、项目复盘和个人成长。