写一下AILab游戏客户端的面经吧,也分享一下我第一次面试的经历。时间线,4.14投递,4.22被捞,4.24一面,4.29二面,5.9HR面+云证,5.20offer。
一面(1h)
算法
- LRU,在本地ide上写的,写完让写几个用例测试一下。我算法中用了unordered_map<int, list<pair<int, int>>::iterator>,说一下这里使用iterator的好处
- 如果cache里存的不是int,而是任意类型的数据类型,该怎么写(这块其实挺难,当时只知道用泛型编程,但是报错没写出来)
项目
- 说一下项目中的抗锯齿算法怎么做的
- 看你简历上写了把框架给的路径追踪的算法速度加快了40倍,具体说一下怎么加速的,看看效果
- 说一下你Unity项目中怎么实现的数据保存和加载
- 你的Unity项目可以在重启游戏后加载到上一次游戏的进度吗(不可以,没做游戏数据序列化相关内容)
反问
- 问了一下那边的业务,然后说了一下我目前的技术栈,问了一下对我之后学习路线的建议
- 照着开源项目做了个游戏demo,有再去独立做个demo意义大吗(如果是想做游戏,还是很有用的)
- 第一次面试挺紧张的,发挥怎么样(挺好)
总结
虽然和同学模拟过很多次面试了,但在实际的面试前一度紧张到喘不过气。而且由于过于担心拷打项目和八股,算法好几天没写了,手非常生,好在面试官人非常好,没给压力,出的也是常规算法题,所以没出什么问题。除了括号里补充的内容,问得基本都打出来了,整体体验上上乘。
二面(30min)
PS:小插曲,我腾讯会议昵称不是真名,进去面试官问我是谁,我说忘改名字了,然后说看一下学生证之类的证明一下身份,我给他看了身份证,面试官盯着看了半天然后提醒我下次加会议记得改昵称
八股吟唱
- 说一下Unity中的前向渲染流程(面试官说也行,但是不全,然后补充了下)
- 说一下光栅化过程
- 说一下深度测试
- 说一下Z-fighting是什么,形成的原因以及应对方法
- 你觉得对Unity最熟悉的是哪一块(我说的事件系统,因为项目里这块用的最多)
- 那说一下你对事件系统的理解
- 说一下Scriptable Object的序列化
- 讲一下对Animator的理解
- 知道混合树吗,看看你项目中使用混合树的部分,用混合树优点在哪
- 跑一下你的Unity项目吧,看看效果,顺便结合项目说一下你的动画部分
- 对C#了解的怎么样(我是准备了点cpp的,C#学得其实比较浅,如实说了)
- 那知道闭包吗(了解概念,说了点边吧,但其实说的不好)
其他
- 假如项目推进需要的素材美工那边还没递交给你,你会怎么处理(不太擅长这种题,我答得比较中庸)
反问
- 对Unity学习仅限于写项目的时候,没有系统学过,问题大吗(还好,熟悉使用基本就可以,剩下可以补,但是渲染相关的知识比较重要,建议我可以学深点,去接触一点shader)
- 比较吃惊,没想到面试这么快(PS:有点耿直了),而且也没让写算法题(算法固然重要,但我们这边更看重Unity和图形学基础)
- base深圳吗,如果顺利的话可不可以七月入职(PS:当时比较希望七月考完期末入职)(不好说,还没确定要招哪些人,不过入职时间或许将会被作为指标来排序)
总结
二面时间非常短,快到我没反应过来。面试官没让写算法直接问八股,开始挺不适应,说着说着就越来越得心应手了。整体问得不深,而且运气很好都是我平时准备过的,答题过程中面试官经常会说很好,不错之类的,正反馈很强。
结语
29号上午二面,下午回家过五一了,我们学校5月7号是有双选会的,会有一些企业来提供岗位的便捷通道,但是我没回学校参加,因为我们双选会上没有Unity岗,我当时比较倾向于等之后再找机会,也不是很想去干其他岗。5.8号晚做快手游戏的笔试,做到一半来HR面通知了,很开心,HR面就没啥说的了,都大差不差。然后就是云证+漫长的等待,终于,520那天offer来了,开心!
总的来说,虽然流程很长,但是面试体验极佳,结果也是意外的顺利,纪念一下,也祝大家求职顺利,加油!