计算机
讲讲线程和进程
数学
点乘和叉乘
C#
out和ref的区别
await和async
task,threadPool和thread
string,struct的存储类型
讲讲协程,C#是怎么实现协程的
C++
内存对齐
C
数组指针和指针数组
Lua
怎么实现一个类
用table的方式
设计模式
使用过的设计模式
委托和事件的区别,事件能做但委托不能做的事
Unity
有没有了解过shader
我没了解过,就跳过了
有没有接触过框架之类的
ECS框架
没了解过
上万条数据的存储方式
HR举的例子是有一万个关卡,如何进行数据存储,我没能理解到目的。
大量单位同屏是怎么处理的
像吸血鬼幸存者这种,场景里会出现大量怪物时是咋么处理的。
卡顿原因是SkinnedMeshRender更新的开销重,CPU负担大,单位蒙皮动画开销大,且会产生大量的DrawCall。优化目标是将CPU的负担转给GPU。
蒙皮动画的处理:通过计算贴图坐标,使用普通的MeshRender替换SkinnedMeshRender
…
更多信息参考这篇文章
Unity下大量物体同屏渲染的性能优化思路
UGUI的合批
零散图片是如何进行优化的
Unity提供了解决方案-图集
什么行为会导致DrawCall数量提高
能否在子线程中调用UI组件
不能,Unity有主线程处理UI的渲染,在子线程中修改UI如调整贴图或直接改变按钮的文本,可能不会被正确的渲染,导致不可预料的错误。
不同平台的打包
不同分辨率的适配方案
对Unity的图形渲染有多少了解
想得到的内存优化方案
其他
如何证明一个点在三角形内
我的回答是,从该点向右(或者说向任意方向)打一条射线,与三角形交点数目为偶数则在三角形外,为奇数则在三角形内。
遇到过的最大的困难,是如何解决的
三个大于6的连续自然数,其中两个是质数,证明第三个数一定是6的倍数
没答上,这是面试官给我的答案。
三个连续自然数,只可能是 奇数-偶数-奇数 或者 偶数-奇数-偶数,因为有两个质数,所以只能是 奇数-偶数-奇数,偶数一定是2的倍数,有三个数,则一定存在3的倍数,因为有两个质数,所以只能是这个偶数为3的倍数,它既是2的倍数也是3的倍数,且三个数都大于6,那么它一定是6的倍数。