面试题整理(附答案)
面试题整理(附答案)
lua相关
lua深拷贝和浅拷贝的区别?如何实现深拷贝? A:http://ju.outofmemory.cn/entry/212960
lua中ipairs和pairs的区别? A: https://blog.csdn.net/wwlcsdn000/article/details/81291756
lua中的userdata是什么?有什么作用?
A: https://blog.csdn.net/adam040606/article/details/56484488
https://blog.csdn.net/zhang197093/article/details/77109674
解释下lua中的元表元方法? A:https://www.cnblogs.com/msxh/p/7745553.html
说说lua中如何实现面向对象?A:https://www.cnblogs.com/msxh/p/8469340.html
如何实现一个lua table的迭代器?A:https://www.jb51.net/article/86840.htm
lua和C++、C#交互原理? A:https://www.cnblogs.com/slysky/p/7919114.html
cstolua的底层原理?A:https://www.cnblogs.com/msxh/p/9813147.html
C#与Lua交互原理? A:https://blog.csdn.net/UnityHUI/article/details/79752296
说说lua中的闭包? A:https://www.cnblogs.com/msxh/p/8283865.html
在lua中有俩字符串,内容都是"Hello",说一下他们指向的内存空间是否是同一块? A:https://blog.csdn.net/ft1874478a/article/details/95307214
lua是如何实现热更新的? A: 考察Package.loaded
C#相关
用过协程吗?应用场景是什么?协程与线程的区别?协程的底层实现原理? A:https://www.cnblogs.com/iwiniwin/p/14878498.html
值类型和引用类型的区别? A:https://www.cnblogs.com/u3ddjw/p/11065189.html
堆和栈的区别?内存分配时地址有什么不同? A:https://www.cnblogs.com/u3ddjw/p/11065189.html
GC的原理?Unity中Mono的GC和.net原生的GC算法有什么区别? A:https://www.cnblogs.com/u3ddjw/p/11065189.html
List的底层实现原理?如何实现扩容?删除时占用内存空间会释放吗?
String与StringBuilder的区别?StringBuilder底层原理?A:https://www.cnblogs.com/oralig/p/7766566.html
C#中字符串的内存分配与暂存池? A:https://blog.csdn.net/xiaouncle/article/details/87832198
Dictionary的内部实现原理? A:https://www.cnblogs.com/InCerry/p/10325290.html
HashTable与Dictionary的区别? A:https://blog.csdn.net/mpegfour/article/details/78725768
抽象类与接口的区别?什么时候使用抽象类,什么时候使用接口?
C# 内存分配&&垃圾回收解析? A:https://www.jianshu.com/p/53439af1eb00
谈谈.net对象生命周期 A:https://www.cnblogs.com/MaMaNongNong/p/11945161.html
C++ 相关
智能指针有了解吗? A:https://www.baidu.com/link?url=zPuC-0F5PLZMiHgVeo3YUcaL1YC5BDIV3a-rOmr8vWIsK0CwCrzh5C2EMAzakXoh&wd=&eqid=a22323c0000ba41a000000025d5e8cf2
https://blog.csdn.net/k346k346/article/details/81478223
https://blog.csdn.net/flowing_wind/article/details/81301001
https://www.cnblogs.com/wuyepeng/p/9741241.html
C++11里面一些常用的新特性? A:https://www.cnblogs.com/msxh/p/5869992.html
重载与多态?
C++是如何实现多态的?底层原理?(考察虚函数表和虚指针) A:https://blog.csdn.net/yuanchunsi/article/details/78833345
https://www.cnblogs.com/zhxmdefj/p/11594459.html
浅谈C++虚函数机制 A:https://www.cnblogs.com/backnullptr/p/12047900.html
说说C++中的内存对齐?一个空类、空结构体占用几个字节?
C++ 为什么会在内存溢出或者越界的时候导致程序崩溃? A:https://blog.csdn.net/u014426939/article/details/80374207
类与对象的区别?
类编译后,没有实例化前会占用内存空间吗?如果占用的话它存储在哪里?
C++ 的内存分配? A:https://blog.csdn.net/qq_22238021/article/details/79533711
静态变量和全局变量的区别? A:https://blog.csdn.net/qq_22238021/article/details/79533711
了解STL标准模板库吗?挑两个你最熟悉的说说他们的特点、用法和实现原理?
指针与引用的区别? A:https://www.cnblogs.com/msxh/p/5557546.html
Unity相关
MonoBehavior的生命周期 A:https://docs.unity3d.com/Manual/ExecutionOrder.html
图片压缩格式(PC,Android,iOS平台) A:https://www.jianshu.com/p/f7c3741f22af
https://blog.csdn.net/a133900029/article/details/80698783
https://blog.csdn.net/u013746357/article/details/89457616
https://blog.csdn.net/biospc/article/details/78077159
纹理加载进内存以后占用内存如何计算?比如一个1024 * 1204的RGBA 32bit的纹理占用多大内存? A: 纹理加载进内存后,大小计算公式如下:
纹理内存大小(字节) = 纹理宽度 x 纹理高度 x 像素字节
像素字节 = 像素通道数(R/G/B/A) x 通道大小(1字节/半字节)
1024 * 1024 * 4 * 4byte
UGUI原理与常用优化技巧? A:https://www.jianshu.com/p/9bd461de19a7
合批的原理与优化?
Unity如何实现跨平台的?
当我们自定义一个脚本继承自MonoBehavior以后,Start()、Update()方法并不是重写父类的方法,那么Unity在底层是如何调用到他们的呢?A:https://www.zhihu.com/question/27752591
有读过UGUI源码嘛?
浅述项目中的资源管理方案? A:建议读一下xAsset的源码,然后就会对资源管理有个大致的了解了,传送门
在项目中有做过性能优化吗?从哪些方面入手?
Unity 使用UGUI创建可重用TableView思路? A:https://blog.csdn.net/tmac3380809/article/details/51290387
算法与数据结构和3D数学
讲一下KMP字符串匹配算法?
将一下DP动态规划的思想?
说一下快排的思想以及手写代码 A:https://github.com/XINCGer/AlgorithmTraining/tree/master/sort/快速排序
链表相关(求长度,求倒数第N个,删除倒数第N个,判断是否有环,链表逆置等)
快排是稳定排序吗?什么是稳定排序? A:https://www.jianshu.com/p/abe27f16b7b5
table.sort()的内部实现源码和List.Sort的内部实现源码? A:https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1.sort?redirectedfrom=MSDN&view=netframework-4.8#System_Collections_Generic_List_1_Sort_System_Comparison__0__
http://www.csharp411.com/c-stable-sort/
https://www.cnblogs.com/bitzhuwei/archive/2012/10/27/smilewei_sort.html
二分查找算法?
一个地图中假如说有100个怪,如何快速地获取到你周围一定范围内的怪? A:百度一下AOI算法。https://www.cnblogs.com/persistentsnail/p/3294842.html https://www.cnblogs.com/rond/p/6114919.html
http://www.cppblog.com/jaxe/archive/2011/06/20/148998.html
https://blog.codingnow.com/2012/03/dev_note_13.html
如何判断技能的打击范围?
已知入射向量和法向量如何求出反射向量?
说说Hash算法与HashTable?
实现一个简单的线性插值算法? A: value = to + (from - to)* progress
判断一个图中任意两个节点的连通性?A:通过BFS或者DFS直接搜索就可以
写出斐波那契数列的实现并进行优化 A:1.最普通的递归版|2.ACM竞赛数组打表版|3.尾递归优化版|4.DP思想,增加记忆化避免重复计算
实现一个比较好的洗牌算法? A:直接上Fisher-Yates shuffle洗牌算法
https://blog.csdn.net/u012604810/article/details/82177726
https://blog.csdn.net/bitcarmanlee/article/details/52206847
从二叉查找树到B+树中间的各种树复习 A:https://www.cnblogs.com/godoforange/p/11618643.html
网络相关
简述一下TCP三次握手和四次挥手的过程?A:https://www.cnblogs.com/pretty-guy/p/11457706.html
说一下Socket编程中的一些常见API和客户端服务器端的函数调用顺序?A:https://www.cnblogs.com/msxh/p/4989883.html
在浏览器上打开www.baidu.com这个网站,背后都发生了哪些事情? A:https://blog.csdn.net/ZhangQiye1993/article/details/82693304
讲一讲Http协议,http和https有什么区别? A:https://www.cnblogs.com/lingyejun/p/7148756.html?utm_source=itdadao&utm_medium=referral
什么是粘包,如何处理? A: https://www.cnblogs.com/msxh/p/10822516.html
关于网络的一些基本知识点汇总 A:网络编程之TCP/IP各层详解
从零开始的计算机网络基础(图文并茂,1.8w字,面试复习必备)
设计模式相关
说一下设计模式的六大设计原则 A: https://www.cnblogs.com/msxh/p/6921679.html
工厂模式考察 A:https://github.com/XINCGer/Unity3DTraining/tree/master/DesignPatterns/Factory
单例模式考察 A:https://github.com/XINCGer/Unity3DTraining/tree/master/DesignPatterns/Singleton
中介者模式考察 A:https://github.com/XINCGer/Unity3DTraining/tree/master/DesignPatterns/MediatorPattern
观察者模式考察 A:https://github.com/XINCGer/Unity3DTraining/tree/master/DesignPatterns/ObserverPattern
说一说MVC架构,各层分别负责做什么?MVC模式优点、缺点是什么? A: https://www.cnblogs.com/JustRun1983/p/3679827.html
http://www.cnblogs.com/JustRun1983/p/3727560.html
https://www.cnblogs.com/aspwebchh/p/8853659.html
说一下MVVM架构,对比MVC架构有和优点? A:解答同上面的问题
考察一般的unity高级程序就这几块:
(1)数据结构和算法,刷好leetcode 就行了
(2)图形学渲染管线 建议 从opengl 学起,熟悉基本的渲染管线
(3)一些unity特殊技巧。比如 mesh的定点的属性列表。ugui的动静分离 。assetbundle的 加载和卸载,ui 渲染3d 模型,别提 雨凇的策略。那策略基本上没用
(4)lua 比如:for 空洞的 table。寄存器语言特性, lua vm 一些基本的概念