这是一份为一年后的求职做准备的笔记,整理一些笔试题、面试题以及程序员在实际工作中会遇到的各类问题。
推荐书籍
- 《剑指 Offer》
基础知识题
- TCP 三次握手,四次挥手
- 内存页面置换算法
游戏程序员的日常工作
除了写游戏逻辑,还有不少看起来"非游戏"的活儿都会落在程序员头上,比如:
- 给策划写导表工具
- 给美术写动画工具
- 给测试写打包工具
- 给策划做编辑器
- 集成推送 sdk
- 集成广告渠道
- 集成 facebook
- 集成云测平台
- 多版本增量更新管理工具
- 版本下载断点续传
- 后台偷偷静默安装之类
工作第 1 年你可能只做游戏逻辑,上面这些工作基本涉及不到;之后才会一年一年慢慢接触一点。
到了主程这个位置,各个方面就都要涉及了:和服务器定义接口、选择通讯方式、确定语言、处理加解密等等。
真正工作之后,其实就没什么机会再去专门研究什么了,除非刚好能用到项目里。
跨岗位协作
实际开发里要考虑的事情很多,比如:策划给的东西你怎么用?美术给的资源你怎么用?成品怎么打包上传交给大家测试?这些都需要提前设计好。
可以补充学习的方向
除了引擎和业务,还有一些方向也值得看看:
- AI 相关:状态机、行为树、博弈树、a* 寻路等
- 图形学相关:opengl、shader 等
- 脚本与工具链:python、java、oc、js、shell 脚本、ant
- 基础能力:加解密、socket、flash
这些内容不必一次性全学,基本思路是"需要啥学啥"。
几点心得
做不出来东西等于白研究。
平时可以给自己找点小项目练手,比如自己封装一套带动画的对话框,弹出时背景做高斯模糊之类的效果。