写在前面
游戏行业真的是很需要个人热爱的一个行业,真的只建议是因为热爱而选择游戏开发,而不是为了生活或其它非必要理由选择游戏岗位。
- 对比其它互联网岗位,游戏开发提供的岗位更少,产值规模更小。这意味着你的选择更少,获得心仪offer的机会更小。这点在投递简历时候可以很明显感受到,投递后端岗位经常面试笔试一场接一场,游戏岗则很容易几天才有一点消息,推进进度缓慢;
- 薪资待遇方面,同等水平(指同企业规模和职级水平)和互联网开发岗是几乎一个水平。引擎可能略高,但也是和算法岗有一定距离。但要注意,游戏称得上的中大厂不过十家,且头部占比高的惊人(腾讯占比42%+,网易18%+);互联网中的看着不错的可就有大几十家了,且竞争相对激烈均衡。
- 岗位综合卷度较高,对于游戏开发热爱的人很多,不少人因为热爱而留下来做游戏,给了公司足够的压价空间;互联网相对直接,大家就是冲着薪资水平来的,待遇占比比较大。
- 最后,几乎不太可能再转向其它行业。游戏开发的技术栈相对独立,一旦扎入几乎这辈子就只能从事游戏开发相关行业了,转行比较困难。毕竟你可以听说互联网转游戏开发,但几乎没听过游戏转互联网(除非受不了薪资太低的)。
岗位介绍
不要被名字误导,很多人都会认为这是一个前端UI的活,但其实区别很大的。具体来说,换成游戏开发可能更好理解。对于工作职责,就是利用游戏引擎(Unity,UE等)做游戏的程序开发,类似于平常做自己的游戏。涉及UI系统开发、技能动画系统开发、场景角色管理、开发工具软件制作、引擎底层功能研发等工作。
时间线
准备:建议至少准备1个月,推荐2个月往上,若无项目则再加一个月。考虑到金三银四,建议十二月/一月就开始准备,越拖越不利。投递时间建议放在三月中后期,这样既有充足的hc(head count),也可以在牛客上看到很多先驱者宝贵的面试经验。
之所以这么建议是因为市面上好的游戏公司实在不多,你的每一次机会都是无比宝贵的。边学边面试还是更适合市面上岗位需求量大的岗位,比如后端或算法之类的,你的试错机会真的不多。因此,请准备好再投递。
准备顺序:优先准备算法C++,保证过笔试;接着侧重于基础知识并可顺便准备项目(若无项目),这部分有的笔试会用到,面试会重点用到,后面再多看几遍总是好的;最后是不断滚动复习+项目充分准备+加分项学习,提高自己的竞争力。
知识储备
综合下来,大厂看中基础和项目,中小厂看中项目技术。
基础知识重点掌握这些(对于计算部分可忽略,重点掌握原理):
- 计算机组成原理
- 学习建议:非重点,但要了解。
- 学习参考:https://www.bilibili.com/video/BV1ps4y1d73V
- 操作系统
- 学习建议:重点掌握全部,面试重点
- 学习参考:https://www.bilibili.com/video/BV1YE411D7nH
- 个人笔记:https://www.haruhi.fans/?p=3356
- 计算机网络
- 学习建议:重点掌握网络层应用层,面试重点
- 学习参考:https://www.bilibili.com/video/BV19E411D78Q
- 个人笔记:https://www.haruhi.fans/?p=3257
- 数据结构与算法
- 学习建议:重点中重点,笔试题核心部分,面试会有手撕(当面试官面敲代码)。大学接触过相关数据结构算法课程可以直接刷力扣,从题积累。题量最少熟练掌握hot100,有条件面试150也做,后续每日一题保证手感;未接触过建议先网课学习算法和数据结构
- 学习参考:https://www.bilibili.com/video/BV1b7411N798,https://leetcode.cn/
- 个人笔记:https://www.haruhi.fans/?p=3182
- C++
- 学习建议:需要比较深入,面试官会通过[主推语言]掌握程度认定你的编程水平和能力。
- 学习书籍:C++ primer 和 Effective C++
- 学习参考:
- 个人笔记:
- Effective C++:https://www.haruhi.fans/?p=3796
- 纯应付面试(建议快面试前看):https://www.haruhi.fans/?p=3337;
- [加分项]计算机图形学
项目部分:
个人来说可以分为两个部分,个人项目和项目场景
- 个人项目部分:
- 主要就是询问你自己简历上的项目,建议写一个中等难度以上的项目。项目如果自己没有,可以照着网上一些比较成熟的项目去跟着做,从中你的收获一定是巨大的。
- 简历上的内容一定要经得起深挖,即无论面试官怎么问问题都可以接得住。一般比如说问这一块性能怎么样,有无更好的解决办法,市面成熟方案是怎样的?底层原理是啥?为什么要这么解决?等等。请对着自己的简历项目部分不断的问问题,直到觉得可以完全说服自己。因此建议不要撒谎,没有真实做过有些东西就是答不出来。
- 一般来说,建议只写自己最擅长的那部分,博得面试官的好感度。项目不超过2,简历不过1页。
- 项目场景:
- 面试官会给你预设一个场景,让你去设计功能如何实现。
- 这部分的提问一般会和个人项目部分挂钩,或者面试官实际项目问题有关。准备而言很难说什么技巧,能做的只有自己个人项目准备足够深,面对面试官提问有了心理预设和准备。
- 回答时候,如果没有十足的把握,可以说自己认为可以怎么怎么设计,但是可能存在xx问题,可能需要怎么处理。尽可能把自己知道的全部都展现出来。因为有时成熟的项目优化你根本是不会知道的,让面试官觉得你很有想法即可。
面试经验:照着牛客搜自己岗位/公司即可。把别人的面试当成对自己的拷问,复盘和反思。
个人感悟
面试的期间真的还是绝望占比更大的,等待面试结果真的无比煎熬。总会觉得自己发挥的不好,也总担心出现各种意外,这段时间失眠压力大焦虑也成为常态了。
想到后面也逐渐明白,这就是一道坎,所有人迟早都会面对到的,或早或晚吧。脚踏实地专心准备,结果不会辜负你的。