本文章不作任何商业用途 仅作学习与交流 安利唐老狮与其他老师合作的网站,内有大量免费资源和优质付费资源,我入门就是看唐老师的课程 打好坚实的基础非常非常重要:
Unity课程 - 游习堂 - 唐老狮创立的游戏开发在线学习平台 - Powered By EduSoho
C#
1. 内存中,堆和栈的区别是什么?
GC时机不同,栈内存自动用完即抛
堆内存可以由程序员主动释放, 现在不被引用则被回收机制GC
2. TCP协议和UDP协议的区别
TCP面向连接 可靠校验 速度慢一些
UDP不做连接 默认无校验 速度快
Unity网络开发基础 (2) 网络协议基础-CSDN博客
3. TCP协议的可靠性是如何达到的?
三次握手 四次挥手
4. 内存抖动指什么?如何避免内存抖动
频繁GC
5. buff 系统中,如何用一个 byte,记录多种buff状态标识
我想到是用二进制 一个字节八个bit,所以会有 0000 0000 ,2的8次方 种状态
但实际上并不需要那么多标记
Unity
1. Unity中使用的是左手还是右手坐标系?我们需要注意什么?
Scene是左手
2. Unity中鼠标、键盘、触屏、手柄等输入事件会在Update 之前、还是之后、还是同时执行?
之前
此事在这篇之中的unity第四题有所提及
C# &Unity 唐老狮 No.6 模拟面试题-CSDN博客
3. Unity中场景中一个处于激活状态的物体(场景上只有这一个物体),不能被摄像机渲染出来,可能有几种情况?(至少说出3种可能的情况)
摄像机深度被调整了,物体被做了层级剔除
没在FOV之内
我能想到的只有这两个
4. Unity制作物理游戏相关功能时,我们采用哪种方式处理位移?为什么?
做移动就改变刚体速度,这样会有惯性
做力的改变就addforce
不建议用刚体的moveposition做强制位移,因为这和transform的位移就没什么两样了 还可能出现其他问题
5. Unity热更新解决方案中,Lua和ILRuntime方案的本质是什么?
我不清楚 还需加强学习