面试记录
勇仕 一面 2022-9-28
-
Struct和Class的区别?什么时候用Struct什么时候用类?
只需要访问信息但不需要修改数据时可以用Struct,常见如UI通讯;CLR建议小于16字节时使用Struct
-
Struct可以继承吗,为什么?可以实现接口吗?
底层是密封的,不可以继承;可以实现接口
-
如果把一个很大的Struct作为参数有什么问题?会装箱吗?
Struct作为参数如果不加ref,会导致一次很大的内存拷贝;不会装箱
-
合批的原理是什么,包括场景和UI?
场景合批的原理是CPU可以把状态相同(材质)的顶点一次性送入CPU中,本质上是计算M矩阵时可以直接用CPU计算
-
说说你知道的UGUI源码
-
什么是Rebuild,如何避免Rebuild?
-
为什么移动UI会发生Rebuild?
-
什么是SRGB?SRGB包含Alpha通道吗?
-
常用贴图压缩格式?你会选择哪一种,依据是什么?
ASTC
-
TCP和UDP的使用区别?底层真正的区别?
-
UDP底层是基于字节包发送的吗?
TCP面向字节流,UDP面向报文
-
什么是骨骼根动画?如何通过脚本获得动画位移?
-
动画层Override和Add的区别?
-
什么是混合树?
-
动画混合时状态机是在上一个状态还是下一个状态?
-
MONO的生命周期?渲染是发生在哪个阶段?
-
什么是重心插值?用在哪里?深度值可以用来做重心差值吗?
-
深度值是线性的吗?为什么不是?
-
判断点在三角形内
游族 一面 2022-9-29
- 说一下基于Entitas的队伍系统,为什么要基于Entias,有什么好处?
- Entias的优势?和传统开发的区别?
- 说一下你的数据统计系统?为什么是前端做而不是服务器统计?
- 聊一下你的UI框架?自动生成工具是什么?
- 魔改的对象池是什么?对象池是为了解决什么问题?
- LOD优化统计工具是什么?
- 不冗余打包是什么?
- 重构代码的方法和目标?
- 做一个模块会考虑到哪些方面?
- 未来两年的发展规划?
呦尔哈 一面 2022-9-29
- 设计框架会考虑哪些方面?
- 讲一下你的UI框架?
- Entitas的大概模型是怎么样的?有什么好处?
- 什么是CPU命中率?为什么Entitas可以增加CPU命中率?
- 你的队伍系统使用ECS是为了什么?
- 有用过Timeline吗?用在了什么地方?
- 有扩展过Timeline吗?扩展了什么?
- 链表和数组的区别?
- GC的原理?
- 堆栈的区别?
- String是什么类型?String是常量还是变量?
- 介绍一下图形流水线?
- 向量的操作顺序?(SRT*V)操作矩阵?
- 点乘和叉乘的区别?
- 点在三角形内?点在多边形内?
- 如果把Image关掉再打开,Image层面会做什么操作?
- Canvas的Graphic Raycast组件有什么作用?
- ProtoBuffer的优点?为什么Proto能把字节流压缩的更小?
欢乐互娱 一面 2022-9-29
-
四叉树八叉树的应用场景,有实现过吗?
- List默认排序是什么?(快排+桶排)
- Unity的碰撞器有哪些触发方式?发生碰撞的条件?
- 物理位置应该放在哪个Update里?相机位置呢?
- UGUI合批原理?为什么能做成一个DrawCall?
- 点乘和叉乘的区别,用途有什么不一样
- 判断两个矩形是否相交
- Socket三次握手,四次挥手
- TCP和UDP的区别
- 有了解基于UDP的协议吗?
- Animator拆上下半身?骨骼遮罩的具体使用?
- 两个动画之间的过渡效果?上下半身之间的过渡效果?
- 常用贴图格式,区别,使用?ASTC的限制条件?
- 背包系统的设计?
- 讲一下你的UI框架设计
- 对渲染的了解有多少?
- 说一下渲染管线
- OverDraw原因,优化
- 如何单独渲染一个模型?比如常见的角色界面UI里会有一个角色模型。