C# &Unity 唐老狮 No.6 模拟面试题

本文章不作任何商业用途 仅作学习与交流 安利唐老狮与其他老师合作的网站,内有大量免费资源和优质付费资源,我入门就是看唐老师的课程 打好坚实的基础非常非常重要:

全部 - 游习堂 - 唐老狮创立的游戏开发在线学习平台 - Powered By EduSoho

如果你发现了文章内特殊的字体格式,那是AI补充的知识,我发现原网站下面有答案,我将会把答案以不同样式穿插在回答之中

目录

C#

[1.C#中如何让自定义容器类能够使用for循环遍历?(通过 类对象[索引] 的形式遍历)](#中如何让自定义容器类能够使用for循环遍历?(通过 类对象[索引] 的形式遍历))

2.C#中如何让自定义容器类能够使用foreach循环遍历?

3.C#中接口的作用是什么?说说你的理解

4.Unity引擎中哪些功能使用了C#的反射功能?至少说出一点

5.请问这三行代码,运行后,在堆上会分配几个"房间"

Unity

1.Unity中Awake和Start两个生命周期函数,分别在什么时候被调用?

2.Unity场景上有多个对象,都分别挂载了n个脚本。我们如何控制不同脚本间生命周期函数Awake的执行先后顺序?

3.想要在Unity中使用指针我们需要进行哪些操作?

[4.Unity中的协同程序中yield return不同的内容,代表的含义不同请说明下面这些yield return的含义1.yield return 数字;2.yield return null;3.yield return new WaitForSeconds(数字);4.yield return new WaitForFixedUpdate();5.yield return new WaitForEndOfFrame();6.yield break;](#4.Unity中的协同程序中yield return不同的内容,代表的含义不同请说明下面这些yield return的含义1.yield return 数字;2.yield return null;3.yield return new WaitForSeconds(数字);4.yield return new WaitForFixedUpdate();5.yield return new WaitForEndOfFrame();6.yield break;)

5.使用Unity协同程序进行异步加载时,底层是否会使用多线程?


C#

1.C#中如何让自定义容器类能够使用for循环遍历?(通过 类对象[索引] 的形式遍历)

索引器

C# &Unity 面向对象补全计划 之 索引器与迭代器-CSDN博客

2.C#中如何让自定义容器类能够使用foreach循环遍历?

迭代器

C# &Unity 面向对象补全计划 之 索引器与迭代器-CSDN博客

3.C#中接口的作用是什么?说说你的理解

规范职责 , 依赖倒置 ,里氏替换管理子类

DP:

  1. 多态性:不同类实现同一接口,可统一调用。
  2. 解耦:降低模块间依赖,提高代码可维护性。
  3. 扩展性:通过接口扩展功能,无需修改现有代码。

C# & Unity 面向对象补全计划 之 接口_unity c# 接口-CSDN博客

4.Unity引擎中哪些功能使用了C#的反射功能?至少说出一点

加载特性: C# & Unity 面向对象补全计划 之 [反射]自动处理带有自定义[特性]的类-CSDN博客

运行脚本,Inspector窗口设置值,编辑器开发

5.请问这三行代码,运行后,在堆上会分配几个"房间"

2个 我们总是不得不感叹 关于内存的分配机制真的很牛,它内部做了比较处理

Unity

1.Unity中Awake和Start两个生命周期函数,分别在什么时候被调用?

游戏运行或者实例化先Awake即使脚本未启用

然后 OnEnable脚本开启 在第一次帧更新前调用Start

**2.Unity场景上有多个对象,都分别挂载了n个脚本。

我们如何控制不同脚本间生命周期函数Awake的执行先后顺序?**

3.想要在Unity中使用指针我们需要进行哪些操作?

**4.Unity中的协同程序中yield return不同的内容,代表的含义不同

请说明下面这些yield return的含义
1.yield return 数字; 等一帧
2.yield return null; 等一帧
3.yield return new WaitForSeconds(数字); 等时间缩放下的数字秒
4.yield return new WaitForFixedUpdate(); 等下一次FiexdUpdate
5.yield return new WaitForEndOfFrame();** 帧渲染完成后执行
6.yield break; 退出协程

关于**yield return new WaitForEndOfFrame();**帧渲染完成后执行

此事该地介绍到事件函数的执行顺序 - Unity 手册 我将其图片复制过来 可以看个大概

5.使用Unity协同程序进行异步加载时,底层是否会使用多线程?

协程本身是单线程分步,异步机制可单可多 要看代码

C# & Unity 同步/异步编程和多线程什么关系?async/await和coroutine又是什么?_unity同步和异步-CSDN博客

相关推荐
WeiLai11121 小时前
面试基础--Redis 缓存穿透、缓存击穿、缓存雪崩深度解析
java·redis·分布式·后端·缓存·面试·架构
wclass-zhengge1 小时前
02C#基本结构篇(D1_基本语法)
开发语言·microsoft·c#
zctel1 小时前
java中小型公司面试预习资料(二):Redis
java·redis·面试
hrrrrb1 小时前
【C语言】数组篇
c语言·开发语言
独行soc1 小时前
2025年渗透测试面试题总结-字某跳动-安全研究实习生(三面)(题目+回答)
linux·服务器·安全·web安全·面试·职场和发展
c#上位机1 小时前
WinForm模态与非模态窗体
ui·c#
独行soc1 小时前
2025年渗透测试面试题总结-小某鹏汽车-安全工程师(题目+回答)
网络·科技·安全·面试·汽车·护网·2015年
蜡笔小新..3 小时前
R语言和RStudio安装
开发语言·r语言
ALPH_3 小时前
R语言的基础命令及实例操作
开发语言·数据分析·r语言·perl·r语言-4.2.1
mlxg999993 小时前
hom_mat2d_to_affine_par 的c#实现
算法·计算机视觉·c#