创客说V01:零经验U3D学员面试访谈

前言
这是我们《创客说》的第一期,第一期的目标是给大家分享一些游戏面试、笔试包括游戏创作过程中的一些心得、一些经验,当然也可以是一些教训
我们这次邀请了一位最近已经通过面试并入职的同学——瑾同学,让他来给我们介绍一下他的面试情况
版权声明
本文为“优梦创客”原创文章,您可以自由转载,但必须加入完整的版权声明
更多学习资源请加QQ:1517069595或WX:alice17173获取(企业级性能优化/热更新/Shader特效/服务器/商业项目实战/每周直播/一对一指导)
点赞、关注、分享可免费获得配套学习资源
机构介绍

优梦创客:我们的目标是帮助各位同学创作一款大家爱玩的游戏
我是今天课程的主讲老师雷蒙德。在行业内有14年的从业经验,做过程序员,技术经理,教学经理,目前的是我们优梦创客的创始人
下面是我曾经参与制作过的一些成功的项目作品,包括有《传奇世界》,《神迹I/II》,《疯狂赛车》,《Infinity3D引擎》,《剑网三》等
提示:以下内容中:标注“瑾同学”代表学生发言,标注“雷蒙德老师”代表老师发言
面试情况

瑾同学:
老师好,大家好,很高兴今天能在这里和大家做面试分享
今天主要是分享一下自己面试的经验,当然我不敢说教大家怎么去做,主要还是分享一下自己的经历,如果有说得不对或者是说得不好的地方,请大家多多包涵
在投简历时,我投了十几家公司,全部都是线上面试。当然这也是和我的个人选择有关,我不太能接受现场面试,因为现场面试要大老远跑一趟,花在路程上的时间也非常多
所以一定要去现场面试的我都没有去,当然远程面试也是有好处的
如果是电话面,你就可以直接准备好自己的简历、还有一些面试时的关键点、没记全的资料,可以边面试边看,我就是这样子的
视频面试也比现场面试轻松不少,没有那么紧张,不过面试面得多了,自然也就不紧张了
目前我拿到的书面offer有六家
都是我个人认为不错的公司。也有一些普通offer,不过都算是一些比较小的公司
有一些公司的面试流程特别短,只是跟你聊个十来分钟,也没有问其他的面试题,只是确认了一下你的能力,就直接开始问入职、聊工资了
这样的公司,我都没有考虑,因为公司规模也不算大,我自己也有自己的想法
目前我投的基本都过了,然后只有一家没有过,当时面试的情况是这样的:
当时有三个面试官轮流来面试我,先是后端的主程,然后是前端的主程,最后是老板
问的问题难度、深度都很高。面试时也给了我一些挺不错的意见,如果想挑战一下自己的能力,可以尝试一下
这家公司里面的人员背景的都是比较牛的,很多都是从腾讯,网易这样的大厂出来的,平均工作年龄有六到五年
前期准备

瑾同学:
我在面试之前做一系列的复习,包括以下四点:
熟悉项目
准备阶段最重要的一点就是熟悉自己的项目,对自己的项目熟悉程度,一定要熟悉到每个细节,因为面试官很大程度上会提问与项目相关的问题
基础
这里的基础我指的是C#基础,我个人认为,C#基础的是比较重要的,尤其是一些底层的问题。面试官很喜欢问这部分,如果你懂底层的话,是可以加分的
比如上一次面试就问到静态变量和单例的区别,我个人认为不是只有使用上的区别或者是框架层面上的使用区别
如果能够详细地说清楚这些内容,我想面试官也会高看一眼,说明我们不是一个只会依赖现有组件的一个初学者,而是能够去钻研底层问题的
雷老师在他的课程中经常讲的一句话就是“勿于浮沙筑高台”。所以我觉得基础也是非常重要的,看基础和底层原理也确实很无聊,但你还是一定要掌握
Unity相关组件的使用
一般面试官都问到这部分问题,也会结合实际应用场景来提问,其实主要考验的就是对组件的熟悉程度,以及如何去使用这些组件去解决实际问题
比如问到NPC如果使用了NavMesh寻路时,如何避免和其他NPC重合的问题,这个问题其实很简单,就是给每一个NPC添加一个NavMesh组件
算法
除了Unity组件这一部分,我也去看了算法相关的一些知识点,主要还是游戏相关算法。比如选中算法,数组相关的问题,因为游戏当中用到的很多数据都是用数组或者是列表来存储
目前来看,面试中考查到的算法部分都不算很难。但我还是建议去熟悉掌握
预约模拟面试
如果有时间的话,可以预约一下老师的模拟面试,做一个提前演练,同时老师也能够提出很多具有建设性的问题
公司背调
我给所有我发过简历的公司都做了简单的背调
包括公司人数、它的规模、正在做的产品等等信息,然后根据自己喜好,还有对他们公司的满意度,做了简单的评级
当然这些统计里是有强烈的个人主观因素在里面的,因为对我个人来说,我不太想出省,所以我找的公司都是省内的公司,集中在珠海、深圳、广州这三个城市,所以就仅仅作为参考。具体情况还是根据大家的实际情况来分析
小公司练手
在我给自己感兴趣的公司投简历之前,我是给一些相对来说较小的公司投了一下,不一定会去,主要还是练练手,熟悉一下面试流程,积累一下面试题目
因为各大公司的面试题目都是有一些重复的地方或相似的地方,遇到有不会的面试题目还可以结束之后找资料学习
————————————————————
雷蒙德老师:
瑾同学的几个特点我觉得的比较好
第一个,我们的直播课,瑾同学是经常是来的
在直播课里,我们经常会讲一些企业里使用的干货,也是我们笔试面试时的一些要点
同学们来到我们的直播课,不管你是提问还是听课,都可以学到跟笔试面试相关的知识。我们的直播课,建议大家听完了以后花一些时间来进行消化
比如说你听直播课的时候,你不可能100%听懂,中间可能会有20%的内容没有真正地理解它,这个时候你就需要在课后花时间去理解它
第二点,瑾同学学习皇室战争项目,他不是仅仅照着我们课程里皇室战争的代码敲
瑾同学把皇室战争改造成了他自己的项目主题,在其中增加了一些自己的游戏兵种和自己的玩法,发现了项目中可能出现BUG(漏洞),大家也知道:“看视频和把视频中的内容自己动手做一遍,是完全不一样的”
瑾同学当时因为数学库里的四元数旋转问题,自己在网上找了两三种解决方案,其实每找一个解决方案,都离你得到更好的面试结果又近了一步
比如说面试官如果问你在项目里怎么处理定点数的问题、遇到了哪些问题、你是怎么解决的,这个时候你就有东西可以跟面试官去交流
面试流程

瑾同学:
一般来说面试流程是分为笔试、面试
面试部分
面试部分也分为技术面和HR面,它的流程都是先自我介绍,然后提问题这么一个流程
笔试部分
笔试我觉得不会太难,有些是直接给你一个题目让你把效果做出来
有些是给你一段时间,比如说三天时间,让你做一个demo出来
比较考验基础的会做一些计算,还有数学结构,算法相关的一些题目
当然也有考游戏相关常识的题目,比如说有问MP是什么,HP是什么等等
自我介绍
自我介绍其实不用太花哨,一般来说是简单介绍一下自己就可以,也可以说一下自己的特质:
比如说:特别喜欢玩游戏,喜欢挖掘游戏的世界观
自己为什么走向游戏开发这条路
也可以简单地介绍一下自己的项目和工作经历,一般我是按照时间的顺序从旧到新来进行介绍,也可以用一些衔接的一个语句,适当地衔接一下
当然这部分也可以直接找老师去做模拟面试,因为老师能给你很全面的建议,当时我也是做完模拟面试之后,再去修改自己的简历,然后思考怎么去做自我介绍,或者是怎么介绍自己的项目
————————————————————
雷蒙德老师:
我帮同学们做了模拟面试以后会给你们提很多的意见,在你们在模拟面试之前,请你们准备好一个笔记把这些问题记下来
我在面试时,会在简历的格式,简历的内容,具体的技术点上深挖,看看大家能回答到什么程度,提完建议以后你一定要自己去整理总结
如果你没有用心地去整理,那模拟面试的作用将会大打折扣,这也是希望大家一定要注意的一点
面试技巧

瑾同学:
聚焦优势
如果想让面试官聚焦我们的某一段工作经历或者某一个项目的话,可以在做介绍的时候说:
某某某项目是我做过的相对来说较有深度的项目,或者在某某公司的工作经历让我的提升非常大,学到了很多技术等等
虽然面试是由面试官来做主导的,但其实我们也可以通过给予一定的方向引导,把面试官引导向我们自己熟悉的项目或者工作经历当中,对我们来说,那些没有那么熟悉的项目和经历就可以得到一定程度的躲避
当然面试官还是会根据你所有的项目来问提问的,但一定会对我们提到的更熟悉的项目或者是学得更多的工作经历问得更深更细,如果你这些都能答上来的话,也是非常加分的
随机应变的技巧
当遇到面试官问我们不会的一些题目时,不要一开始就回答不会或者是不知道,这样是容易掉分的
可以让面试官先给我们一点时间来思考一下,说不定想着想着就想到了,当然也可能会出现头脑空白,无法思考的情况
所以还是要多面试,去加强自己的面试能力,多面试几次之后有了经验也就能随机应变
获得答题加分的技巧
如果题目是你会的并且有机会多讲的话,尽量多讲,因为多讲的话必然会加分,当然前提是你没有犯错,比如说:
面试官有问到我Class与Struct的区别,我们除了要给出使用上的区别和定义上的一些区别,还要更加深入
这里面涉及有引用类型和值类型的区别,这两种类型在堆栈上分配的问题,GC垃圾回收上的问题,都可以说一说,GC是如何进行垃圾回收的,如何避免GC
很多时候面试官都是愿意去听我们回答这些问题的,因为他也不可能问的问题很全面,如果我们能解答得清楚,讲得出来,一般比较耐心的面试官是能给到我们一些正反馈的,比如他对我们的微笑或者是他的点头,都能对我们的信心起到增强作用
不会的问题如何回答
对于自己真的不会的问题可以进行合理的猜测,一定要说出来,虽然自己没有去了解过,但也要去猜测一下,面试官也会给我们这样的机会,让我们说一下自己的见解
目前我没有遇到被面试官打断发言的情况。如果有这样的机会,还是要去尝试,因为如果答对了,加分。如果答错的话,那也只是我们本身也没有理解这个问题,本身不会的问题答错了,其实也没有减不减分这一说
有个面试官问了我一个问题:“ToLua和C#是如何进行进行绑定的”
这部分我没有看过相关的具体资料,但根据绑定这样的定义,我可以做个简单的猜测。所以我当时的回答是:
“虽然我没有看过这部分的源码和资料,但是我猜测ToLua的绑定过程是去读取被绑定类的信息,从它的源数据中读取,因为源数据保存了类中字段与方法的信息,如果是绑定某个方法的话,应该去找方法表中的方法,然后绑定他的指令,就像绑定C++的指针”
当我说完了这些之后,面试官也没有否认,甚至还点了点头,所以我觉得这也是可以合理使用的小技巧。
解题思维
对问题的解题思维,比如说按照时间顺序或者是步骤来进行结构化的思考。可以在自己的脑海中形成类似于思维导图的东西
比如说有面试官问了比较广泛的问题,他问怎么去做性能优化
当听到这个问题时,如果我没有做过性能优化的思考,或者没有看到这部分相关的资料,我就不知道从何入手,那么如何去思考性能优化,它包含这几个部分:
有Cpu、内存、Gpu还有显存这四个方面的优化,然后再进行细化
细化到批处理,从批处理再做细化,将静态批处理,分为线上静态批处理和线下静态批处理
除了Unity内部提供的优化技巧,还可以使用第三方的插件来进行优化,比如用Animation来做类似于场外观众的动画效果
当然了这些内容是包含在性能优化的公开课里面,这节课也为我的面试提供了不小的帮助
面试官也会要考察代码的健壮性:
要求写一个方法:“使用三个变量,这三个变量代表的是三角形的三个边长,然后去判断这三条边是否能够组成三角形”
我们按照解题思维来思考,先思考它的算法怎样实现:
形成三角形的判断条件就是两边之和必然大于第三条边,这是我要考虑的一个点
如果要传入三个参数,那么参数是什么类型,如果要传递整形的话,那可以分为无符号的整形,如果是参数是浮点数,就要考虑是否非正数,两数之和是否超出了类型可储存的最大范围
如果计算过程中数值的范围过大,我们可以自己封装一套进行大数运算的类型来进行运算
这些就是第五个要分享的面试技巧,我目前就总结了这么几点,如果大家有补充的话,可以发在评论区
刨根问底

瑾同学:
刨根问题的学习态度对我的帮助也是挺大的
我是那种比较喜欢刨根问底的人,对功能和技术的实现,不只是停留在使用层面就满足了,还要去理解他底层的原理是怎么实现的,具体是怎么做的
也是因为一些巧合,在我面试的时候,面试官恰好问到了相关的一些问题,被我回答上来了
帧同步如何做战斗校验
老师的帧同步项目,我们不要只跟着做完了就算了,还是可以去反思一下到底哪里还可以再改进
比如项目里面的战斗校验其实都是做在客户端里面的,没有在服务器端进行战斗校验,只是客户端运算出结果,然后发给服务器,这样会造成一个问题:
假设有用户使用了第三方的插件,或者第三方的外挂软件的话修改了我们的战斗结果,就会造成外挂作弊问题
那我们就是要去思考,应该怎么解决这个问题,当时我查找了许多相关资料,最后找到了一个没有多少人点赞的回答
在面试时刚好问了这么一个问题,当时我没有准备这一部分,但刚好我看过了,所以就答上来了
同样的,在我了解ILRunTime的热更工程打包问题的时,因为ILRunTime其实也是把热更工程打包成DLL来进行热更
一般来说,如果直接用DLL做热更的话,在IOS端是不可行的,那ILRunTime也是用DLL来做的话,它是如何实现热更的呢?
当时我也是对这方面有思考,用刨根问底的学习态度来面对问题
找了相关的资料,翻了论坛,最后找到了很详细的关于如何绕过IOS进行热更新的解决方案
最开始我看到关于IOS禁止热更的说法是因为JIT无法运行(详情可见《Unity热更新那些事》),或者说是禁止JIT这种说法其实是不准确的,实际上IOS它禁止JIT动态生成新的类型,所以我们直接用程序集去加载DLL的这种方式是不可行的
NavMesh如何实现自动寻路
NavMesh它的底层是怎么去实现寻路的,NavMesh的底层寻路算法我没有详细地看过,但是我刚好仔细听了老师的课程,就提到了一句话就是:“内部其实使用也是类似A*算法的寻路算法”
也就因为这一句话,在面试的时候被问到相关问题,我也能够回答出来
为什么Start方法不需要Override?
我曾经也有这么一个疑问,后来发到老师搭建的技术交流群里,问了群里的大佬,最后有人发了段源码,我也看完理解并记住了
在面试的时候也确实有问到过有没有看过Unity的底层源码,他指的是C++的源码,刚好我就看过MonoBehavior的Start方法
这样就有了吹嘘的资本,其实我了解的也并不是很多,但只要说出来,说出自己理解的一些特点,面试官至少能看出我们真的有在这方面下功夫
所以我也是多亏了自己这种刨根问题的习惯,帮助我解决了很多问题
————————————————————
雷蒙德老师:
其实我们直播课里面有讲过NavMesh的原理
帧同步的战斗校验,在我们课程中也是做到了把所有的数据都保存在服务器上,能做到回放,实际上就是为大家去做战斗校验做好了准备
其实我们在战斗校验还有另外一种方法,就是直接利用服务器存储的数据做校验,包括NavMesh的话,我们课程里也有相应的讲解,但是你不一定非要按照我的想法来学习,你也可以就是像瑾同学一样找资料,因为你自己找到的东西,印象会更加深刻
这也是为什么,我们会VIP课程里加入像Addressables的源码解析、ToLua和C#绑定的源码解析,为什么要加入这些源码解析的课程?
一方面,是让大家理解这些,然后能把它用到面试上,能够把它像瑾同学说的,能够把技术聊起来。
包括我们在皇室战争第三季里,也有讲到有lLRunTime的底层源码解析,所以大家一定要把这些看起来
大家在学习的时,不能我们教一个你就会一个,你要用课程里教你的方法、思想来实现你自己的项目,或者你关心的一些源码的实现,你自己去把它做起来
我们给你提供的仅仅是一个方法,你学会这个方法以后,你可以用在其他的系统分析上,我们更多的是希望大家能够通过课程的学习掌握这样思想方法
面试问题

瑾同学:
下面的这些是我在面试当中遇到的比较典型的问题
C#(数据)《CLR via C#》
这里我是非常推荐大家去看一本书,是《CLR via C#》,这本书里讲了很多C#相关的底层原理,它的底层实现
当然,这本书我也还没有读完,也希望能跟大家一起去学习
Unity组件,原理
Unity组件相关的问题不只是局限在组件的使用上,面试官可能会问它的原理是什么,底层实现是什么样的
针对项目(框架,技术)
面试官还会针对我们的项目去做一些提问,比如说我们用到了什么框架,然后做了什么技术
算法(八大排序,寻路算法)
算法相关的问题,提到比较多的有八大排序,还有寻路算法,寻路算法里又包含了几种实用算法,每一种寻路算法,都应该去熟练掌握它的思想,包括它是怎么实现的,比如弗罗伊德算法,A*算法等等
弗洛伊德算法:
维护两个二维数组,它具有动态规划的思想在里面,它的算法内部有三层循环,最外层循环的是中间点的选择,里面两层是起点和终点的选择
它会判断起点到终点的最短距离是否小于起点到中间点的距离,再加上中间点到终点距离的和去做判断,这是用了动态规划的思想,如果符合条件,就代表中间点必然在它的最短路径上面
最后去做最短路径的更新,同时也包括它的前置节点的更新
其他(最精通,最难,Bug)
除此之外,面试官还会问你最精通的是哪方面的技术、在项目当中或者工作当中遇到的最难点是什么,还有遇到过哪些比较大的Bug
————————————————————
雷蒙德老师:
这些面试问题我都会在面试前帮大家去做一对一的指导,去化解面试中的各种高频技术问题
像瑾同学遇到的这些面试问题,其实都是我们在面试前都已经提前帮他做好准备的
当然每位同学的强项和短板不同,大家在面试前一定要跟我预约面试模拟,从而发现这些薄弱点,做到心中有剑
技术面试分享

(加Alice老师领取面试资料,联系方式见文末)
瑾同学:
第六个问题有提到常用的算法有哪些?怎么实现的,用的什么思想,后面也有一些其他算法,比如弗洛伊德算法,A*算法,那么这些在上面已经详细的讲过了,这边就不在多说
帧同步里面要注意的点是什么?
这就需要我们对我们做过的帧同步项目做一个总结,我是做完帧同步项目之后,立刻就做了基本的总结,刚好面试时也有问到,我自己对帧同步也有比较深刻的印象,大部分都回答上来了
面试过程中最常问到的问题就是静态类与单例类区别
静态类的底层原理,静态类是如何被加载的
静态类先被加载进程序集,这是第一次加载,当我们在脚本第一次遇到或使用这个类时,它会再次加载它的元数据,我个人认为它是二次加载的过程
还有一种说法是在脚本中第一次遇到静态类时的加载,是静态类的第一次加载,我觉得不同的说法都有不同的根据,如果想了解这里面的知识我们可以自己去尝试,去理解
静态类的静态变量存储在云数据里面,当Unity出现有场景切换这种情况之后,静态类的字段是不会被重置的
但如果是在MonoBehaviour的Awake中实现的单例,可能会因为场景的切换而重置数据
接下来的问题与我个人的项目和工作经历有关的
当我们在云端收集到客户端分配的异常之后,要怎么去查看到它具体的异常收入信息
如果你要查看具体的错误信息的话,主要是看调用堆栈的详细过程
比如说在某一个脚本里调用了其他脚本中的某一个方法,这个方法的方法名等等信息都会保存在一个PDB文件里
PDB文件是随着计算打包生产出的调试文件,我们打包的时勾选DevelopmentBuild选项,Unity就会把PDB文件也打包进去,它里面保存的是程序集当中各个类的方法,名字等等。当程序出现错误的时,就可以看到具体的名称信息
我经常被问到的问题是:“List或者Dictionary的扩容机制”
实际上它们的扩容机制是相似的,当然也有被问到Dictionary内部是如何实现的扩容的,它内部的内存占用多了多少?这种事也是可以计算出来的
当时我去看了一下Dictionary的源码,它内部实现了哈希表,使用Dictionary的最大长度的最大质数来作为他计算哈希函数的一个变量来计算
计算时用到的哈希码,是调用了每个类都有的方法“GetHashCode”方法来计算它的索引位置
像List和Dictionary这种扩容,内部也是用数组来实现的,扩容的时候,除了本身扩容之前的数组占用内存之外,还包含了扩容之后新数组的内存占用,比如一开始长度为四的数组,扩容之后长度变成了八,八的长度其实是新数组的长度,这可能会造成一个问题:四加八等于十二的内存占用问题
所以当我们项目中使用数据特别多的话,这个时候用List就没有那么合适了,可能需要我们去封装一套属于我们自己的容器类,当达到扩容条件的时候,再去进行合适的扩容
不然在内存里面,如果一开始是500万,扩容之后内存占用会达到1500万这样的内存占用问题,而且它也是一个引用类型,需要我们进行GC,回收实际上也会占有一定的内存,带有一定的性能开销
当然还有更多面试问题,大家可以看我在老师的群里分享的面试题问答列表(联系方式见文末),也欢迎大家跟我讨论,有不对的也请大家批评指正
课程帮助

瑾同学:
这段时间是我自学Unity以来给我提升最大的时期
我个人在报名之前学了大概两年的Unity,很多时候网上找的一些资料它都不齐全,很多技术含量相对来说比较高,或者是比较难的一些点在网上都找不到,因为不是所有人都愿意分享自己的项目和技术
如果有一部完整课程,我们就可以通过课程来了解平时开发或学习中没有注意到的思维误区,来帮助我们更好地理解这些技术点
这里是课程给我的一些帮助,有技术含量高的项目,系统的学习路线,技术分享,源码分析,同时也提供了一个平台,可以在平台里结识到大佬,也可以交流技术和知识方面的问题,不像以前在大学里学习,室友都在那里聊天、吹嘘。有这么一个可以学习交流的平台我觉得还是挺好的
公司选择

瑾同学:
在公司的选择上最重要的三点是:
第一点、公司的规模,我们可以从公司的规模上面是看到公司的发展
第二点、看公司正在做的一些产品,比如他在做什么类型的游戏,用到了哪些技术等等
第三点,也是我特别在乎的问题:
公司里是否有类似于老师带的制度,因为对我来说,只是在群里进行学习,工作经验无法得到提升,我也是刚毕业没多久,所以我特别渴望有这么一种制度来给我提升的机会
这是我最看重的三个点,其他的还有环境,工作强度,限制等等。我想每个人的想法都不太一样,可能很多人对薪资或者是工作强度考虑会更多一些,这里就根据自己的个人意愿来做选择了
问答环节

Q:我记得瑾同学是在皇室战争第一季做完后就准备找工作了,当时是什么原因被我劝退了
A:
当时是刚看完了第一季,有一些不一样的想法,特别希望快点学完,因为那个时间段春招也快结束了,所以比较着急
现在来看的话,春招也不一定就决定了各大公司招人的不同时间点,现在来看的话,主要还是看个人能力,然后是项目,面试发挥等等因素
春招的机会确实会更多一点,比如说腾讯会在春招的时候进行校招,校招的门槛也没有那么高,而且招的都是应届生,对经验的要求也不多
当时我没有特意去找腾讯的岗位,因为我想腾讯的岗位发展和外面的差不多,至少我现在对我自己的工作岗位非常满意,还是老样子,主要还是看个人的选择问题
Q:那你现在HR的印象里,是算是应届生还是非应届生?
A:
在HR看来的话,我还是算应届生的,他也知道我没有工作经验,也没有要求我提供过去的工作,实习这样的证明,并且给我争取到了我自己提出的薪资
其实在校园里面与Unity相关的学习课程并没有多少,所以我和其他应届生相比,我项目的技术含量会高那么一点点
Q:那HR有没有要看你做的项目作品?
A:这倒没有,他主要还是针对项目问一些问题,他可能认为回答上来了,就认为我确实是有做过项目的
Q:就是说每一家都不需要看你的项目作品?
A :我以前面试的时候有两家面试的时候确实有要求提供项目工程或者项目录屏,然后我也有提供,这不算是什么太大的问题
Q:有没有公司是让你先做笔试题,然后再面试的?
A:
有的,当时是面试了一家深圳的公司,当然我现在不在那家公司里,其实他的面试题也是挺有意思的,让我去看了一个视频,这个视频是全英文的,它里面讲到的是如何去做一些关于游戏感的问题,看完之后再根据里面提到的一些点去做一个demo出来
我觉得这个还是挺有意思的,不过可惜的是demo做出来了,他也说做得不错,但可能面试的时候有些问题我没有答上来,那个时候知识积累的没有这么丰富,所以就直接挂掉了
还有最近珠海的一家公司,它也是有要求做面试题,他的面试题就相对来说简单一点,直接让我用UGUI做一个效果出来,这里主要是考验是否真的会Unity,或者有没有动手做过项目,我想很多面试官也想排除一些没有项目经验的选手
Q:这个肯定是非常初级的岗位,他都会质疑你基本的UGUI界面会不会达到标准
A:
当时我也和HR说:“您可以多问我一些比较底层的问题”,然后他就问了我关于性能优化的一些知识点,我也一一去说,像根据各个点去分析,Gpu上的,cpu上的,然后他当时招的也是一个初级岗位,所以对我的表现觉得超出他的预期
但是珠海这个地方的薪资不算特别高,给了我一个不太满意的结果,所以后面就没有联系了。一些只给了口头offer的小公司,我都没有考虑,因为我觉得有书面offer的公司会比较正式一点
写在最后
更多学习资源请加QQ:1517069595或WX:alice17173获取(企业级性能优化/热更新/Shader特效/服务器/商业项目实战/每周直播/一对一指导)
点赞、关注、分享可免费获得配套学习资源