最近真的太难了,命犯天煞孤星的感觉.本来谈好的offer临上班前一天把我给鸽了,然后两个面试被虐了. 真的难受,于是在这里记录一下面经,没想到我也会沦落到需要记录面经的时刻,这么内卷的环境下面试真的特别难受,各种被挑刺.

TODO.先记录问题之后再补充回答.

  1. xLua/toLua等各种Lua框架的原理是什么. 启动了一个Lua虚拟机

    toLua c# 代码静态注册到lua代码中

    xLua 在il层注入代码

    交互大多通过元表实现,调用wrap映射到Lua中,元表.

  2. 这些Lua框架与C#调用原理,性能消耗等,元表的操作. 所有的通信都是基于P/Invoke模式(性能低)类似JNI P/Invoke:公共语言运行库(CLR)的interop功能(称为平台调用(P/Invoke)) 命名空间:System.Runtime.InteropServices

复杂类型装箱操作,TODO.

  1. UGUI的优化策略

材质合批,动静分离降低drawcall,深度保持一直

网格重建原理,减少顶点修改来减少重建,运行时图集处理(根据业务类型来)等.TODO

  1. 3D模型优化策略

减少点面,静态/动态批处理,LOD,gpu instancing

  1. Spine的优化策略

减少骨骼数量,运行时动态禁用骨骼(待查)

  1. 避免GC的一些处理

    不要在频繁调用的函数中反复进行堆内存分配

    对象池

    装箱操作优化

  2. CPU的优化方案

    缓存

    对象池

    避免大量实例化对象时造成cpu峰值(使用协程)

    粒子系统优化

  3. GPU的优化方案

    减少绘制的数目

    优化显存带宽(压缩图片,使用mipmap)

    当前不显示的物体应该隐藏

    Lightmap

  4. 框架的设计

TODO