unity实习生面试

北京教育中厂的成都分部  11.5

时长有28分钟
一面二面合并了
面试官人挺好的,也不是特别急,答的不是很好的问题面试官直接跳过了

顺序不是很统一 只写记得的部分
1.问了值类型和引用类型的区别
2. 问了ugui的组件有哪些
ugui有哪些优化方案
答用打图集来减少内存的消耗
Unity有哪些优化方案
答用对象池以及少用全局变量
3.引用类型储存在堆上是怎么储存的 好像是这个记不清了 没答出来 
问了两道算法
4一个三角形,一个三角形有三个顶点,然后有一个点如何判断另一个点在这个三角形的内部还是外部?自己答出来的是从内部找一个顶点连线,实际上答案是可以用面积来求以及用向量夹角来求。
5还有一个快排怎么排的?以及怎么优化快排
答:怎么排的想起来了,但是没有说优化方法    查找后:优化:三数取中  随机选基准值 选取首尾元素作为基准值
问了一下,快排怎么实现的?答的凑合
6.了解哪些设计模式
答:了只了解单例模式,然后说了说单例模式怎么用   

查找后:单例模式用于保证一个类只有一个实例,并且该实例可以全局访问。在Unity中,这种模式常用于管理游戏系统或资源,例如游戏设置,场景管理,音效管理等。

工厂模式用于创建对象,它将对象的创建过程封装在一个工厂类中,使得客户端程序无需直接调用对象的构造函数来创建对象,而只需要调用工厂类的方法即可。

观察者模式用于对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。在Unity中,观察者模式常用于事件的处理和UI界面的更新。

7.面向对象的三个特征 和五个原则

实现多态的三个步骤

  • 继承(猫和狗继承动物)
  • 重写方法(猫和狗重写eat方法)
  • 父类引用指向子类对象(Animal animal = new Cat();)

五大原则单一职责原则 一个类应该只负责一项任务 使代码更容易理解和维护 

  • 开放-封闭原则 类、模块、函数等)应该对扩展开放,对修改关闭 
  • 里氏替换原则 所有引用基类(父类)的地方必须能够使用其子类的对象 子类必须能够完全替代其父类
  • 接口隔离原则 接口应该尽可能小,只包含客户端需要的方法。
  • 依赖倒置原则 高层模块不应该依赖于低层模块,二者都应该依赖于抽象 可以实现低耦合和高内聚的设计

答出来了特征没答出来原则
8协程是怎么实现的? 底层原理是什么?
答用迭代器
9.问了一下字典如何储存值以及字典的存东西的原理
没答上来   看了一下,发现好像是直接add remove就行(不知道是不是) 麻了
10.最后是一道场景题,问,工作时如果遇见了上边发配的任务已经完成不了了,时间特别紧急,要截止,你该怎么做?
答 :先自己憋一会儿,憋1到2个小时,实在想不出来找组长问一问怎么办,
11.问是不是自学的游戏? 答说是自己学的
12.问了问背包系统的制作需要用到哪些ugui组件
没答好,光说了说用图片组件,还有一个能让,图片排列规矩的组件。。。。。这我当时还自己做过,然而实在记不清了都是三四个月之前了
反问环节:问了问,公司是做什么项目的?
回答 公司是做学龄前儿童的绘本小游戏  呃,问实习生需要干什么  得到回答,实习生需要在绘本中一些益智小游戏的整体的游戏逻辑搭建

补:还想起来问了在引用类型堆中如何删除还是怎么着来着 答了个用GC自动删除也不知对不对

总结:基础有一些但是还是不太熟练 得仔细看看那个unity面经 当然算法和数据结构也得常常复习 差点快排怎么排没答上来。。。。汗流浃背了当时

四:几种数据结构的比较
这里比较一下Dictionary、HashSet、Hashtable、List

——如果是通过key去查找,Dictionary和Hashtable的效率是高于List的,如果是通foreash遍历,则List的效率更高(List底层是数组,内存是连续的。Dictionary和Hashtable底层是哈希表,根据Hash算法进行存储内存是不连续的,会产生更多的换页操作)
——HashSet的查找效率要高于List,因为HashSet内部原理是哈希表,只不过与Dictionary和Hashtable不同的是只存了key
——HashSet添加元素时会判断是否已经存在,不会添加重复的元素,可以使用HashSet去

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/59704.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot中集成MyBatis操作数据库详细教程

目录 前言1. 项目依赖配置1.1 引入MyBatis和数据库驱动依赖1.2 数据源配置 2. 创建数据库映射实体类3. 创建Mapper层接口4. 创建Service层4.1 定义Service接口4.2 实现Service接口 5. 创建Controller层6. 运行和测试项目6.1 启动项目6.2 测试接口 7. 总结 前言 在Java开发中&a…

【大语言模型】ACL2024论文-07 BitDistiller: 释放亚4比特大型语言模型的潜力通过自蒸馏

【大语言模型】ACL2024论文-07 BitDistiller: 释放亚4比特大型语言模型的潜力通过自蒸馏 目录 文章目录 【大语言模型】ACL2024论文-07 BitDistiller: 释放亚4比特大型语言模型的潜力通过自蒸馏目录摘要研究背景问题与挑战如何解决创新点算法模型实验效果代码推荐阅读指数&…

鸿蒙next打包流程

目录 下载团结引擎 添加开源鸿蒙打包支持 打包报错 路径问题 安装DevEcoStudio 可以在DevEcoStudio进行打包hap和app 包结构 没法直接用previewer运行 真机运行和测试需要配置签名,DevEcoStudio可以自动配置, 模拟器安装hap提示报错 安装成功,但无法打开 团结1.3版本新增工具…

基于Jeecgboot3.6.3vue3的flowable流程online表单的审批使用介绍

更多技术支持与服务请加入我的知识星球或加我微信,名称:亿事达nbcio技术交流社区https://t.zsxq.com/iPi8F 今天介绍一下基于jeecgboot3.6.3的flowable流程使用online表单进行审批的情况 1、首先建立一个online应用类型的流程,如下: 2、进行…

【LeetCode】【算法】238. 除自身以外数组的乘积

LeetCode 238. 除自身以外数组的乘积 题目描述 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据保证数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位整数范围内。 请不…

如何构建一个可扩展的测试自动化框架?

以下为作者观点: 假设你是测试自动化方面的新手,想参与构建一个框架。在这种情况下,重要的是要了解框架所需的组件,以及它们是如何组合的。思考项目的具体需求和目标,以及可能遇到的困难和挑战。 假如你是一个测试架…

实战:索引的命中机制

在 SQL Server 中,查询是否能命中索引(即是否能使用 Index Seek)取决于多个因素,包括索引的结构、查询条件的排列、和数据库优化器的策略。以下是一些常见的命中索引和不能命中索引的情况,及其详细解释: 一、命中索引的情况 1. 前导列匹配(典型的命中索引场景) 索引结…

使用Docker快速部署FastAPI Web应用

Docker是基于 Linux 内核的cgroup、namespace以及 AUFS 类的Union FS 等技术,对进程进行封装隔离,一种操作系统层面的虚拟化技术。Docker中每个容器都基于镜像Image运行,镜像是容器的只读模板,容器是模板的一个实例。镜像是分层结…

C++【string类,模拟实现string类】

🌟个人主页:落叶 🌟当前专栏: C专栏 目录 为什么学习string类 C语言中的字符串 标准库中的string类 auto和范围for auto关键字 迭代器 范围for string类的常用接口说明和使用 1. string类对象的常见构造 2.string类对象的容量操作 3…

A019基于SpringBoot的校园闲置物品交易系统

🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…

【赵渝强老师】Redis的RDB数据持久化

Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出会造成服务器中的数据库状态也会消失。所以 Redis 提供了数据持久化功能。Redis支持两种方式的持久化,一种是RDB方式;另一种是AOF(ap…

Excel:vba实现批量插入图片批注

实现的效果:实现的代码如下: Sub InsertImageNamesAndPictures()Dim PicPath As StringDim PicName As StringDim PicFullPath As StringDim RowNum As IntegerDim Name As StringDim Comment As CommentDim folder As FileDialog 定义文件选择对话框 清…

tomcat启动失败和缓存清理办法

tomcat只在学校接触过并且是在window xp和win7的电脑上配置过(中途升级过电脑系统),只记得在windows系统上可以将其设置成服务管理。但我已毕业10多年了,学的知识早就不知道丢哪里了。这次为了修改一个07,08年的项目&a…

ReactPress:深入解析技术方案设计与源码

ReactPress Github项目地址:https://github.com/fecommunity/reactpress 欢迎提出宝贵的建议,欢迎一起共建,感谢Star。 ReactPress是一个基于React框架开发的开源发布平台,它不仅仅是一个简单的博客系统,更是一个功能全…

A20红色革命文物征集管理系统

🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…

先锋精科委身芯片“圈子” 引致交易不公允和信披不透明

不要违背圈子的规则,但也不要盲从圈子的规则。 ——语出马云。 引 言 “圈子”是钥匙,也是一把锁。 走进“圈子”,将获得包括资金、订单、货源、技术等企业发展所需的资源,能够助推一家企业乃至整个行业的跨越式发展&#…

MinerU容器构建教程

一、介绍 MinerU作为一款智能数据提取工具,其核心功能之一是处理PDF文档和网页内容,将其中的文本、图像、表格、公式等信息提取出来,并转换为易于阅读和编辑的格式(如Markdown)。在这个过程中,MinerU需要利…

【论文复现】基于深度学习的手势识别算法

本文所涉及所有资源均在这里可获取。 📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步,喜爱音乐、摄影的一位博主。 📗本文收录于论文复现系列,大家有兴趣的可以看一看…

使用QtWebEngine的Mac应用如何发布App Store

前言 因为QtWebEngine时第三方包,苹果并不直接支持进行App Store上签名和发布,所以构建和发布一个基于使用QtWebEngine的应用程序并不容易,这里我们对Qt 5.8稍微做一些修改,以便让我们的基于QtWeb引擎的应用程序并让签名能够得到苹果的许可。 QtWebEngine提供了C++和Qml的…

智能新纪元:人工智能技术的社会影响与伦理挑战-亿发

在数字化时代,人工智能(AI)正以其不可阻挡之势,深刻改变着我们的生产、生活和学习方式。它不仅是一项技术革命,更是推动社会进步的重要力量。本文将探讨人工智能如何重塑未来,以及它所带来的深远影响。 AI…