携程 Java开发二面

携程 · Java后端 · 二面 · 2026-03-25

面试流程

  1. 自我介绍
  2. 介绍实习项目
  3. 技术深挖
  4. 手撕算法

面试题目

项目相关

  • 为什么使用ES存储日志,有做过别的方案和调研吗
  • 有了解过别的存储媒介吗(答 ClickHouse,追问优缺点)
  • 监控告警是如何生成告警的(主要使用了Alertmanager)
  • 告警异常数据分为什么类型,如何监控(Prometheus自监控与自定义exporter)

多线程

  • 多线程使用场景
  • 核心参数你用了什么,为什么这么设置
  • 这几个参数怎么得出来的,为什么不使用别的参数(答:基于服务器硬件性能、CPU核数等)
  • 线程池完整的处理流程

数据库

  • 索引的数据结构
  • B+树、B树、红黑树区别
  • 分库分表如何实现,逻辑是如何分的

Redis

  • Redis是做了缓存还是分布式锁
  • Redis高并发访问与MySQL的数据一致性如何解决
  • Redis内存淘汰策略
  • 分布式锁如何实现的

消息队列

  • 消息队列如何保障消息不丢失
  • 生产者消费者分别如何做

JDK

  • JDK用什么版本
  • JDK 21相比于1.8的新特性有哪些
  • 常见GC算法

算法题

给定一个已经排序的数字数组和两个整数k、x,在数组中找到k个最接近x的数字

  • 要求:二分法与双指针实现

面试感受

面试官很和蔼,感觉自己答的不太好