药帮忙Java后端二面+HR面面经

药帮忙 · Java后端开发 · 二面+HR面 · 2026-03

《面试题目》

二面(27分钟):

  1. 个人背景、学校及家庭信息询问。
  2. 职业规划。
  3. SQL题:学生成绩表(姓名、课程、分数),按学生总成绩排序。
  4. sum()和count()的区别。
  5. 线上慢查询的排查逻辑。
  6. 频繁访问字典表的优化方案。
  7. 使用Redis的注意事项。
  8. Redis大Key问题的处理方式。
  9. RabbitMQ如何保证不重复消费。
  10. ACK模式下并发场景的重复消费控制。
  11. 优缺点评价。
  12. 期望薪资。
  13. 与同龄人的对比评价。

HR面(10分钟): 14. 优缺点重述。 15. AI工具的使用能力与规范。 16. 对使用AI的态度。 17. 是否能接受前端开发工作。


《参考解析》

  1. SQL排序:使用 GROUP BY 按姓名分组,通过 SUM(score) 计算总分,最后 ORDER BY 排序。
  2. 慢查询排查:先定位SQL执行计划(EXPLAIN),查看索引命中情况;评估接口复杂度;必要时采用Redis缓存热点数据或使用MQ削峰限流。
  3. 字典表优化:在应用启动时加载至本地缓存或通过Redis缓存,减少数据库I/O访问,提升接口响应速度。
  4. Redis大Key:通过拆分Key(将大Hash拆为小Hash)、异步删除(UNLINK)、增加过期时间或迁移至特定存储引擎解决。
  5. MQ幂等性:利用数据库唯一键(Unique Constraint)实现幂等,或在Redis中维护一个消费流水号,在处理业务逻辑前进行校验。