这是一份为一年后的求职做准备的笔记,整理一些笔试题、面试题以及程序员在实际工作中会遇到的各类问题。

推荐书籍

  • 《剑指 Offer》

基础知识题

  1. TCP 三次握手,四次挥手
  2. 内存页面置换算法

游戏程序员的日常工作

除了写游戏逻辑,还有不少看起来"非游戏"的活儿都会落在程序员头上,比如:

  • 给策划写导表工具
  • 给美术写动画工具
  • 给测试写打包工具
  • 给策划做编辑器
  • 集成推送 sdk
  • 集成广告渠道
  • 集成 facebook
  • 集成云测平台
  • 多版本增量更新管理工具
  • 版本下载断点续传
  • 后台偷偷静默安装之类

工作第 1 年你可能只做游戏逻辑,上面这些工作基本涉及不到;之后才会一年一年慢慢接触一点。

到了主程这个位置,各个方面就都要涉及了:和服务器定义接口、选择通讯方式、确定语言、处理加解密等等。

真正工作之后,其实就没什么机会再去专门研究什么了,除非刚好能用到项目里。

跨岗位协作

实际开发里要考虑的事情很多,比如:策划给的东西你怎么用?美术给的资源你怎么用?成品怎么打包上传交给大家测试?这些都需要提前设计好。

可以补充学习的方向

除了引擎和业务,还有一些方向也值得看看:

  • AI 相关:状态机、行为树、博弈树、a* 寻路等
  • 图形学相关:opengl、shader 等
  • 脚本与工具链:python、java、oc、js、shell 脚本、ant
  • 基础能力:加解密、socket、flash

这些内容不必一次性全学,基本思路是"需要啥学啥"。

几点心得

做不出来东西等于白研究。

平时可以给自己找点小项目练手,比如自己封装一套带动画的对话框,弹出时背景做高斯模糊之类的效果。