慧策(掌上先机)一面面经
一小时
- 自我介绍
- 说一下项目中怎么使用 Redisson 实现的限流
- RabbitMQ 是使用在什么场景下的?为什么要用 MQ?
- 你说是为了解耦两个服务,那如果有一个服务执行失败了呢?有考虑过补偿机制吗?
- 你微服务之间是用什么实现互相调用的?OpenFeign 和 Dubbo 有什么区别?
- 项目中用过哪些设计模式?
- 模板方法模式是干什么的?适用于什么场景?
- 假如现在有一个场景(需要下单、扣库存、记录日志),用模板方法模式设计一下类(说一下大致有哪些类、哪些方法)
- HashMap 底层是用什么存储的?为什么大于 8 要转换成红黑树呢?为什么不直接用红黑树呢?
- HashMap 是线程安全的吗?
- MySQL 中事务隔离级别有哪些?可重复读相比前两个解决了什么问题?
- 索引有哪几种?
- 用过组合索引吗?(a、b、c三个索引,使用b、c两个字段查询会怎么样?会失效)为什么不用 a 的话,就不能走索引了?
- SQL题:一个班级表(id,班级名)、一个学生表(名字,成绩,班级id),查询每个班级所有学生的总成绩
- SQL题:上面的学生表加一个 sex 字段,查询每个班级男生总成绩和女生总成绩
- SQL题:加一张成绩表(学生id,学科类别,分数),查一下每科成绩分数最高的学生,返回学生的信息(所在班级、性别等)
- 算法题:判断对称二叉树(让用迭代做)
- 追问:用栈能不能实现?为什么用栈实现要调整 push 节点的顺序,不调整的话有影响吗?(这里没答上来就结束了)
PS:连反问的机会都不给,是不是寄了
发面经,攒人品,求二面
#秋招##后端##Java#