字节东南亚电商后端开发面经

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),平衡延迟与可靠性. 玩家操作(如移动、技能释放)需携带时间戳和操作序列号,用于服务端验证顺序, 请求直达, 客户端直接和服务器

感觉面试内容很不"八股", 答得稀里糊涂的, 上面的顺序不是面试提问顺序, 想起来什么说什么, 大家做个参考
全部评论
mark学习
点赞 回复 分享
发布于 05-09 14:09 北京
谁问你了....
点赞 回复 分享
发布于 05-07 22:30 四川

相关推荐

04-28 19:01
已编辑
西南大学 Java
1.自我介绍2.问一些基本情况(能实习多久,手上有无offer,学校成绩…..)3.手撕包含 min 函数的栈(撕出来了,acm模式还是比较简单的一道题)4.八股/项目介绍项目你怎么验证你的项目能支持这么高的并发?如果有几十万的用户怎么解决缓冲问题?怎么实现异步订单处理?怎么控制库存?库存扣除的实现?订单减扣的准确性怎么保证?库存你设计了几张表?主键是什么?怎么提升并发能力?分库分表的实现?cpa?那你订单超卖,或者说是那库存信息不对,或影响了用户的一些数据怎么处理?刚刚你不是说有那个 AP 吗?那个 P 它不是就已经分区了吗?分区你怎么保证它上锁能上成功呢?分常见分布式一致,它有什么解决方案,你知道吗?一个请求从 APP 发出到服务端消费中间会大概会经过什么?TCP 怎么保障可靠呢?mysql隔离级别?可重复读怎么实现?有哪些类型的索引?主键索引在数据结构上与其他索引的区别?什么是聚簇索引设计模式?工厂模式适用于哪些情况?Java 中的 ArrayList 和 LinkedList 适用于什么场景?它们的扩容策略?怎么排查一些问线上问题,如果 Java 里面的 CPU 在增长,那你怎么去定位这个问题?比如说它 CPU 现在就变得很高?手撕出来了,然后八股大部分都回答了,但是我有好几个问题一开始都没听清楚,所以可能答得不够好,感觉又要凉了,转行能干啥,啊啊啊啊啊,感觉自己找不到实习了,有无点击就送的公司😭 #面经#  #字节#  #后端面经#
查看28道真题和解析
点赞 评论 收藏
分享
头像 会员标识
05-08 22:43
已编辑
西安交通大学 C++
字节: AML 机器学习推理框架研发实习生- 拷打项目,主要关注项目里面的量化方法是怎么实现的,具体的项目中的细节实现- C++八股:C++中的多态有哪些实现方法?                    虚函数具体是如何实现的?- 手撕:1277 全一子矩阵; 牛顿法解决根号- 体验:作为处女面,感觉面试官人非常好,整个面试过程跟聊天一样,不会的地方也会一点点去引导你,有问题的地方也会及时指出,不知道是不是kpi,不过就算是kpi我也认了美团:机器学习引擎工程师- 拷打项目:量化方法的基本原理,量化前后推理速率比较,C++的算子如何实现的- C++八股: 如何设计进程池对进程进行管理(毛都不会)                     vector如何实现? 如何对内存进行管理(new, malloc, realloc)                     堆和栈存放的数据种类                     成员函数具体是怎么样访问到成员变量的(啥都不知道)- 手撕: 有一个INT32数组,两两相加可能越界,但总和一定不会越界,如何计算。(脑子出问题半天没想出来,最后面试官明示后才想出来)- 体验:这个的面试强度相比于字节一下子上来了不少,符合我对于美团难度的认知(笔试后两道题死活a不出),再加上面试官相比于字节的没有很和善,导致对答案不太自信总结:之前感觉这个方向主要应该看算法相关的八股,但实际面试才发现主要问的都是C++的八股,简历基本只问对口的那个项目,看来要多背背C++八股,写写算法题了碎碎念:由于种种原因,直到5月份才开始面试,不知道能不能有2面,许个愿吧更新:字节已寄,美团感觉八成也寄了😥
查看11道真题和解析
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务