飞猪智能客服Java后端社招一面面经
- 轮次
- 一面
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 一个功能进行平台化时,接入平台和不接入平台的消耗分别是什么?如何保障平台稳定性?
- MQ 发送有时效性的内容但队列可能排队,如何解决时效性问题?
- 常见 RPC 框架有哪些?RPC 如何做服务发现和服务调用?
- 机器重启导致 RPC 调用失败有哪些原因?
- 线上问题以及 OOM、Full GC 如何排查解决?
- JVM 给对象分配内存的过程是什么?多线程
new同一类时如何避免空间冲突? - 如何拼接两个有序链表,空间复杂度为
O(1)? - 如何手写 LRU?
《参考解析》
- 平台化取舍:平台化能复用统一能力、降低长期接入成本,但会引入依赖、版本和可用性风险;应明确边界、超时、限流、熔断和降级策略,并监控依赖健康度。
- 时效消息:消息应携带截止时间,消费者在处理前校验是否过期;按优先级或独立队列隔离高时效任务,配合延迟监控和重试,避免无条件堆积。
- RPC 调用:客户端从注册中心获取服务地址,完成序列化、网络传输和反序列化;生产环境还需处理连接复用、超时、重试幂等和节点变更。
- 对象分配与线程安全:每个线程拥有独立栈帧,对象通常分配在共享堆中,由线程本地分配缓冲区减少竞争;共享对象状态仍需通过锁或原子操作保护。LRU 通常用哈希表定位节点、双向链表维护访问顺序,淘汰尾部节点。