正在求职中&近期准备开始求职的小伙伴们看过来~贴心的我,这次又给大家准备了【面试题大礼包】!!

Unity游戏开发工程师的面试过程中,我们总能接触到许多眼熟的面试题目,这部分的分数如果不小心丢了,那才是最可惜的!大厂的大门只会早早就在你眼前关上... ...

网上各路面试题随便一搜一大堆,里面难免会有一些重复率高、不够精准的、“岁数太老”的题目!考虑到能方便大家随时查漏补缺,本文一共为大家整理出了20道面试题,涵盖面试真题 & C#基础题 & Lua面试题~ 建议同学们速速收藏!

一、Unity面试集锦

unity面试真题

1.MonoBehaviour的脚本生命周期介绍

答:

Awake:对象首次实例化后,仅会被调用一次

OnEnable: 对象每次被激活后调用

Start:仅会在第一次启用实例后的,第一帧更新前调用

FixedUpdate(物理Physics):固定更新频率,执行物理计算和更新。

Update:每帧调用,执行业务逻辑。

Update 函数返回后将执行协程更新。

协程的不同用法:

Yield null 下一帧继续执行当前协程

yield WaitForSeconds 在指定的时间(秒)后继续执行当前协程

yield WaitForFixedUpdate 等待下一次Fixed Update更新后继续当前协程

yield WWW 在 WWW 下载完成后继续当前协程

yield StartCoroutine(MyFunc) 将协程链接起来,并会等待 MyFunc 协程完成后,再执行当前协程。

LateUpdate:每一帧在Update调用完毕后,调用LateUpdate。LateUpdate常用用途是跟随第三人称摄像机,保证角色在Update中的移动和旋转,在LateUpdate中执行所有摄像机的移动和旋转计算。

OnDisable:对象每次被设置为非激活状态时,调用此函数。

OnDestroy:对象存在的最后一帧完成所有帧更新之后,调用此函数

OnApplicationQuit:当应用程序退出时,调用此函数。

2.纹理加载进内存以后占用内存如何计算?

答:

纹理Texture加载进内存后,大小计算公式如下:

纹理内存大小(字节) = 纹理宽度 x 纹理高度 x 像素字节

像素字节 = 像素通道数(R/G/B/A) x 通道大小(1字节/半字节)

举例:比如一个1024 * 1204的RGBA 32bit的纹理占用多大内存?

占用总位数 :allbits = 1024 * 1024 * (4*8bit)

占用总字节数:allbytes = allbits / 8bit

注:1个byte = 8bit

3.装箱和拆箱的区别

答:

装箱:值类型转换成引用类型

装箱操作:托管堆分配内存,值类型拷贝数据,object地址指向托管堆对象。

拆箱;引用类型转换成值类型

拆箱操作:根据object引用地址找到托管堆上的数据,栈上数据拷贝。

避免装箱操作,可以采用重载或泛型来解决。

4.public、private、protected、internal、sealed的区别

答:

public全局、private类内部、protected派生类、internal本程序集
sealed声明类就不能继承,声明方法就是不能被重写

5.请描述interface和抽象类之间的不同

答:

接口是一种行为,抽象类是一种不能实例化的对象。

接口interface可以声明方法

抽象类abstract可以定义字段、静态字段和方法、抽象方法、属性、构造函数

接口可以继承多个接口,抽象类只能继承一个类

继承接口的类,必须实现所有接口;抽象类需要重写override抽象方法

接口和抽象都不能被实例化

抽象类可以派生自另一个抽象类,接口可以多重继承,抽象类只能单一继承。

6.Unity3d提供了几种光源? 分别是什么?

答:

共4种,DirectionalLight、PointLight、SpotLight、AreaLight

7..Net和Mono的关系?

答:

.Net只能运行在windows平台,而Mono的出现就是为了解决.Net无法跨平台的问题。Mono为.Net提供集成开发环境,集成并实现了.NET的编译器和基础类库,使得.Net既可以运行在windows也可以运行于 linux,Unix,Mac OS 等。

8.C#函数Func(string a,string b)用Lambda表达式怎么写?

答:

‍Lambda表达式(任意参数)=> { 表达式} ;=> 读作goesto(a,b)=> { } ;

9.在类的函数构造前加上static会报什么错?为什么?

答:

静态构造函数不允许添加访问修饰符,且必须无参数。

原因:无论创建多少类型的对象,静态构造函数只执行一次。类实例化或者首静态成员调用之前,运行库会先调用静态构造函数,静态构造函数优先级高于任何其它构造函数,也无法使用this和base来调用静态构造函数。一个类只能有一个静态函数,如果有静态变量,系统也会自动生成静态函数。

二、C#基础题

1.介绍一下C#的string和String Builder

答:

string是不可变值,当通过string进行拼接时,将导致生成新的堆内存,从而产生GC;

而StringBuilder,内部维护了一个动态数组,只要不超过该数组大小,可复用。注:降GC的前提是,给定一个合理的容量大小,避免频繁resize。

2.C#中常规容器和泛性容器有什么区别?哪种效率更高?

答:

常规容器有拆箱和装箱操作,速度慢,消耗性能;泛型容器效率更高,因为没有拆装箱的操作。

3.有哪些常见的值类型

答:

数值类型(int/short/float/double等)、布尔、结构体、枚举

4.构造函数是否能被重写?

答:

构构造器Constructor不能被继承,因此不能重写,但可以被重载。

5.C#中委托和接口有什么区别?各用在什么场合?

答:

委托delegate:unity事件与委托密切相关,回调机制,减少对象之间数据交互。

接口interface:多人协作,完全抽象,类单继承。

委托是约束方法的集合,接口是约束类具备的功能集合,解决类单继承问题。

6.C#中unsafe关键字是用来做什么的?什么场合使用?

答:

unsafe 非托管代码,配合fixed一起使用 ,用在需要指针操作的场合。项目背包系统的任务装备栏使用到。

三、Lua面试题

1.简述Lua实现面向对象的原理?

答:

1. 表table就是一个对象,对象具有了标识self,状态等相关操作

2. 使用参数self表示方法的该接受者是对象本身,是面向对象的核心点,冒号操作符可以隐藏该self参数

3. 类(Class):每个对象都有一个原型,原型(lua类体系)可以组织多个对象间共享行为

4. setmetatable(A,{__index=B}) 把B设为A的原型

5. 继承(Inheritance):Lua中类也是对象,可以从其他类(对象)中获取方法和没有的字段

6. 继承特性:可以重新定义(修改实现)在基类继承的任意方法

2.Lua支持的数据类型

答:

nil 表示无效值

number 整数

table 表

string 字符

userdata 用户自定义

function 函数

bool 布尔

thread线程

3.print(string.find(“hello hello”," hel"))的结果?

答:

6 9

4.Lua中__index和__newindex有什么用?

答:

__index主要用于table的查询;

__newindex主要用于table的更新

5.Lua如何调用C#

答:

三种方式
第一种:官方不推荐
第二种:如果Resource文件下的Lua文件,使用Lua的Require函数即可
第三种:如果Lua文件是下载的,使用自定义Loader可满足

机会只会留给有准备的人,认真对待每一次面试,结束后花时间用心复盘,就算最后面试没有通过,我们也能从中学到不少东西~

其实,面试不仅仅是求职中非常重要的一环,更是能让我们的知识&技能&交流&...等多个方面都得到全面锻炼的机会!

当然~面试前,更要先好好看这篇文章,查漏补缺,才能更好的迎接各大游戏公司的面试挑战!

以上20道面试题

你都熟记了吗?!

想要了解【腾讯、网易、米哈游、莉莉丝】等更多游戏大厂面试题的同学~快快扫描下方二维码添加助教老师吧!!!

Unity客户端面试题集锦相关推荐

  1. 2022年Unity客户端面试题总结

    一.前提 在工作几年,经历过几次面试之后,都会发现不同的公司的面试套路都是大同小异的.但是很多知识点在工作当中并不会经常性的使用,所以在面试之前都需要"临时抱佛脚".我之前准备面试 ...

  2. 腾讯游戏unity客户端面试题

    1.ugui优化方法: 可以参考我另一篇文章: https://blog.csdn.net/qq_17347313/article/details/99640957 2.lua string原理: 参 ...

  3. Web前端面试题集锦

    Web前端面试题集锦 前端开发面试知识点大纲: 注意 转载须保留原文链接(http://www.cnblogs.com/wzhiq896/p/5927180.html )作者:wangwen896 H ...

  4. 前端面试题集锦——JavaScript

    前端面试题集锦--JavaScript 1.请你谈谈 Cookie 的优缺点 cookie是存储于访问者计算机中的变量 cookie是浏览器提供的一种机制 可以由JavaScript对其进行控制(设置 ...

  5. 2023年前端面试题集锦

    2023年前端面试题集锦 包括内容: 一. 计算机网络.HTML.浏览器相关 二. CSS相关 三. js相关 四.前端性能优化点 五.前端整体框架体系学习 一. Http.HTML.浏览器相关 1. ...

  6. 2021-2022 最新最全的前端面试题集锦(2022 持续更新中...敬请关注)

    写在最前 想起上一次的面试经历,不免细思极恐. 工作以来,感觉自己接触到的东西还是挺多的,但是当我面试的时候,就会发现各种问题,很多知识点都是模棱两可,答得不全面.究其原因,还是没有吃透这些内容.所以 ...

  7. 前端面试题集锦(一)之HTML部分

    前端的发展日新月异,前端开发也早已从原来的切图套页面,变成了现在的非常复杂的技术体系,近期由于找工作,面试了很多家单位,也总结了一部分前端面试中经常会遇到的面试类型,并一一解答. 主要分为HTML.C ...

  8. 前端面试题集锦——前端综合问题

    前端综合问题 前端页面有哪三层构成,分别是什么?作用是什么? 1)结构层(html)structural layer 由HTML或者XHTML之类的标记语言负责创建,即:标签: 2)表示层(css)p ...

  9. web前端面试题集锦三

    1.HTML语义化的理解? 答案:HTML语义化就是让页面的内容结构化,便于对浏览器.搜索引擎解析:在没有样式CSS的情况下也以一种文档格式显示,并且是容易阅读的:搜索引擎的爬虫依赖于标记来确定上下文 ...

最新文章

  1. android跳转应用市场搜索,Android 应用中跳转到应用市场评分
  2. java如何做到判断一个字符串是否是数字
  3. dicom多帧转换_Python解析多帧dicom数据详解
  4. 数据科学项目(二)之明确问题及确立目标
  5. [2-sat专练]poj 3683,hdu 1814,hdu 1824,hdu 3622,hdu 4115,hdu 4421
  6. 为什么计算机中0.2+0.1不等于0.3!?
  7. 昇腾万里 | 猫咪+AI,训练推理一秒get√
  8. Mysql存储引擎之TokuDB以及它的数据结构Fractal tree(分形树)
  9. [转]Linux下的动态连接库及其实现机制
  10. Reproxy:边缘服务器反向代理工具
  11. C语言实验报告(通用)
  12. outlook服务器邮件满了怎么办,outlook邮箱满了怎么清理
  13. Flutter中设ListView的shrinkWrap为ture导致的崩溃
  14. 解决双卡4G模式下不能接听和拨打电话问题
  15. PostGIS教程四:加载空间数据
  16. Nginx学习(1)—— 下载和安装
  17. R语言统计分析|批量单变量Cox回归分析
  18. 编译原理-16-语法分析概述
  19. 康佳android 9tv,安卓4.4抢先体验:康佳易TV最大规模系统升级
  20. 泉州师范学院计算机课程表,泉州师范学院课程表.doc

热门文章

  1. 大区的选择(数据之间的传递)以及用户名的输入
  2. 半导体材料 MOOC学习记录 第十章 III-V族化合物半导体
  3. 软件设计师 软考 真题练习 (一)
  4. Android 最新状态栏处理
  5. 使用JMeter进行并发量测试
  6. 双11趣味数据:448万人搜“女友喜欢什么”,而不到千人搜“男友喜欢什么”...
  7. jQuery仿探探APP手机滑动 卡片切换 特效
  8. ZYNQ小实验:1.利用AXI DMA loop 环路测试
  9. SQLServer数据库从入门到精通系列之二:认识LDF和LSN(Log Sequence Number) time mapping
  10. 华南农业大学Linux课程综合实验-超详细版(实现用Go、nodejs、python、php读取mysql数据)