面灵AI

腾讯后端开发岗面经 08

时间
2025-12
来源
牛客网

《面试题目》

  1. 如何解决高并发场景下的请求?分段锁有什么局限?
  2. 请求量过大时如何在前端和网关层优化?
  3. kill 命令终止进程的底层原理是什么?
  4. 虚拟地址和物理内存如何映射?
  5. JVM 分代回收和 Full GC 如何工作?
  6. TCP 和 UDP 的可靠性与适用场景有什么区别?
  7. LangChain4j 的 MemoryId 如何实现会话隔离?
  8. 如何对比传统同步响应和 SSE 流式输出?
  9. MySQL 为什么使用 B+ 树而不是红黑树?
  10. 联合索引中使用 a、c 查询时 c 会用到索引吗?
  11. Redis ZSET 的底层结构是什么?热点 key 如何存储?
  12. JWT 相比 Session 有什么优点和问题?
  13. 如何设计一个分布式 ID 发号器?
  14. PD 分离为什么能提升推理吞吐量?会带来什么通信开销?
  15. 抽奖发货失败时如何处理和回滚?

《参考解析》

  1. 高并发治理应分层限流、缓存热点、异步削峰并控制线程池;分段锁降低竞争但会增加实现复杂度,热点分布不均时仍可能形成瓶颈。
  2. SSE 让服务端按事件逐步发送结果,降低首字节延迟并改善长任务体验;实现时要处理断线重连、事件 id、背压和资源释放。
  3. B+ 树节点扇出高、叶子有序且支持范围扫描,适合磁盘和页缓存;红黑树指针跳转多,范围查询也不如叶链表高效。
  4. JWT 无需服务端保存会话状态,适合多实例部署,但撤销和密钥轮换更复杂,载荷过大也会增加请求开销。
  5. 分布式 ID 需要保证唯一、趋势有序、可用且时钟回拨可处理;可选号段、Snowflake 或数据库序列,并监控耗尽与冲突。
  6. 抽奖主流程应以状态机和幂等键记录发货状态,失败进入可重试或人工补偿队列;回滚只撤销尚未对外确认的副作用,避免重复发货。