1.项目如何实现幂等?
2.zk分布式锁和redis分布式锁有什么区别?
3.spring原理。
4.注解是怎么实现的,原理是什么?
注解本质是一个继承了Annotation 的特殊接口,其具体实现类是Java 运行时生成的动态代理类。而我们通过反射获取注解时,返回的是Java 运行时生成的动态代理对象$Proxy1。通过代理对象调用自定义注解(接口)的方法,会最终调用AnnotationInvocationHandler 的invoke 方法。该方法会从memberValues 这个Map 中索引出对应的值。而memberValues 的来源是Java 常量池。
https://www.jianshu.com/p/5cac4cb9be54.
5.jvm的内存模型,分别存储什么类型的数据?jvm的类加载机制
6.dubbo的实现原理。dubbo的应用。
7.dubbo提供者往注册中心注册时是临时节点还是持久节点?
8.hashMap的底层结构,扩容机制。
假如给一个hashmap设定初始值100那它的实际容量是多少?
(128,因为hashmap的容量都是2的n次幂,实际容量会是大于初始容量的最小2的n次幂。答成了扩容的阈值。。zz)
9.mysql索引的结构,b树和b+树的区别,mySql如何优化?
什么情况下会让索引失效?
10.是否遇到过内存溢出,怎么解决的。
[https://baijiahao.baidu.com/s?id=1652605740506103750&wfr=spider&for=pc]
11,如何用TreeMap实现一致性hash?
12,设计模式有哪些,单例模式的核心是什么?(构造方法私有化),怎么去获取单例模式的构造方法?(反射)
13,反射的原理和机制。(重要)
14,redis的优缺点。
优点:基于内存,查询比db快
缺点:一致性无法保证
最重要的:redis基于内存可能会对内存造成压力,无法存储过多的数据,一旦redis挂掉就可能引起缓存雪崩,还有缓存穿透等问题(没答上来)
15,==和equals的区别,int和Integer的区别,初始化的时候有什么不同。
16,对微服务的了解。
17,创建线程的几种方式,使用线程池创建线程有什么优点。
18,数据库的隔离级别。
19,dubbo的线程变量有没有用过?使用线程池的方式怎么去实现线程变量?(其实没懂这是个啥问题)
20,springmvc(重点,中通和太平洋保险都重点问了这个)
-
springMVC的重定向和转发
结果转发:在返回值的前面加 “forward:/” 。
重定向:在返回值的前面加上 “redirect:/” 。
(还要了解更多)
-
springMVC的拦截器有没有使用过,详细介绍一下拦截器?
(答了preHandle,postHandle,afterCompletion,又问postHandle和afterCompletion的区别)
-
拦截器和过滤器有什么区别。
21,redis支持的数据结构,你们项目用的是什么数据结构,怎么用redis实现一个队列,应该用什么数据结构,怎么做?
怎么解决重复提交的问题,如果用redis来做幂等,具体应该怎么做?
22,mybatis中${}和#{}有什么区别?动态sql有哪些,怎么用?
mybatis如何实现一对多查询,有几种实现方式?
23,spring相关
-
有多少种方式可以完成spring IOC的依赖注入。
接口注入
构造函数注入
setter 注入
又问构造函数注入和setter注入有什么区别?
-
spring中的容器有哪些?
Spring 提供了两种( 不是“个” ) IoC 容器,分别是 BeanFactory、ApplicationContext 。
又问两种容器有什么区别,优缺点?
-
spring的AOP是什么,怎么创建一个切面类,aop的应用场景都有哪些?
24,springboot的配置文件加载顺序。
25,流量削峰和限流怎么做?
26,rocketMQ消息堆积最大值,rocketmq的一系列问题,记不清了,刷一遍面试题。在项目中怎么用的,场景是什么。
27,索引实现原理。什么情况下mysql索引会失效,排除自身情况比如!=,or这种还有别的吗?
28,设计模式了解过哪些,用过哪些?
使用单例模式有什么好处,什么场景下用单例模式,在项目中怎么用的。
29,redis是线程安全的吗?
30,解析Excel为什么用POI?POI存在的问题?
https://www.cnblogs.com/maguanyue/p/11729690.html
https://mp.weixin.qq.com/s/DfAoqmjh2tt5nZaUc8Dxwg
https://blog.csdn.net/weixin_39651041/article/details/79985715%E3%80%81
https://blog.csdn.net/yanpenglei/article/details/79603467
https://blog.csdn.net/qq_41899620/article/details/88086677?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.edu_weight&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.edu_weight
http://www.mianshigee.com/topic/
携程一面:
先问项目,项目的背景,模块以及你负责的模块,工作流程是怎样的,技术栈是用的哪些,在项目中应用的场景。
1,spring的循环依赖是怎么解决的
2,spring bean的生命周期
3,什么是双亲委派模型,双亲委派模型具体的流程(用到的classLoader)
4,java的反射和类的加载有什么区别。
5,mysql的脏读和不可重复读的区别,
怎么去预防(通过mysql的四种隔离级别), mysql的默认隔离级别是什么?(可重复读)
可重复读实现的原理是什么?(通过MVCC和事务,其实知道的但是没想到是问这个啊啊啊啊)
6,synchronized在java中是怎么用的,实现原理是什么?
阅文:
1,类加载机制和双亲委派模型,类加载器有哪些?
2,垃圾收集算法和垃圾收集器有哪些?
3,常用的线程池有哪些,哪个线程池使用的是阻塞队列?
4,三次握手和四次挥手
5,mysql索引及索引失效,数据结构,b+树和b树的区别。
6,concurrentHashMap的原理,1.7和1.8的区别。
7,volatile的实现原理,原子性。
8,atomic,unsafe,CAS
java.util.concurrent下的原子类,比如AtomicLong,AtomicInteger
9,redis的数据过期策略,数据淘汰策略?redis的数据结构有哪些
10,dubbo有哪些负载均衡和集群容错策略
11,tair和redis区别,tair的原理
12,rocketMq是什么,角色,原理。
怎么实现的消息顺序性。
broker的存储模型和数据结构。