U3D开发 一面 面经
1.值类型与引用类型的区别?(答:储存位置区别、装箱拆箱问题、CLR、额外性能消耗、GC)
2.详细描述一下int类型如何在内存中装箱成引用类型?
3.类对象中的int型变量储存在内存哪个区域?
4.类中方法所使用到的临时变量,它储存在哪里?
5.接口和抽象类的区别?
6.抽象类中的某一方法必须实现用哪个关键字去标记?
7.碰撞检测、三种碰撞函数、物体太快未检测到怎么办?
8.点乘叉乘
9.异步编程、Task、Async、协程
10.协程底层原理
11.两次讲到GC,聊聊GC
12.三个在代码规范上的规避GC的例子
13.对dll的了解
14.替换dll的具体步骤怎么实现的?
15.关注过哪些热更方式,以及一些更细致问题
16.事件跟委托的区别、Func、Action
17.UI界面点击Button无效,会有多少种情况?(image遮罩、组件属性没开启、UGUI事件系统出问题、射线检测出问题、鼠标输入出问题...)
18.你简历上写你实现了鼠标移入显示道具详细信息,在手机端没有鼠标,它存在的意义是什么?(这怎么回答???...我回答的这是一类操作,比如玩家触屏拖动装备时,装备图标跟随手指移动、玩家将装备拖入装备面板,装备道具自动判断需要替换还是直接穿着等等我都有实现,即使如您所说没有鼠标,但玩家点击图标仍然需要弹窗,它本质上还是我所实现的那些。又顺势提到的了drawcall优化,使用CanvasGroup而不使用setActive)
19.有没有了解过AI这些
反问:
1.UGUI源码感兴趣吗?问一问?
面试官:像UGUI的事件系统里有很多事件的触发时间段是有重复、有重合的,对于这种现象你这么理解?
体现一下你对UGUI源码的总体掌握程度
UGUI中的Canvas的作用是什么?
Mask与Rect Mask2D的区别?它们俩的区别大致是一种什么测试?在渲染管线中属于一种测试(没学渲染管线,后半个不会)
Graphic与MaskGraphic
2.ET框架、ECS设计模式,感兴趣吗?问一问?
面试官:用过,后面舍弃了(聊了一堆)
3.正常反问环节,结束,领导再见~