作者:劳烦叫我小小泽 链接:https://zhuanlan.zhihu.com/p/492636260 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

今年就要毕业了,这是作者最后的参加校招春招了也已经结束,拿到了自己满意的offer。下面是我2022年春招的总结,希望能给后来者有所帮助,共勉。下面所面的公司基本上都是深圳大部分公司和广州的一小部分公司,因为家在深圳,所以只想在深圳长留,然后公司相关的信息就不提供了。

首先,给大家一个建议:秋招很重要!秋招很重要!秋招很重要!秋招的招聘人数会多于春招,难度也是低于春招,建议是直接参与秋招,如果没有想要的Offer再考虑参加春招。

一:

面试官很看重项目经验和Unity的掌握程度,但是可以看得出来最看重的是实习部分的经历,并没有提问基础问题,针对实习项目对于图集打包很喜欢提问,对于项目作品喜欢提问功能上的实现。

1、什么是图集?图集的作用?

2、DrawCall是什么?DrawCall过高会有什么影响?

3、老版的Sprite Packer和新版的Sprite Altas的区别(这里是因为我是使用过了这两个东西,简历里面有提及的)

4、聊了下项目中UI框架的实现思路(也是简历有提及的)

5、Lua如何实现面向对象的三大特性

6、实习经历

7、项目经历

二:

经历了三轮,一轮笔试,一轮主程面,一轮技术总监面,三轮都在一个下午进行。

笔试:题目感觉还行,没有特别难,主要是分为Unity基础(UGUI的注意事项)、语法基础(委托和事件的区别和用法)、数据结构基础(数组、链表、字典的区别和优弱)、熟悉哪些设计模式、对面向对象的特点(封装、继承、多态的看法)和常见的优化手段。

主程面:前端主要问了资源管理模块,特别是对AssetBundle的原理,问到的很细,如何从Bundle加载一份资源到Game里面,需要经过几次或者几个内存区,如何管理AB包,如何安全卸载AB包或者Asset如何解决依赖等,然后又根据回答的内容继续抛出细节的提问,一直细挖到不会为止(感觉上是想看看你理解的深度在哪,自己是不是实际开发中使用了,有没有合理的规划和设计资源管理模块)。然后就是对于渲染方面的,因为我比较弱,就问了一下渲染流水线。最后是在C#和数据结构还有Lua上面问到的多一些,语言方面问到的比较少,如C#、Lua就是考了一下基础语法,数据结构上喜欢问常见的数据结构的底层原理,例如:List的底层原理、Dictionary的底层原理。

技术总监面:感觉可能是对于我做过联网项目很感兴趣,在客户端(前端部分)问到的很少,基本都是在讨论我们项目中的后端怎么处理,然后前端如何去展示(例如聊天模块,如果我想拓展一下,加入系统/组队/公会/好友/或者别的频道,服务端怎么做、传输协议要写什么,内容用什么数据结构合适,然后等等一直聊)。再接着讨论了一下渲染的东西(最大的弱项)。讨论了计算机组成原理、操作系统的一些简单且常见的校招问题,然后又问了一次数据结构List和Dictionary的底层机制,接着是HashMap的底层机制,哈希表问的很深很细特别是对于Dictionary和哈希表之间的区别。讨论到了.net framework对于这两种数据结构的源码实现是怎么做的。

三:

两个面试官一起面:体验感很差,全程感觉面试官很严肃而且不说话,光我一个人在说,也没有给予我很好的互动感和体验感,中间还问了我英语好吗以及一些感觉很说不清道不明的不爽的问题,以后是不会再投了再考虑了,但是HR很好,十分感谢她,办事效率很高,刚刚联系完就开始准备会议面试了。 面试内容主要是针对了两个联网项目进行的提问: 1、HUB血条的优化有实现过吗?

2、使用过哪些性能分析工具?性能主要是在考虑哪方面的因素影响?

3、装修拆箱?事件委托?

4、计算机网络部分

5、UI使用动静分离的原因,为什么这样子做可以防止重刷,重刷是什么机制造成等?

6、UGUI的优化?实现过最复杂的UI面板是什么?简述一下自己项目中实现的UI框架?

7、多线程使用?死锁的机制?

8、数据结构的底层原理?(例如:C#的List它的本质就不是链表,是一个数组,每个数组是一个节点,节点里面有一个Data和一个指向下一个节点的指针。接着又问那么节点类型是什么,是Struct还是Class等等?)

后面的几个就是针对项目经历里面的两个联机游戏发起提问了,某某功能模块是怎么实现的,我是共享的屏幕,所以,基本上就是演示+代码解析+思路的讲解。

四:

主要是两面,第一面是项目主程,第二面是技术总监

一面:

1、XLua如何与C#进行交互?

2、Lua如何与C#进行交互?

3、C#的异步和Unity的协程?

4、常用哪些数据结构?它们一般使用在哪些场景?(例如,stack我自己一般在实现消息弹窗上、queue用于处理消息队列等)

5、问了Lua基础语法,XLua使用情况与熟悉程度?(因为我实习项目使用的是Xlua代码热更方案,面试官所在的项目组使用的代码热更方案也是XLua,所以问了下之前所做的活动啥的,问了Xlua有没有遇过什么坑、或者有遇到过什么困难)

6、生命周期函数?

7、垃圾回收机制?

8、项目经历

二面:

1、Dictionary 底层原理?

2、TCP和UDP的原理?

3、TCP和UDP的区别?

4、TCP和UDP的优缺点?

5、骨骼动画的原理?

6、渲染管线?

7、快速排序算法的原理?

8、Coroutine的原理?

9、Coroutine在哪些场景会被用到?

10、排序算法有哪几种?说一下它们的时间复杂度、简述一下每种排序算法的核心思想?

11、项目经历

五:

1、广度优先和深度优先算法?

2、面试过程思想和面向对象思想,讲一下自己的看法?

3、浅拷贝和深拷贝,使用代码实现某个实例类它的浅拷贝和深拷贝?

4、C#基础?

5、OOP的三大特性?

6、DC的优化手段?

7、const和reonly?

8、点乘和叉乘的原理以及公式?

9、屏幕有两个点连成的一条线,如果想要在Unity里面把它进行一次旋转,怎么做?

11、用过哪些设计模式?

11、一道简单的算法题?

12、项目经历

六:

线上笔试(十五道题目)+面试一条龙

1、2-3道算法题(好像是三道)

2、StringBuilder和String

3、点乘和叉乘的公式

4、下面代码有什么问题?

List list = new List(new int[] { 1, 2, 3, 4, 5 }); foreach (var item in list) { Console.WriteLine(item * item); list.Remove(item); }

5、垃圾回收机制

6、Lua基础

7、C#基础

8、给定一个功能的需求,讲一下实现的思路(2-3道)

其他的题目就记不起来了。。。。。

七:

一共也是两面,感谢HR小姐姐,上午电话刚刚联系完,下午就面试了,办事效率很高。

一面:

1、项目经历、主要问了项目中一些模块和管理器的实现

2、数据结构基本上除了数、图,其他的都问了,然后特别是对常用的List和Dictionary问的比较深入。

3、线程和进程?

4、OSI七层模型?

5、值类型和引用类型?

6、Struct和Class的区别,分别存放在哪个内存区?

7、对象池,问了重复依赖和循环依赖的话怎么处理?

二面(二面面的时间很长,具体多久我都有点忘记了,但是肯定一小时以上了,面试官人很好,跟聊天一样聊技术):

感觉主要可以分为四个模块:

第一个模块:Unity熟悉程度

主要考察: 1.Animation\Animator 2.协程原理 3.优化工具(我主要就用四个:Profiler、UPR、OverdrawMonitor、ProjectAuditor它们的使用还有主要用于分析什么,每个有什么区别讲了一遍,感觉这部分给我加了很大的分) 4.TileMap、Tile Extra、Tile、Brash等 5.2D游戏里面有四种方法让一个Sprite显示在另一个Sprite前面,然后让我回答哪四种方法。 6.Unity垃圾回收机制

第二个模块:优化手段 1.DC是什么?它的优化? 2.合批的原理,合批有哪些,区别是什么? 3.LOD是什么,优缺点是什么? 4.MipMap是什么,优缺点是什么? 5.OverDraw是什么,过高会有什么影响,怎么优化OverDraw? 6.频繁触发GC会造成什么情况?如何避免频繁的GC?(其实就是问减少GC Alloc分配或者手动管理GC,) 7.Animator的性能缺陷? 8.对一个物体进行显示/隐藏有哪几种方式?说说它们的优缺点?

第三个模块:基础原理 1.Unity的协程和C#的异步 2.C#的多线程 3.状态机的实现思路 4.渲染流水线 5.String源码里面的StringCache的作用 6.String和StringBuilder

第四个模块:联网功能实现与优化 服务端这边其实我是小白,我的主要方向还是客户端方面的,所以面试官在这方面并没有给我设题考问我,而是让我说说遇到的坑和难点,目前存在的问题然后讲讲有没有思路,再然后就是自己用到了什么技术等等,估计是想看看联网项目是不是自己做的吧。最后,很感谢面试官,让我觉得很亲和,没有在我弱点这里刻意为难我刁难我,反而这样子的聊天方式让我感到很舒适。(因为笔者之前,真的被人搞了心态,说了服务端是小白,一直问我弱处,处于阴影中了属于是)。

=============下面就是面试的问题不做归类了,主要是忘记了哪些是哪家的==================

会用哪些设计模式?你是怎么判断当前需求需要用哪些设计模式?

简单讲下网络通信流程?

项目中UI的自适应是怎么做的?

ProtoBuf的基本原理是什么?

Lua中的metatable和table?

table的内存?

lua和C#如何进行交互?

项目中断线重连是如何实现的?

讲下C#跟Lua的异同,Lua里面如何实现OOP的概念?

xlua源码是否看过?大概讲下xlua的启动流程?

请描述游戏动画有哪几种,以及其原理?

UGUI的理解,简单聊聊你对Image和RawImage的理解?

UGUI的重绘顺序是怎样的?

.Net与Mono的关系?

UGUI如何实现裁剪的(Mash和RectMash2D)?

Unity3D的协程和C#线程之间的区别是什么?

对UI进行SetActive这个操作为什么要避免频繁进行,具体做了些什么内容,有什么方法可以代替它?

UI上显示3D模型的方法有哪些,举例聊聊?

讲下你对Tilemap的理解?有什么优缺点?

Unity生命周期?

简单讲下光照烘焙哪些参数会影响烘焙速度?如何解决问题?

射线检测碰撞物的原理是?

简单讲讲你对骨骼动画的理解?

一个物体是如何显示到Scene或者Game屏幕上的?

什么是序列化?

什么是图集?图集为什么可以优化DC?

做个自我总结吧:

em..................害,整个过程有喜有悲,认识到了自己的短板与不足,后续努力学习填补自己的缺陷。给后来者一些建议就是不要小瞧基础,好的地基才能支撑你写出稳定的代码,不要只是停留在编程语言上的学习,要多多深入的了解,可以买一本叫《CLR via C#》通读一遍,可能里面的部分知识点你会记不住或者一辈子都用不上,但是建议你为了面试也应该好好看看。另外如果没有通过自己心仪的公司也不要灰心,面试真的是有一定运气成分存在,也是看眼缘的,希望你们都能努力付出之后能得到回报,收获自己心仪公司的Offer。

最后感谢两位前辈:LeeCarry 、放牛的星星

第一位:LeeCarry (B站、知乎同名),附上两年前的一次对话,那时候的我还在刚刚起步阶段,学习如何使用Unity,与他的这次对话一直没有删,十分感谢LeeCarry的指点,让那时候很迷茫的我有了清晰的方向,希望也能对你们也有所帮助。LeeCarry - 知乎 (zhihu.com)

第二位:放牛的星星(知乎同名),很厉害的大佬,我后来有写文章与博客的念头也是来自这位大佬的教程分享。大佬的Unity入坟系列真的是太干货满满了,太多干货了,算是硬核的入门教程系列(我到现在也还没看完这个系列),而且还自发的创建了学习群,大家里面讨论技术。此外自己还亲自组织活动,例如群友面试,技术分享会,读书会等等活动,一直都在Unity社区里面做出贡献,我也算是幸运者,遇到了大佬,一直无偿的给我解答我的问题,也十分感谢你的教程。

放牛的星星 - 知乎 (zhihu.com)

Unity基础教程系列(新)——Unity引擎入门和C#编程入门 - 知乎 (zhihu.com)

想进微信群的话私信我一下就行。

转载自:

2022年Unity客户端春招面试题总结 - 劳烦叫我小小泽的文章 - 知乎

2021年春招总结 from:劳烦叫我小小泽相关推荐

  1. 中国银行软件中心(北京)2021年春招和实习招聘-信息科技岗流程分享

    中国银行软件中心(北京)2021年春招和实习招聘-信息科技岗流程分享 我的流程 投递简历 收到笔试邮件 在线测评及材料准备 参加面试 总结 我的流程 今天参加完2021中行软件中心(北京)信息科技岗面 ...

  2. 不得不知的 “2021 阿里巴巴春招(实习生)” 那些事儿

    背景 一年一度的春招又来了,每年不管对于学生还是对于公司来讲,都是一场"大战": 学生忙着从各大公司找招聘信息进行简历投递,笔试面试: 公司忙着从各大高校抢简历,笔试面试. 大家都 ...

  3. 2021年春招小tip分享,java后端面试总结+心得分享+面经!

    个人情况介绍 楼主北京某理工类大学本硕,家在包邮区3+1的1,实验室摸鱼菜鸡,从大四开始一路使用Java语言到现在 2020年时间表 1-2月:放寒假回家快乐地玩耍 3月:发现实验室的小伙伴都在准备实 ...

  4. 2021 年春招和往年相比会有什么不同,应该如何准备?

    从当前看到的情况是,已经开始春招了.往年都是奔波宣讲会,但是今年应该还是会收敛很多,主要以现场面试,电话面试,线上投递,发放offer. 但是,核心内容是不变动的.这也是我一直在文章中提到的,校招该准 ...

  5. Java后端Java面试题总结2021(春招+秋招+社招)

    Java常见2021年最新面试题,附答案解析 01. 创建socket通讯的步骤? 02. Java 中 sleep 方法和 wait 方法的区别? 03. 程序计数器(线程私有) 04. 什么是线程 ...

  6. 广西卫生职业技术学院计算机考试,广西卫生职业技术学院单招2021年春招分数线...

    1.广西卫生职业技术学院 1.院单独招生工作遵循公正.公平.公开,以及程序规范.自我约束.社会监督的原则,严格实施高校招生"阳光工程" 2.学院单独招生工作实行"招考分离 ...

  7. 重庆2021级春招高考成绩查询,2021重庆高考成绩查询入口

    2021重庆高考成绩查询通道 重庆市普通高等学校招生考试评卷工作在市教委统一领导下,成立重庆市全国普通高等学校招生考试评卷工作领导小组,负责我市2021年普通高等学校招生考试评卷工作的管理和指导.评卷 ...

  8. 2021 年春招面试攻略来了。。。

    大家好,其实我一直不知道我在大家心目中的定位是什么,但我内心其实是把自己定义为一个『工具人』的. 可能是因为我自己本身就是程序员,所以更能理解程序员的不易吧. 所以,我尽量不写水文,只分享干货. 就是 ...

  9. 潍坊经贸每年单招计算机的成绩,山东经贸职业学院单招2021年春招分数线

    1.山东经贸职业学院 1.在校期间参加由教育部主办或联办的全国职业院校技能技能大赛获得一.二.三等奖和由省级教育行政部门主办或联办的全省职业院校技能大赛获得一等奖者的 2.具有高级工或技师资格(或相当 ...

最新文章

  1. 081_html5地理定位
  2. java获取环境路径方法_JAVA获取服务器路径的方法
  3. CCommandLineInfo详解-启动不创建新文档【对单文档有问题?】
  4. Django横向二级导航栏(鼠标悬空事件)
  5. 二阶龙格库塔公式推导_带你走进最美数学公式
  6. GitLab CI 中激活Anaconda环境
  7. css盒模型只能应用于html,iframe,css样式表,盒模型的使用方法-2019年9月3日
  8. 深度学习的未来在单片机身上?
  9. pip安装mysql驱动_windows环境下Python安装mysql驱动遇到“坎”
  10. 负反馈放大电路实验报告
  11. lib、dll文件默认打开方式改变之后进行恢复
  12. [编程题]雀魂启动! C++
  13. u)dym)l$_@3*0y3u_pvy@34ky1co1j$lfd1wp-w*8x%30@f7t$
  14. Win8系统mscomctl.ocx缺失的解决方法 run-time error 339
  15. Elasticsearch rest-high-level-client 基本操作
  16. gallery3d的源码分析——入口
  17. 重学JavaSE 第12章 : 枚举和注解、注解的实战使用
  18. 启动Mac电脑为什么出现黑屏?
  19. 451+Sony索尼Slog2和Slog3灰片视频电影级调色LUT预设 Slog2 Slog3调色LUTs预设
  20. 1-1 统计数字问题

热门文章

  1. 医疗项目 开源_开源医疗IT的未来
  2. adb按键精灵_自动点击器adb版最新版下载|自动点击器adb版安卓版下载 v1.0.5 - 跑跑车安卓网...
  3. [转载]教你在家轻松做麻酱烧饼——这烧饼酥的掉渣,越嚼还越香呀_万金油_新浪博客...
  4. 数据库(外键及其约束理解)
  5. CAS到底是怎么回事
  6. Cannot open compressed file when install R packages(安装R语言是提示不能解压)
  7. 神经网络在科研中的应用,神经网络理论与应用
  8. JavaEE之Servlet/Jsp初识
  9. php bearer token,php-使用CURL设置Bearer令牌的正确方法
  10. python中find函数是什么意思_find函数什么意思