2019校招Unity客户端开发面经
2019校招以来,从七月份开始,到刚刚,结束了本次秋招之旅。投递的公司不多,面的跟大佬们相比,可能上不了台面,本次分享也是为了记录自己秋招经历和给需要的人一个经验之谈。秋招一共拿到了三家公司的offer,分别是多益,三七互娱,盛大游戏。最终,选择了盛大游戏,因为,从面试的体验和HR关怀(待遇最高),觉得自己更适合这家公司一些。本人是一个水硕,软件工程专业,自学Unity一年左右吧,科研方向生物信息计算,也并不像其它硕士是图形学方向的有优势一些。下面说一说秋招的经历:
先说说,需要准备哪一些基础知识:
(1)剑指offer刷完(熟练)
(2)数据结构和算法(熟练)
(3)Unity比较完整的项目,最好能够向面试官直接展示(熟练,项目的实现的细枝末节都能讲清楚)
(4)C#/C++系列知识点(常问的都需要知道)
(5)了解网络编程(问的少)
(6)图形学基础 (加分)
(7)Shader (加分)
(8)Lua系列 (加分)
(9)Unity优化相关的 (加分)
(1)-(4)必须具备,其它可选,会的越多越好!
从笔试来讲,个人感觉大疆是最难的。。。我是个算法渣渣,,,
多益网络(只有一面),是今年秋招的第一个面试,网申的提前批,面试通过的时候,还高兴了很久,虽然面试比较水,到9月中下旬发的offer,结果看到薪资待遇,心凉了半截,然后就开始继续投简历,无脑做笔试。期间,面了阿里,巨人网络,没怎么复习,就直接这样硬刚,结果就很自然的凉了。
阿里:首先,自己项目的功能实现,然后再自己的功能实现上进行拓展,问这个拓展的功能怎么实现比较好,其余的再就是一些Unity基础。UI自适应如何处理等。
巨人网络一面主要问了,自己的项目,unity基础,图形学的渲染管道等,这个面试官给我一个建议,我觉得很受用,就是我们自己学习案例的时候,再把它消化成自己的知识时,要知道哪些是属于自己的知识,跟其他的地方有什么不一样,具体来讲,比如说,背包系统,你是怎么样实现的,别人是怎么样实现的,你为啥要这样做,这样做有什么好处?还有一些细节问题,比如:unity中的meta文件用***啥的?
腾讯游戏客户端开发一面:还是注重软件工程系列基础课程,比如:操作系统,计算机网络,数据结构和算法等。也更偏向C++,引擎方向;如果熟悉,图形学,shader更好。这里也要说一下,面试官给你感觉很礼貌,客客气气的,虽然自己很菜,但面试官一直都在鼓励你。
快手一面:依旧是注重基础,记得让我手撕一个设计模式,还有一些碰撞检测算法。比如:给你一个攻击的扇形,一个目标点,如何判断目标点在攻击的扇形区域内?如果是矩形区域呢?又是如何检测的?矩形区域是倾斜的呢?还有Unity相关的一些知识,具体记不清楚了。。。
以上就是我的凉经,下面再来说一说拿到Offer的面经吧:
多益网络 游戏研发工程师 (时长30min~40min):
1.自我介绍。
2.根据自我介绍里面的内容,聊了一下学术科研方面的项目。
3.根据自我介绍里面的第一个项目,聊了一下热轧虚拟仿真培训系统项目。
4.比赛经历,“互联网+”,简单说了一下。
5.跑酷游戏,聊了一下跑酷游戏demo项目.
6.谈谈开源项目XLua以及是否在实际项目中运用过。(再填写简历的时候,后面有几个)
7.是否在实际项目中运用过数据结构。有。哪些情况下,考虑使用队列?
8.简单说下队列的情况。
9.跑酷游戏中的数据结构。
10.知道哪些排序算法?熟悉哪一些?
11.Lua是否跑酷游戏中运用到?
12.热轧虚拟仿真培训系统项目用什么开发的?Unity+C#
13.指纹识别怎么实现的?
14.实时路况怎么实现的?
15.有一个发生概率很小的bug,你会怎么做?
16.去的比较多的技术论坛有哪些?
17.比较关注技术论坛的哪一个板块?
18.最近有没有关注哪些热门的技术论坛?
19.关于RNA二级结构课题是否是跟实验室其它的同学一起在做?什么时候开始的?
20.用什么开发语言去实现上述问题的算法?
21.你觉得C#有什么缺陷?
22.如果有一个0基础想学程序开发的人,你给他推荐3本书,会推荐哪三本书?
23.购物系统的推荐系统如何实现?
24.跑酷游戏有没有遇到比较难处理的bug。
25.游戏论坛
26.计算机图形学,shader编程
27.评价一下Unity引擎的优缺点?
28.面向组件式和继承式比较而言,分析一下优缺点。
29.对加班怎么看?
30.项目延期如何解决?
31.给定一个集合S(没有重复元素), 输出它所有的子集,比如{1,2,3}的子集,复杂度是多少?
32.有什么问题问面试官的?
三七互娱 Unity开发工程师:
笔试题(45min):
1.什么是AssetBundle?谈一谈你对AssetBundle内存分配情况的理解。
2.谈一谈你对3D渲染管线的理解。
3.列出你所了解的设计模式,并用代码写出一个例子。说一说使用设计模式可能带来的好处。
4.简述StringBuilder和String的区别?
5.什么协同程序?
6.数组中存放了某一类型的数据集合,用泛型事件对个数组的排序。
7.foreach只读
8.斐波那契数列,求第几位是多少?(递归实现)
9.Unity生命周期函数
10.堆和栈的区别?
11.谈一谈你所知道的Unity内存优化方法,不少于5条。
12.Unity中动态加载资源的方式
13.谈一谈你对Animation与Animator的理解
14.C#的委托是什么?事件是不是一种委托?
一面(30min):
1.unity有哪些组件?
2.C#有哪些特性?
3.资源打包,AB包
4.unity项目中的有哪些优化?
5.网络编程
6.图形学
7.unity自带哪些shader?
8.项目问题
9.Lua的多继承如何实现
二面(15min):
1.如何处理UI和粒子特效的层级关系?
2.回到项目
3.Lua相关的服务器知识?
HR面(30min):
1.日常唠嗑
2.期望薪资
3.套路我一波儿
技术加面(30min):
1.A*算法
2.计算机网络
3.加密算法等
4.数据结构,树和堆的区别?
盛大游戏 Unity客户端开发工程师(从早上10点多到一直到下面一点多才面完):
笔试(9月2号) 嗯,,,以为自己凉了,结果来武汉宣讲会,被通知过去面试,一天三面,当前签两方。
一面:
1.C#语法基础
2.C++数据结构。。。我说我写过C#的数据结构,C++没写过,跟他讲了C#相关的。。。被我强行拉回我会的部分。。
2.算法时间复杂度 有一个n块的拼图,每块拼图有四个方向,问暴力解时的时间复杂度多少。。。
3.快排思想
4.项目系列问题
5.C#的GC机制
二面:
1.Lua多继承如何实现?
2.科研方向系列问题
3.简单的图形学
4.shader系列问题。。
5.Drawcall以及性能优化问题
6.唠嗑
HR面:
1.你为啥要做游戏开发,不怕秃头嘛?~~~说真的,这个问题,问的我一下子愣住了,,,
2.你手上有没有其他的公司offer?
3.套路问题
4.继续唠嗑
简历被pass的:网易,米哈游
放弃笔试的:完美世界(那天白天去面盛大游戏了,回来不想做了,爱奇艺也刚好是这一天),游族不想做了,永航游戏有点迷没有收到笔试链接,,,
笔试挂掉的:大疆(线上),吉比特(现场)
放弃面试的:搜狐畅游(在广州出差,不方便),快手基本也是等于放弃,没复习,,,