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博客

相关推荐
点心的游戏开发世界22 分钟前
Unity C# 脚本学习笔记:命名空间与 using
学习·unity·c#
2601_962071571 小时前
【Java报错已解决】org.springframework.beans.factory.BeanCreationException
java·开发语言
淡海水2 小时前
07-04-并发-ConcurrentBag-T-工作窃取WorkStealing算法
开发语言·算法·c#·bag·concurrent·workstealing
点心的游戏开发世界2 小时前
Unity C# 脚本学习笔记:泛型
学习·unity·c#
黄敬峰3 小时前
Agent Memory 进阶:用 LLM 总结压缩上下文,告别"金鱼记忆"
面试
CS_Zero3 小时前
C语言sizeof是函数吗?
c语言·开发语言
-今昭-4 小时前
《V2V 迁移实战:将 VMware 虚拟机转为 OpenStack 可用 Glance qcow2 镜像》
开发语言·python
RisunJan5 小时前
后端高频面试题与解答
面试·职场和发展
黑马程序员毕设5 小时前
基于Java的医院药品管理系统的优化设计与实现
java·开发语言·spring boot·小程序·架构·课程设计·毕设
_Twink1e6 小时前
openJiuwen 实训营 Day 1 · WorkSwarm 入门教程
开发语言·c++·openjiuwen