字节东南亚电商后端开发面经
1. 分布式订单ID生成? 短时间高并发下如何保证唯一性?
我先回答了雪花-like, 上段实习中, 我们项目的全局GUID生成器是我写的, 考虑了短时间内大量产生的情况, 向后借用, 未考虑时钟回拨
然后想起来当时和leader讨论, 单独的GUID生成中心, 分批向各个ds批发号段.. 或者是用tacplus的自增id, 但是这样效率太低
2. CPU 性能瓶颈分析
使用 prof 工具监视热点函数的性能消耗
3. 上段实习工作内容? 难点?
背包/仓库/道具 重构模块
追问:
在两周内重构1万行代码,如何保证代码质量?是否引入单元测试或自动化验证?
10天完成15天任务,如何协调开发与测试资源?是否牺牲技术债?
4. 问了一点网络: 网络通信与实时系统
视频会议与代码共享的链路设计
追问:解释从你的设备到面试官屏幕的完整网络路径(如NAT穿透、协议选择)
5. 游戏服务器同步机制? 和互联网开发的区别
服务器作为权威状态源,定期向客户端广播游戏世界的完整或增量状态(如玩家位置、血量)
电商无状态服务可通过REST API+RPC横向扩展,而游戏服务器需维护长连接和会话状态。
6. 系统设计 分布式事务与最终一致性
游戏道具交易涉及多个系统(背包、仓库、邮件),如何设计分布式事务?对比电商订单支付+库存扣减。
回答方向:
Saga模式:将事务拆分为多个可补偿步骤(如“扣道具-发邮件-记录日志”,失败则回滚)。
对比:电商更倾向异步消息队列(如Kafka)实现最终一致性。
7. 游戏服务器宕机后如何快速恢复玩家状态?电商系统如何设计类似容灾机制?
定时落DB+游戏整体运行在共享内存, 方便resume
7. 游戏后端请求链路分析
采用自定义的可靠UDP协议(KCP),平衡延迟与可靠性. 玩家操作(如移动、技能释放)需携带时间戳和操作序列号,用于服务端验证顺序, 请求直达, 客户端直接和服务器
感觉面试内容很不"八股", 答得稀里糊涂的, 上面的顺序不是面试提问顺序, 想起来什么说什么, 大家做个参考
我先回答了雪花-like, 上段实习中, 我们项目的全局GUID生成器是我写的, 考虑了短时间内大量产生的情况, 向后借用, 未考虑时钟回拨
然后想起来当时和leader讨论, 单独的GUID生成中心, 分批向各个ds批发号段.. 或者是用tacplus的自增id, 但是这样效率太低
2. CPU 性能瓶颈分析
使用 prof 工具监视热点函数的性能消耗
3. 上段实习工作内容? 难点?
背包/仓库/道具 重构模块
追问:
在两周内重构1万行代码,如何保证代码质量?是否引入单元测试或自动化验证?
10天完成15天任务,如何协调开发与测试资源?是否牺牲技术债?
4. 问了一点网络: 网络通信与实时系统
视频会议与代码共享的链路设计
追问:解释从你的设备到面试官屏幕的完整网络路径(如NAT穿透、协议选择)
5. 游戏服务器同步机制? 和互联网开发的区别
服务器作为权威状态源,定期向客户端广播游戏世界的完整或增量状态(如玩家位置、血量)
电商无状态服务可通过REST API+RPC横向扩展,而游戏服务器需维护长连接和会话状态。
6. 系统设计 分布式事务与最终一致性
游戏道具交易涉及多个系统(背包、仓库、邮件),如何设计分布式事务?对比电商订单支付+库存扣减。
回答方向:
Saga模式:将事务拆分为多个可补偿步骤(如“扣道具-发邮件-记录日志”,失败则回滚)。
对比:电商更倾向异步消息队列(如Kafka)实现最终一致性。
7. 游戏服务器宕机后如何快速恢复玩家状态?电商系统如何设计类似容灾机制?
定时落DB+游戏整体运行在共享内存, 方便resume
7. 游戏后端请求链路分析
采用自定义的可靠UDP协议(KCP),平衡延迟与可靠性. 玩家操作(如移动、技能释放)需携带时间戳和操作序列号,用于服务端验证顺序, 请求直达, 客户端直接和服务器
感觉面试内容很不"八股", 答得稀里糊涂的, 上面的顺序不是面试提问顺序, 想起来什么说什么, 大家做个参考
全部评论
mark学习
谁问你了....
相关推荐

点赞 评论 收藏
分享

点赞 评论 收藏
分享

点赞 评论 收藏
分享