本文章不作任何商业用途 仅作学习与交流 安利唐老狮与其他老师合作的网站,内有大量免费资源和优质付费资源,我入门就是看唐老师的课程 打好坚实的基础非常非常重要:
C#
1. 内存中,堆和栈的区别是什么?
GC时机不同,栈内存自动用完即抛
堆内存可以由程序员主动释放, 现在不被引用则被回收机制GC
2. TCP协议和UDP协议的区别
TCP面向连接 可靠校验 速度慢一些
UDP不做连接 默认无校验 速度快

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方案的本质是什么?
我不清楚 还需加强学习
