金碟HR系统 - 一面(基础面)22.03.04
- 说一个最能体现自己能力的项目
- 数据库设计规范
- 数据库索引失效的场景,B+树为什么在中间节点不存数值
- HashMap扩容为什么要新建一个数组,而不是外后加内存空间
- 消息消费堆积,为什么可以采用增加 partition 的方式去加快消费速度
- 快速排序快在哪里
- Spring的声明式事务,AOP原理
学到爆肝之 - Spring AOP_闲狗的博客-CSDN博客
- 数据库的瓶颈在哪,读取数据的流程是怎样的
- 数据库隔离级别
使我郁郁寡欢的 MySQL 事务和锁_闲狗的博客-CSDN博客
- 分布式事务
下单分布式事务解决采用本地消息表和重试表的方式实现,有一个中间状态(冻结核销回滚)
痛点:
1.事务消息方式对数据库依赖较大,定时任务扫表去兜底重试调用解冻资产接口,重试无策略且对无需重试的异常。识别功能不强,会造成无效的重试任务调用,浪费程序线程资源。
2.现有分布式事务处理对代码倾入性较大。
- 开发流程
需求 - 需求评审 - 方案设计 - 表建模
1-2个月一个大迭代,2周一个小迭代
技术栈:Dubbo zookeeper mq(rabbitMq) redis es orm中间件
金蝶HR系统 - 二面 22.03.08
1 开发过程中使用到的设计模式,具体例子
策略模式
计算接口:原价计算 - 红包计算 - 运费计算 - 促销计算 - 余额计算
2 线程池,开发中的例子
IBM - 一面
1 Spring boot 怎样实现分布式session
2 reids 的数据类型
3 对微服务是怎么理解的,优缺点
4 什么是 Dubbo
Apache Dubbo是一款高性能的Java RPC框架。其前身是阿里巴巴公司开源的一个高性能、轻量级的开 源Java RPC框架,可以和Spring框架无缝集成。
5 用过什么注册中心,原理
6 分布式锁
7 索引,sql 优化
8 redis 穿透,击穿,雪崩
9 负载均衡原理,master选举原理
10 redis数据类型,二维排序采用redis哪种数据结构
Redis 数据类型选择和应用场景_闲狗的博客-CSDN博客_redis实现购物车
11 es的实际使用场景,为哪个字段加索引
学好 ElasticSearch,摆脱贫困_闲狗的博客-CSDN博客
众安保险 - 一面
1 数据怎样同步到 ES
2 Set 集合处理重复的原理,Java各集合的原理
深入Java集合Collection_闲狗的博客-CSDN博客
3 跨域请求怎么处理
优点:
项目采用的是 Spring Cloud Gateway
4 项目中 redis 的部署模式
主备跨域容灾
5 spring boot 怎么实例化 starter的对象
@ConditionalOnClass //@ConditionalOnClassclasspath
public class MyAutoConfiguration {
static {
System.out.println("MyAutoConfiguration init....");
}
@Bean
public SimpleBean simpleBean(){
return new SimpleBean();
} }
6 @Conditional 注解