腾讯云智后台开发暑期实习一面面经

腾讯云智 · 后台开发 · 一面 · 2026-04

《面试题目》

项目与业务相关:

  1. 扫描漏洞的业务吞吐量、服务器压力评估与保障。
  2. 迁移过程中的数据一致性保障机制。
  3. 线程池的业务应用场景及参数配置(核心线程数、积压任务处理)。
  4. 线程池处理异常的机制。
  5. 业务中慢SQL的处理与索引建设考量。
  6. 消息积压时的应急处理方案。
  7. Docker与K8S的使用经验及打包流程。
  8. AI工具在实习任务中的应用及职业规划。

Java与并发: 9. Java运行时内存区域。 10. JVM垃圾回收区域划分及算法(CMS步骤)。 11. 为什么需要STW(Stop-The-World)。 12. 公平锁与非公平锁的区别。

数据库: 13. 数据库索引数据结构、聚集与非聚集索引的区别。 14. 联合索引(ABC)在 like %B% 加条件C场景下的命中情况。 15. 数据库事务隔离级别及RR与RC的区别。 16. 悲观锁与乐观锁的业务场景选择。

中间件: 17. Redis分布式锁的使用。 18. Kafka如何保证消息不丢失。 19. RabbitMQ如何保证消息顺序消费及积压处理。


《参考解析》

  1. CMS垃圾回收步骤:初始标记(STW)、并发标记、重新标记(STW)、并发清理。STW是为了在标记过程中确保对象引用关系不被修改,防止漏标或错标。
  2. 线程池任务处理:当核心线程池满后,新任务会进入等待队列;若队列满且未达最大线程数则创建非核心线程;若全部饱和则执行拒绝策略(如AbortPolicy)。
  3. 联合索引命中:索引B+树遵循最左前缀原则。like %B% 是模糊匹配且开头带有通配符,无法走索引扫描,会导致全表扫描或索引失效。
  4. 事务隔离级别:RR(可重复读)通过MVCC和间隙锁解决幻读,RC(读已提交)则可能产生不可重复读。在数据库高并发场景下,乐观锁适用于读多写少,悲观锁适用于写多。
  5. 消息积压处理:首先评估业务容忍度。若需快速恢复,可临时扩容(加机器或增加分区),或通过代码逻辑将积压消息异步化存储到低成本介质(如云存储),稍后再处理。