本文最后更新于 136 天前,其中的信息可能已经有所发展或是发生改变。
面试经历 - 灵犀互娱游戏服务端开发校招
于 2025/4/15 15:00 进行的为时 76 分钟的面试。全程场景拷打,我其实不太懂现代分布式游戏后台是怎么设计的,但是这个面试官似乎是默认我会这些东西的(我只会搞搞 MC 的那种单体后端啊喂),所以问了好多解决方案我都得现场想,而且不知道为啥感觉我和面试官基本是在两个世界,我说的东西他似乎都不太懂,可能是因为思维不太一样... 反馈也表示说最好还是多了解一些游戏后端的架构设计。感觉应该得一面挂。
以下是面经:
- 自我介绍
- 你是什么专业?看你兴趣比较广泛,为什么要选择来游戏行业?为什么不去做计算机+金融的方向?你设计的方向很多,能将将你在做方向选择时是怎么考虑的吗?
- 你有了解现在游戏行业有哪些比较好的产品,以及有哪些比较好的公司和他们的游戏品类吗?
- 讲讲你学过的这些程序语言的典型的差异和对它们的理解?
- 能简单介绍一下 Toktik 这个项目吗?你觉得这个项目中最复杂的一点是什么?视频上传和下载是怎么做的?
- 看你游戏后端和 Web 后端都做过,能给我讲一下你对这两者差异点和区别的理解吗?假设你现在要做一个登录系统,你怎么保证它是安全的?(提到 TLS 证书加密)讲讲 TLS 的握手流程是怎么做的?现在有一个登录系统,比如需要使用 QQ 或者微信登录,你能推测一下他的后台是怎么设计的吗?我已经建立好了连接,并验证了用户 token,那么我后面的通讯怎么保证安全的?(提到防重放攻击和 CSRF Token)能讲讲 CSRF Token 的原理吗?假设有中间人模仿客户端操作,它能防止到吗?
- 在多节点的游戏服务器内如果需要为物品生成可以跨多节点识别的唯一 UUID,应该如何设计这个 UUID(而且希望这种 UUID 应该可以本地计算)?
- Minecraft 这种游戏里可以把方块拼在一起,存储这些方块数据会带来很大的内存消耗,你可以用什么方法尽可能地减少(内存)消耗?如果序列化传输呢?
- 设计一套支持多节点游戏服务器的增值系统服务,可以处理来自远端消息队列的支付成功回调并处理游戏数据,需要考虑落库、落盘性能,多节点之间的信息同步,并考虑当玩家在线和不在线时进行充值进行数据同步的差异?
- 反问
更新:当天傍晚约二面
