[Unity]客户端面试问题记录

计算机

讲讲线程和进程

数学

点乘和叉乘

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的倍数。

个人职业规划,为什么要选择Unity客户端

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值