gxt644987804 发表于 2020-11-27 20:21

Unity研发工程师——常见笔试问题

0.前言

每每去大公司面试都会被问到一些偏门的问题,感觉公司好像要造火箭???
好多东西其实心里都知道,但是如果要动嘴说、动笔写,好像又搞不清楚。
这里记录一些比较典型、有价值的问题,以免总吃亏,也给同样需要的朋友一点帮助。
涵盖的范围包括语法基础、引擎使用基础、渲染基础、算法等。
1.问题

值类型与引用类型的区别


简述ArrayList和List<int>的区别


简述GC(垃圾回收)产生的原因,并描述如何避免


下列代码在运行中会产生几个临时对象
string a = new string("abc");
a= (a.ToUpper() + "123").Substring(0, 2);


sealed用在类的声明和函数声明时的作用


protected、internal的区别


C#反射的实现原理


Unity是否支持多线程,如果支持的话需要注意什么


Unity的协程与线程之前的区别是什么


用于记录节点空间几何信息的组件名称,及其父类的名称


简述四元数的作用,四元数对欧拉角的优点


向量的点乘、叉乘以及归一化的意义


矩阵相乘的意义及注意点


为何大家都在移动设备上寻求Unity原生的GUI的替代方案


如何在不同分辨率下保持UI的一致性


为什么dynamic font在unicode的环境优于static font


Render的作用?描述MeshRender和SkinnedMeshRender的关系与不同


简述SkinnedMesh的实现原理


如果场景中同事放置多个Camera并同时处于活动状态会放发生什么


为什么Unity中会发生组件上数据丢失的情况


如何安全的在不同工程间迁移asset数据,三种方法


MeshCollider和其他Collider的一个主要不同点


当一个细小的高速物体撞向另一个较大的物体时,会出现什么情况。如何处理。


OnEnable、Awake、Start运行时发生的顺序?那些可能在同一个对象周期重复发生


简述OnBecameVisible和OnBecameInvisible的发生时机,以及意义


Unity如何获知场景中需要加载的数据


MeshRender中的material和sharedmaterial的区别


结构体和类有什么区别


冒泡排序的原理


哈希表是什么


脚本的生命周期


泛型是什么


反射是什么


UI的自适应原理


可编程渲染管线的流程,VertexShader和SurfaceShader的不同之处


Prefab的作用?如何在移动环境的设备下恰当地使用它?


写光照计算中的diffuse的计算公式?


请描述游戏动画有哪几种,以及其原理。


lod是什么,优缺点是什么?


MipMap是什么?作用?


如何优化内存?


简述可编程渲染管线的流程?


2.写在最后

为什么只给问题不给答案啊!!!
其实笔者是故意的。
我认为游戏开发不靠死记硬背,解决的手段和标准答案要考自己去寻找才有意义。
即使你最后没有找到自己满意的答案,过程中你也会收获很多。
解决这些问题的方式应该是通过翻阅书籍、博客、官方文档等,然后更重要的是加上自己的实践、思考,最后得出一个自己认为严谨、科学的答案。
这才是一个优秀的开发者。
页: [1]
查看完整版本: Unity研发工程师——常见笔试问题