游戏行业求职干货
进入游戏公司从事游戏研发工作是许多游戏爱好者的梦想。如何有效地准备求职,以在众多的校招生中脱颖而出呢?
以下是在雷火工作的程序员学长将从几个方面给出一些指导和建议,帮助大家更好地准备游戏研发类岗位的求职。
首先我们简要介绍一下游戏研发岗位。目前游戏研发类的岗位,主要可以分为客户端开发、引擎开发、服务端开发、TA(技术美术)等几个方面。其中,服务端开发一般是网络游戏特有的;TA技术美术作为程序和美术的交集,也是具有很强的研发类岗位的属性的。针对不同方向的岗位,求职时准备的偏向会有所不同,但大体部分是相同的。
基础知识
首先,对于校招生而言,计算机基础知识一定是需要重点准备的内容。基础知识往往是大部分企业在面试校招生时最重要的考察部分。对于企业来说,校招生往往没有太多工作经验,强特定工作相关的技能大家的水平往往很难拉开很大差距,行业相关的技能也可以在入职后慢慢培养。因此基础知识往往是决定企业是否认为你值得培养的关键因素。
基础知识部分主要包括计算机系统基础、数据结构、操作系统、网络、数据库等方面。这里特别推荐一本书,就是著名的CSAPP(深入理解计算机系统):
这本书对于计算机系统基础的方方面面都有比较详细的介绍,而且网络上有针对这本书的不少课程和解读,可以帮助大家夯实计算机基础,以更好的应对面试时的一些问题。
算法
近几年随着计算机类职业求职市场的火爆和大家对算法题掌握掌握程度的提升,各个企业的笔试和面试中的算法题的难度也在快速上升,因此算法也是大家在求职过程中需要重点准备的一个方向。毕竟,笔试的成绩是直接决定了你是否有参与面试的机会。
在面试过程中,通常都会有手撕代码的环节,在这个过程中,面试官可以对求职者的算法水平、数据结构的理解、Coding能力、抗压能力等有一个比较综合的考察。许多企业的面试评价中,手撕代码环节都会占相当高的比例,甚至会直接决定你的面试是否能够通过。
准备算法,推荐以下的几本算法资料:
另外,大量的刷题也是必不可少的,推荐至少要达到力扣上主流中等Medium难度的题都能拿下的水平,才足以应对笔试和面试。刷题快速入门,推荐从LeetCode的HOT100题单开始刷起,效率较高:
LeetCode 热题 100 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台
编程语言
对于求职游戏研发类的大多数岗位,都推荐至少要掌握两门不同类型语言:一门编译型的语言,主要是C/C++和C#;一门脚本语言,目前游戏行业用的较多的脚本语言主要是Lua、Python和JS。
首先,游戏行业作为大量内容产出型的文化类产业,往往有大量的业务逻辑需要编写,同时会有较高的灵活性需求。脚本语言的高开发效率和高灵活性,就很适配游戏业务逻辑开发的需要,尤其是对于灵活性的需求,脚本语言可以运行时动态执行脚本、轻松的运行时替换函数实现等功能,是编译型语言难以达到的。其中,Lua语言作为目前最轻量、性能最好的脚本语言,在游戏行业的应用最为广泛;Python语言和JavaScript/TypeScript得益于较完善的静态类型检查和更加丰富的语言生态,在游戏行业也有越来越多的应用。这里推荐可以提前学习下Lua语言,Lua语言语法简洁、规则简单,上手很快:
https://www.runoob.com/lua/lua-tutorial.html
但是,脚本语言的开发效率和高灵活性,是以牺牲运行效率为代价换取的,但游戏是一个高度性能敏感的程序,性能对于游戏的用户体验是至关重要的。因此游戏的底层引擎,以及那些相对固定没有那么高灵活性需求的功能,都会选择使用编译型语言开发来提升游戏的运行效率。例如,涉及到游戏的物理引擎、GPU渲染、场景机制、对象管理、视野计算等等方面,都会使用编译型语言来实现,因此编译型语言也是需要掌握的,否则将会很难深入底层的技术栈。
目前游戏行业用的比较多的编译型语言主要就是C/C++和C#。C/C++自不必多说,几乎所有游戏引擎(Unity和Unreal),甚至是各个脚本语言的虚拟机,都是用C/C++实现的。而C#作为Unity的官方语言,是目前游戏客户端应用最广泛的编程语言。
此外,对于学有余力的同学,推荐可以研究一下脚本语言的解释器虚拟机的实现。这将会为你在求职时增色不少。这里推荐几个比较小巧的脚本语言实现,也是目前游戏行业中应用最广泛的几个虚拟机:
https://github.com/lua/lua
https://github.com/LuaJIT/LuaJIT
https://github.com/bellard/quickjs
商用游戏引擎的使用
游戏客户端在游戏研发中处于中心的地位,无论你从事游戏研发的什么方向,都不可避免的要和游戏客户端打交道,因此学习掌握游戏客户端的一些基础是很有必要的。
目前市面上的游戏基本都是基于商业游戏引擎制作的,目前使用最广泛的商用游戏引擎,主要就是Unity和Unreal两款。如果你从事客户端开发,请至少熟练掌握其中一款引擎的使用;如果你从事其他方向,推荐至少了解其中一款引擎的基础使用。如果能在简历上有一个自己基于这些引擎制作的独立游戏作品,且具有较高完成度的话,会对你的简历增色不少。
这里推荐可以学习下雷火知乎官号之前推出的《手把手教你做游戏 | 从0-1入门虚幻引擎5》系列教程:
https://zhuanlan.zhihu.com/p/647108274
游戏网络同步
目前国内的游戏市场上,网游还是占据了绝对的主导地位,单机游戏目前在国内的市场还是较小。并且,网络游戏具有更强的盈利和变现的能力,这意味着你在国内进行游戏研发类岗位的求职,不可避免的会与网络游戏打交道。而在网络游戏中,网络同步是网络游戏绝对的核心功能,无论是客户端开发还是服务端开发都会与这个问题深度相关。因此,推荐大家可以了解下游戏网络同步相关的知识,这也能够更大地帮助你在面试中获取面试官的青睐。
关于游戏的网络同步,大家可能听说过关于帧同步和状态同步的一些内容,但其实网络同步是一个非常复杂的话题,帧同步和状态同步其实目前缺乏比较统一的定义和明确的边界,即使是典型的帧同步和状态同步实现,也有非常多的细节。这里推荐一下Games104这门课程,其中包含了网络游戏架构的部分。另外,GDC论坛上也有不少关于网络同步等游戏技术的分享,学习一下这些分享也可以大大提升你的游戏行业素养。
https://games104.boomingtech.com/sc/
项目实习经历
掌握了丰富的理论知识以后,如果你能有一段游戏大厂的实习经历,那写在简历上更能为你增色不少。进入成熟的项目组实习,可以帮助你将掌握的理论知识落地实践,熟悉项目的生产流程管线,提升自己与各个职能之间协作的能力。
作为一名游戏研发工程师,在进入一个项目组实习时,建议要着重学习所在项目的技术架构。一个大型系统架构的选择往往有着各方面的考量和权衡,也包含了决策人的一些经验在其中。很多校招生往往对于编程等细节是掌握的可以的,但缺乏系统的大局观,对于架构方面的认识则不多。一个能够上线稳定运行的系统,其架构设计一般都是经受住了实践检验的,学习其架构思想对校招的同学来说往往受益良多,如果你在面试中可以对自己实习过的项目的技术架构侃侃而谈,而不是只流水账式地叙述实习中做的一些工作细节,一定能让面试官对你刮目相看。
另外,最重要的是,实习表现优秀可以帮助你提前在校招中斩获offer,获得更大的主动权。从我的个人经历来说,我一开始是从《永劫无间》这款游戏中了解到了网易雷火,对这款游戏的喜爱促使我投递了雷火的校招暑期实习。经过认真的校招准备,我成功通关了实习的笔试和面试,并在22年夏天来到了网易雷火暑期实习。在三个月的实习后,我凭借实习期间优秀的表现顺利转正,让我在竞争异常激烈的22年秋招中提前获得了offer,最后顺利加入成为了网易雷火的一员~
干货满满:
戳我即可收获《网易数智年度技术精选》
戳我即可领取《2023年度游戏安全观察与实践报告》
《游戏AI实践指南》《 2023 中国移动游戏私域运营指南 · 启动篇》✉LTT936
总结
深入了解行业、提升专业技能、精心准备求职材料、积极参与行业活动,都可以大大增加求职成功的几率。最重要的是,要保持对游戏的热情和对职业发展的信心,不断学习和成长,才能在竞争激烈的游戏行业中脱颖而出。希望本文的建议能为你的求职之路提供有益的帮助,祝你早日实现梦想,成为一名出色的游戏开发者。
以上文章转自网易游戏雷火事业群
来源:知乎
相关知识
游戏策划求职简历12篇
赣州游戏原画求职
干货集锦|2021 年最全的游戏数据分析知识总结
移动游戏行业市场竞争格局行业报告
游戏原画的行业解析
游戏原画设计求职简历工作经历范文(6篇)
中国手机游戏行业产业链分析报告
【干货】2020年中国游戏社区行业报告 游戏玩家增长迅速,游戏社区行业具备较大潜在用户群体据CNNIC数据显示,截至2019年6月,中国网络游戏用户规模达4.9...
游戏开发行业的未来前景与
游戏科学公司:打造顶级游戏体验,引领游戏行业创新!
推荐资讯
- 1老六爱找茬美女的烦恼怎么过- 4999
- 2博德之门3黄金雏龙法杖怎么得 4867
- 3《大侠立志传》剿灭摸金门任务 4312
- 4代号破晓官方正版角色介绍 4023
- 5赛马娘锻炼到底的伙伴支援卡事 3802
- 6闪烁之光11月兑换码大全20 3774
- 7原神原海异种刷怪路线-原神原 3547
- 8爆梗找茬王厕所特工怎么通关- 3542
- 9《我的世界》领地删除指令是什 3434
- 10原神开局星落湖怎么出去 原神 3426