面灵AI

BIGO后台开发一面面经

轮次
一面
时间
2026-09
来源
牛客网

《面试题目》

  1. 调用企业微信 API 失败会有什么影响?
  2. 多 Agent 智能助手如何限制重规划?
  3. RAG 知识库如何切片、搭建和更新?
  4. 死信队列、重试机制和延迟队列如何实现?
  5. 消费重复时如何处理?如何保证消息推送成功?
  6. RabbitMQ 出现消费积压怎么办?
  7. SQL 慢查询如何定义和分析执行计划?
  8. 复合索引如何设计?
  9. MySQL 隔离级别和 MVCC 是什么?
  10. JWT 加 Redis 如何实现主动失效?
  11. Redis 持久化、缓存穿透、击穿、雪崩、热 Key 和大 Key 如何治理?
  12. Spring IOC、AOP 和循环依赖如何工作?
  13. Young GC、Full GC 和常见垃圾回收算法是什么?
  14. Java 线程池核心参数、执行流程、拒绝策略和线程数如何设置?
  15. HTTP、HTTPS、TCP 握手挥手和进程线程协程有什么区别?
  16. 服务 CPU 飙高或 OOM 时如何排查?
  17. 如何实现三数之和?

《参考解析》

  1. 消息可靠性:生产端确认并持久化,Broker 通过副本保证存储,消费端在业务成功后确认。业务处理必须幂等,失败消息按退避策略重试,超过上限进入死信并保留告警和人工处理入口。
  2. JWT 主动失效:JWT 提供无状态校验,但服务端可在 Redis 维护用户会话版本、撤销列表或设备令牌。每次请求校验签名和会话状态,退出登录、改密和风控事件更新撤销信息。
  3. 缓存问题:穿透是查询不存在数据,击穿是热点键失效瞬间并发回源,雪崩是大量键同时失效。空值、布隆过滤器、互斥重建、随机过期和限流应按风险组合使用,并监控回源量。
  4. 线程池配置:任务先尝试创建核心线程,再入队,队列满后创建非核心线程,最终执行拒绝策略。线程数需结合 CPU、I/O 等待、队列长度、数据库连接数和内存上限估算,不能直接套固定公式。