首页 > 其他分享 >【春秋招必看】Unity相关笔试面试题(内有完整答案)第12期

【春秋招必看】Unity相关笔试面试题(内有完整答案)第12期

时间:2024-10-03 08:49:15浏览次数:3  
标签:面试题 12 矩阵 Unity 垃圾 答案 GPU 资源

欢迎来到光光的奇妙冒险,我是你们的煎饼光子老师。

今天是我们的第12期试题总结。


C#部分:

(前四题为字节跳动面试问题)

1、List是链表还是数组

答案:
数组

2、上一题追问:
当list满了的时候,我再加入一个元素它的效率会比较低啊,它内部大概是一个什么样的执行过程呢?

答案:
数组搬家,会讲原数组移动到一个更大容量的新数组中
效率较低,并且会产生内存垃圾

3、csharp里面有一个常用的接口叫做IDispose,它的作用是?

答案:
IDispose接口是 C# 中用于手动释放资源的机制
通过显式调用 Dispose() 方法来实现资源的释放,避免资源泄漏和浪费
它允许对象在不再需要时显式地释放资源,而不依赖于垃圾回收器的自动内存管理

4、上一题追问:
csharp有垃圾回收机制,把一个对象设置为空的时候,系统会帮我们回收,它和接口IDispose有什么关系吗?为什么会存在两个做析构事情的东西呢?

答案:

GC只能处理堆上的垃圾,但对于不是堆上的垃圾要通过IDispose接口显示处理
C#中的垃圾回收机制,只会回收托管堆上分配的对象。
对于非托管资源以及其它需要显示释放的资源,垃圾回收是无法自动处理的,因为这些资源不属于托管堆,因此垃圾回收器无法自动识别和回收。这种情况下我们就需要显示的手动释放这些资源了。
而IDispose接口就提供了一种通用的机制来进行资源清理,主要用于释放非托管资源。

非托管资源:
1.文件句柄,在操作系统中打开的文件等
2.数据库链接,与数据库服务器简历的链接
3.网络链接:比如Socket的连接对象
4.unsafe关键词中使用的指针
等等

5、Unity中的生命周期函数,为什么设计为反射调用,而不是通过继承重写生命周期函数的形式去实现呢?

答案:
可能原因:
1.并非所有继承MonoBehaviour的类都需要使用所有声明周期函数,如果使用继承,就会有大量的空虚函数被调用,而使用反射,有哪些生命周期就调用哪些,并且反射还可以调用私有方法。Unity只需要维护有对应生命周期函数的脚本列表,就可以避免空虚函数的调用了。 


2.Unity采用组件式设计,通过使用反射,可以将某些逻辑解耦,将组件的功能模块化,使得逻辑更加灵活和可复用,当触发一个生命周期,需要通知相应GameObject的所有组件,如果使用继承多态来实现,则所有组件都要派生自包含对应生命周期的基类,或者是筛选出派生自此基类的组件逐一通知。这样一来容易带来复杂的继承关系,并且很麻烦,就和组件式倡导的聚合代替继承的设计从理念上相悖了。

3.Unity提供插件和外部脚本支持,这些脚本可能不是在Unity中编写的,而是通过第三方库或外部工具生成的,为了支持这些脚本,可以使用反射机制调用其生命周期函数
等等


Unity部分:

1、CPU和GPU他们分别是什么?它们主要完成什么工作

答案:
CPU为中央处理器
负责算数运算、逻辑操作、数据传输等通用计算任务,同时还管理和调度计算机的资源
(游戏开发中—游戏逻辑处理),主要处理操作系统管理、程序执行、通用计算等等
CPU一般处理串行任务,即顺序执行的单个任务,适用于大多数常规计算

GPU为图形处理器
是专门用于图形和并行计算的处理器
显卡就是搭载GPU的硬件设备,显卡包含一个或多个GPU芯片,还包含显存(用于存储图像数据)、显示接口、视频解码器等等(游戏开发中—渲染相关处理)
GPU主要处理并行任务,适用于图形渲染、3D游戏、机器学习、科学计算等需要大量并行计算的领域

2、渲染管线中的几何阶段是由CPU主导还是GPU主导?该阶段主要是在做什么?

答案:
渲染管线中的几何阶段主要由GPU主导
在几何阶段中完成的最主要工作就是
顶点、法线等模型数据的相关处理
对他们进行坐标空间转换,裁剪画面外图元等等
还可以进行顶点着色,为每个顶点计算颜色、纹理坐标、法线等属性,以便在后续阶段用于处理

3、是不是所有矩阵都有逆矩阵?如何计算一个矩阵的逆矩阵?

答案:
1.并不是所有矩阵都有逆矩阵
2.计算流程
第一步:确定矩阵是否为方阵(即行列数相等)
第二步:计算矩阵的行列式(若行列式为0,则该矩阵没有逆矩阵)
第三步:计算矩阵的代数余子式矩阵
第四步:计算标准伴随矩阵(转置代数余子式矩阵)
第五步:计算逆矩阵(标准伴随矩阵 / 行列式)

4、齐次坐标是什么?对于我们有什么作用?

答案:
是什么?
就是将一个原本是 n 维的向量或矩阵用 n + 1维来表示
是一种扩展的坐标系统,,用于在计算机图形学等学科中进行数学运算
对于我们的作用?
利用齐次坐标,我们可以明确的区分向量和点,能够表示出平移变换

5、Shader开发中的坐标空间变换,主要是在哪几个空间中进行变换?变换顺序是什么?

答案:
主要是将模型相关数据(顶点、法线、切线等)在
模型空间 —> 世界空间 —> 观察空间 —> 裁剪空间 —> 屏幕空间 
之间进行变换

标签:面试题,12,矩阵,Unity,垃圾,答案,GPU,资源
From: https://blog.csdn.net/Blueberry124/article/details/142688673

相关文章

  • 【HITCON-Training】Lab 12 - SecretGarden
    学习于2024-10-0122:00:17星期二心得感想:这次真的把我整笑了,现在是10/2的晚上23点,我都不敢想象自己弄了多久(整整两天国庆的下午......
  • 题解:TopCoder12316 ThreeColorability
    Vjudge可以出成《三色绘恋》背景。题意给一个格点数为\((n+1)\times(m+1)\)的网格,给格点染色,相邻的格点不能染成同样的颜色。每个格子有一条对角线的边,可选N形和Z形。现在有一个残缺的网格,存在一些格子的对角线连法不确定,构造一种字典序最小的方案使得至少存在一种染色......
  • P1912 [NOI2009] 诗人小G
    题目链接题解:定义算上空格的前缀和\(sum[i]=\sum_{j=1}^{i}len[j]+1\)\(dp[i]=min_{j<i}(dp[j]+|sum[i]-sum[j]-1+L|^p)\)相当于枚举上一行的结尾在哪。可以感性理解一下,i越靠后,最优决策点j一定会往后移。所以决策点具有单调性。我有一个简单的证明,就是列个式子,证明i向后移......
  • 题解:UVA124 Following Orders
    考虑深搜和拓扑排序。从入度为零的节点开始,逐步添加到当前的排列结果中,并在每一步递减相邻节点的入度。如果某个节点的入度变为零,就递归地将其添加到当前排列中。一旦达到排列的叶节点,就存储起来,并按字典顺序排序。代码:#include<bits/stdc++.h>usingnamespacestd;voidread......
  • delphi 12 利用TNetHTTPClient 解决post https问题注意事项
          在以前的版本中,如果需要向https接口交互数据,需要openssl的支持,特别时openssl版本太多,往往需要调试很长时间, 现在新版的DelphiXE8以上的版本,有了TNetHttpClient,可以简单的是实现和https接口的交互。usesSystem.Net.URLClient,System.Net.HttpClient......
  • unity性能优化(有关图集)
    1.什么是图集?首先,你必须把你的美术资源TextureType改为Sprite(精灵类型),因为SpriteAltas只支持Sprite这种TextureType格式。官方:2D项目使用精灵和其他图形来创建其场景的视觉效果。这意味着单个项目可能包含许多纹理文件。Unity通常会为场景中的每个纹理发出一个绘制调用;但是,......
  • 12_分布式原理_图解横向扩容过程,如何超出扩容极限,以及如何提升容错性
    1、图解横向扩容过程,如何超出扩容极限,以及如何提升容错性(1)primary&replica自动负载均衡,6个shard,3primary,3replica(2)每个node有更少的shard,IO/CPU/Memory资源给每个shard分配更多,每个shard性能更好(3)扩容的极限,6个shard(3primary,3replica),最多扩容到6台机器,每个shard可以占用单......
  • CSCI1120 Introduction to Computing Using C++
    CSCI1120IntroductiontoComputingUsingC++,Fall2024/25DepartmentofComputerScienceandEngineering,TheChineseUniversityofHongKongCopyright©2024CSE,CUHKPage1of8Assignment2:GumballMachinesDue:23:59,Thu3Oct2024Filename:gumball.......
  • CF1214G Feeling Good 题解
    题目链接点击打开链接题目解法我真菜啊,感觉每一步都不难,但一步都没想到/yun考虑两行\(x,y\)什么时候可以构造出合法的矩形?即\(x\)中需要有\(y\)对应位置为\(0\)的\(1\),\(y\)中需要有\(x\)对应位置为\(0\)的\(1\)归纳一下,\(x\)不是\(y\)的子集且\(y\)不......
  • 电影《749局》迅雷BT下载/百度云下载资源[MP4/2.12GB/5.35GB]超清版
    电影《749局》:近未来的冒险与成长之旅电影《749局》是一部融合了科幻、冒险与奇幻元素的电影,由陆川编剧并执导,王俊凯、苗苗、郑恺、任敏、辛柏青领衔主演,李晨特邀主演,张钧甯、李梦、杨皓宇特别主演。该片于2024年10月1日在中国大陆上映,以其独特的科幻设定、宏大的视觉效果和......