2025-12-22 一心堂药业集团股份有限公司 线上面试

基于业务提问,一个八股都没问,我就临时发挥了

  1. 自我介绍: 很荣幸...我是...,参与过...主要使用...,个人...

  2. 上一家公司参与模块【酒店搜索、报价】

  3. 酒店搜索整个流程和使用的技术

    回答酒店搜索整个流程,搜索策略:冷热结合,使用ES缓存旧价格,实时查询请求API再刷回ES,价格不落库,平衡速度和时间

  4. 酒店价格有没有落库,怎么落库

    没有落库,价格太多太杂,不好存储,定时任务跑冷价格保证有价格,用户搜索跑热价格保证实时价格

  5. 你提到ES,使用哪些框架,怎么分片

    原生封装,使用场景是酒店价格缓存和日志,价格单独分片,日志是根据不同业务线分片

  6. 有没有处理过线上的一些问题

    MQ积压,解决办法:增加消费者数量

  7. RabbitMQ消息积压怎么处理

    1. 增加消费者数量
    2. 限制生产者生产速率
    3. 消息分流:临时 用新的topic 和 多个队列,实现负载
  8. MQ消息怎么保证顺序消费、不重复消费

    顺序消费:单个队列单个消费者、单个队列多个消费者(每个消费者每次消费一个消息) 不重复消费:使用唯一标识,存缓存,存在就消费,不存在就代表重复消费

  9. MySQL数据库大数据量怎么快速检索

    读写分离 + 分库分表的设计,使用索引

  10. MySQL怎么优化查询速度

    读写分离、分库分表、合理使用索引、冷热分离【冷数据存数据库,热数据存缓存或者ES】

  11. 如果订单表线上紧急需要增加某个字段或者修改某个字段,怎么操作

    【没懂面试官说MySQL算法,有没有懂得同学解答一下】

    1. 冗余字段,需要建表的时候预留
    2. 无效字段回收利用,长期未使用字段,做好标识和说明,临时存新字段数据
    3. 拓展表:根据ID关联拓展表
    4. 凌晨操作【适用于不紧急情况】
  12. 你说你们采用按年分库按月分表,如果是toC,怎么调整分库分表

    【没研究过,随便说的】

    1. 按照用户编号分表,根据用户唯一标识产生订单编号,根据用户唯一标识快速检索
    2. 把分表结果存在订单编号上,直接截取拼接表名查询
  13. 如果一个用户订单很多、其他用户订单很少,按照用户分表数据不均匀,怎么调整

    【没回答上来】

  14. 反问环节

    1. 技术栈
    2. 主营业务:药品订单、每个月2000W订单数据(没接触过这么大的)
    3. 2000W数据怎么快速检索: 冷热分离,旧数据归档,新数据存ES,ES按照用户类型进行分片,比如会员和普通用户,都是按照不同业务场景做分片快速检索
  15. 面试反馈

    很多东西停留在使用的层面,更深入就没怎么了解

总结: 问的也不深入啊,为什么我就不深入了,有没有好心人回答一下 11 和 13

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
悲伤刘不住
下载 APP