淘天二面总结
问到的问题有
1.消费端短暂不可用 消息挤压到容量上限会发生什么
2.有没有想融入ai
3.用过什么ai
4.存数据用的redis的什么数据结构 为什么不用String 淘汰策略是什么?
redis还有什么应用场景
5.怎么优化mysql的查询 提高查询性能
6.举一个例子:天猫的订单表 要分库分表
假如有买家表 卖家表 假如按买家id分库分表 卖家查询自己的订单怎么提高查询速度
7.有没有接触过分析型的数据库
8.mysql隔离级别 下单业务选什么隔离级别?
所以应该选什么 我说的读已提交
9.举一个幻读的场景
10.用的最多的设计模式
11.假如部署在公网,怎么做网络安全工作
12.接触过哪些异常 多线程异常
13.接触过架构设计吗?
14.学习过那些系统的框架 看了什么书
总结:
消费端短暂不可用 消息挤压到容量上限会发生什么
对于kafka来说 消费者若是无法消费数据
会导致:
1.生产者消息挤压 不得已将数据从pagecache中刷盘到磁盘中,消费者想再消费这部分数据时要从磁盘中读,降低性能
2.磁盘文件的增大可能触发broker的回收,导致消息丢失
3.若是没有多余的内存 可能导致broker拒绝接受生产者的新消息 导致消息丢失
4.消费者重新上线后会有较大的数据延迟,而且可能还涉及消费者组再平衡问题
redis有什么应用场景
数据缓存
分布式锁
会话存储
排行榜
消息队列
计数器
网站uv统计
发布空间
怎么优化mysql的查询 提高查询性能
1.建索引 覆盖索引
2.优化join 小表驱动大表
3.分库分表
4.读写分离
5.缓存
分库分表问题
建立异构索引表
即专门维护一个表,来存卖家id 对应的买家订单 所在的库或表 这样先查出对应的信息,再根据buyid去对应的源库中查询完整的订单信息
写数据时要进行双写 保证最终的一致性
mysql隔离级别 下单业务选什么隔离级别?
电商下单涉及扣减库存和计算金额 最好选可重复度 避免超卖问题
常见的异常
编译时异常: 文件io异常 类异常 sql异常 无此文件异常
运行时异常: 空指针异常 算数异常 类转换异常 数组越界异常 线程中断异常