面灵AI

飞猪智能客服Java后端社招一面面经

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

《面试题目》

  1. 一个功能进行平台化时,接入平台和不接入平台的消耗分别是什么?如何保障平台稳定性?
  2. MQ 发送有时效性的内容但队列可能排队,如何解决时效性问题?
  3. 常见 RPC 框架有哪些?RPC 如何做服务发现和服务调用?
  4. 机器重启导致 RPC 调用失败有哪些原因?
  5. 线上问题以及 OOM、Full GC 如何排查解决?
  6. JVM 给对象分配内存的过程是什么?多线程 new 同一类时如何避免空间冲突?
  7. 如何拼接两个有序链表,空间复杂度为 O(1)
  8. 如何手写 LRU?

《参考解析》

  1. 平台化取舍:平台化能复用统一能力、降低长期接入成本,但会引入依赖、版本和可用性风险;应明确边界、超时、限流、熔断和降级策略,并监控依赖健康度。
  2. 时效消息:消息应携带截止时间,消费者在处理前校验是否过期;按优先级或独立队列隔离高时效任务,配合延迟监控和重试,避免无条件堆积。
  3. RPC 调用:客户端从注册中心获取服务地址,完成序列化、网络传输和反序列化;生产环境还需处理连接复用、超时、重试幂等和节点变更。
  4. 对象分配与线程安全:每个线程拥有独立栈帧,对象通常分配在共享堆中,由线程本地分配缓冲区减少竞争;共享对象状态仍需通过锁或原子操作保护。LRU 通常用哈希表定位节点、双向链表维护访问顺序,淘汰尾部节点。