腾讯后端开发岗面经 08
- 时间
- 2025-12
- 来源
- 牛客网
《面试题目》
- 如何解决高并发场景下的请求?分段锁有什么局限?
- 请求量过大时如何在前端和网关层优化?
- kill 命令终止进程的底层原理是什么?
- 虚拟地址和物理内存如何映射?
- JVM 分代回收和 Full GC 如何工作?
- TCP 和 UDP 的可靠性与适用场景有什么区别?
- LangChain4j 的 MemoryId 如何实现会话隔离?
- 如何对比传统同步响应和 SSE 流式输出?
- MySQL 为什么使用 B+ 树而不是红黑树?
- 联合索引中使用 a、c 查询时 c 会用到索引吗?
- Redis ZSET 的底层结构是什么?热点 key 如何存储?
- JWT 相比 Session 有什么优点和问题?
- 如何设计一个分布式 ID 发号器?
- PD 分离为什么能提升推理吞吐量?会带来什么通信开销?
- 抽奖发货失败时如何处理和回滚?
《参考解析》
- 高并发治理应分层限流、缓存热点、异步削峰并控制线程池;分段锁降低竞争但会增加实现复杂度,热点分布不均时仍可能形成瓶颈。
- SSE 让服务端按事件逐步发送结果,降低首字节延迟并改善长任务体验;实现时要处理断线重连、事件 id、背压和资源释放。
- B+ 树节点扇出高、叶子有序且支持范围扫描,适合磁盘和页缓存;红黑树指针跳转多,范围查询也不如叶链表高效。
- JWT 无需服务端保存会话状态,适合多实例部署,但撤销和密钥轮换更复杂,载荷过大也会增加请求开销。
- 分布式 ID 需要保证唯一、趋势有序、可用且时钟回拨可处理;可选号段、Snowflake 或数据库序列,并监控耗尽与冲突。
- 抽奖主流程应以状态机和幂等键记录发货状态,失败进入可重试或人工补偿队列;回滚只撤销尚未对外确认的副作用,避免重复发货。