面灵AI

去哪儿AI面试

时间
2026-09
来源
牛客网

《面试题目》

  1. 如果一个主线程要开启三个子线程去调用三个接口拉取数据,需要等所有子线程都返回数据才能继续执行,可以用哪些java并发工具实现?
  2. 你提到使用countDownLuch,但是如果其中一个接口调用异常,提前退出,这样会出现什么问题?
  3. Mysql的InnoDB存储引擎,执行update的时候,条件分别为主键,唯一键,普通非索引字段的加锁逻辑有什么区别?
  4. 唯一键更新索引条件会先锁表,那在RC隔离级别下,用唯一键作为条件,执行update时,加锁的实际范围是什么?
  5. 刚才提到了临建锁,那RC隔离级别下,使用普通非索引字段执行update条件时,为什么会出现锁表的效果?
  6. tcp三次握手的完整流程?以及为什么不能改成两次握手?
  7. 如果两次握手就建立连接,当客户端早已失效的历史连接请求报文段突然又传到了服务端,会引发什么问题?
  8. 订票类场景中,需要实现重复订单拦截,支持提前一年预订,允许代他人购票,你会怎么设计?
  9. 你刚才提到使用去重表实现重复订单拦截,那你设定的重复订单 判定维度具体包含哪些字段?
  10. 你刚才提到重复判定会用到下单人id,但该场景下允许其他人为乘车人代下单购票,统一乘车人可能被多个代下单同一行程,这种情况下如何避免误拦截订单?
  11. 请分享一个你觉得最具挑战的后端开发的项目,他要解决什么问题,核心难点在哪?你又是如何攻克的?
  12. 你当时是通过哪些指标测量这个超卖问题确实存在,原有方案不达标的?
  13. 你刚才提到压测时发现qps不理想,当时压测的具体qps数值是多少,上线后你的技术方案这套qps又是多少,有多大提升?
  14. 请分享一段你最近半年内主动学习AI工具或技术并且尝试落地到实际开发中,包括你做了什么,最终落地效果如何?##?

《参考解析》

  1. 按任务类型设置线程池容量和队列,限制并发资源并监控拒绝与超时;共享状态用明确的同步原语保护,避免无界排队。
  2. 回答时先给结论,再结合真实项目说明取舍、指标和异常处理,避免只背概念。
  3. 先用执行计划和慢查询日志定位瓶颈,再结合索引、SQL 写法和事务范围优化;联合索引遵循最左匹配,避免隐式转换导致失效。
  4. TCP 面向连接并保证可靠有序,UDP 无连接但开销低;握手、超时、重传和连接关闭都要说明状态变化及适用场景。