哥们就做了一个月的游戏还是从零学,天美爷拷打我游戏?汗流浃背局……
投的后台开发,但实习是游戏公司经历,所以被逮着问游戏,服啦。
- 熟悉 Go/C++ 吗?——不熟,跳过
- 对 Lua 的熟悉程度——公司自研引擎用 Lua 所以基础会用,底层不了解(元表元空间学过但没准备就不挖坑了)
- 有了解自研引擎 Lua 怎么和 C/C++交互吗?——不了解,跳过
- 讲讲实习做了什么——Lua 写帧同步游戏 + Unity 写业务
- 帧同步怎么实现的——不是我实现的,有现成框架直接写业务逻辑
- 使用了 UDP 帧同步,那怎么实现的可靠 UDP?——冗余包+类似 TCP 的序列号
- 这两个就可以实现?那服务器给你下发推帧的时候,比如说帧序号 1 3 5 到了,那这个时候客户端是怎么去做?把这个包收齐,然后并做对应的逻辑帧的处理呢?怎么知道这一帧有多少个包?怎么确认包收齐?——不知道,后面舍友说可以发完包的末尾加一个结束符意思的标识来判断这一帧发了多少包;指令数量;指令长度;指令分隔符
- 假如服务器断网丢包,很长时间没有发包,这个时候渲染帧是如何预表现的?
怎么判断逻辑帧有多少包,确认包收齐
断网条件下怎么做画面表现
帧同步的业务逻辑,哪些作为命令同步,哪些作为本地表现
攻击扣血这些需要同步吗
不同架构怎么保证本地计算结果一致
浮点数转定点数的运算
逻辑帧和渲染帧的分离
哪些 action 上报
怎么防止作弊
对象池的使用和原理
黑马点评项目:
点赞处理
判断秒杀资格,即一人一单,以及 Redis 库存充足情况下,消息队列处理下单处理数据库
240919
没整理完,活动要截止了先发问题,后续补充~
牛油们觉得有用的话,收藏同时顺便点点赞呗~还可以订阅一下专栏有帮到的话送个花花催更谢谢
#软件开发笔面经#