美团 AI 后端开发一面面经

美团 · Java 后端开发 · 一面 · 2026-04

《面试题目》

一、 个人背景与经历挖掘

  1. 自我介绍
  2. AI 工具在学习实践中的融入及具体协同方式

二、 计算机基础与 Java 核心

  1. 栈和队列的区别及适用场景
  2. 基于数组实现栈和队列的注意点,循环队列的扩容逻辑与注意事项
  3. 接口与抽象类的区别,支付系统设计中的选型逻辑
  4. 通用日志与权限校验逻辑的架构位置

三、 数据库与架构设计

  1. 分库分表策略,如何解决分片热点问题
  2. 加盐打散与缓存对查询性能的影响平衡
  3. 项目管理系统设计:多对多任务表结构设计,任务状态与优先级的灵活性维护

四、 网络通信与接口设计

  1. 大模型文本生成 HTTP 接口设计
  2. 流式返回(Stream)的具体数据传输设计
  3. 错误码设计原则与前端定位优化

五、 场景解决与行为面试

  1. 识别并解决潜在隐患的经历
  2. 布隆过滤器的误判处理与分布式锁的性能瓶颈应对
  3. 极端流量下的边界条件与降级策略

《参考解析》

  1. 接口 vs 抽象类:接口强调“契约/能力”(如支付接口定义),抽象类强调“模板/继承关系”。支付系统建议用接口,方便实现多种支付渠道(策略模式)。通用逻辑(日志/权限)建议采用 AOP 切面实现,解耦核心业务。
  2. 分库分表热点:通过一致性 Hash 算法平摊数据,或利用热点 Key 缓存(本地缓存+Redis)、读写分离减轻 DB 压力。加盐打散虽然能分散存储,但会增加跨分片查询复杂度,需根据业务场景权衡。
  3. 流式接口(SSE):后端采用 Server-Sent Events 或 WebSocket,通过 Content-Type: text/event-stream 持续推送数据块,减少前端首字等待延迟。
  4. 布隆过滤器误判:布隆过滤器只能判断“一定不存在”或“可能存在”。误判应对方案:在数据库层做兜底校验,或通过增加哈希函数数量与位图大小降低误判率。
  5. 降级策略:极端流量下采用限流(令牌桶/漏桶)、熔断(Sentinel/Hystrix)及降级(关闭非核心服务如评价、推荐系统),优先保障下单核心路径的可用性。