分享一下
- spring
Spring的bean如何解决相互依赖的问题
里面用到的设计模式
动态代理在哪里用,全部列举
spring事务跟jdbc的事务的关系
事务失效的6大场景
Spring的后置工厂(一般没问,不过我都会说一下,毕竟感觉比较重要BeanPostProcessor接口的实现类,9大后置处理)
-
springboot
自动启动原理
配置文件如何动态配置
如何在不重启的情况下加载配置文件
内置Tomcat是怎么启动的
初始化流程 -
springcloud
各种微服务的组件,用来干什么的,对应的替代组件有哪些
用的注册中心是什么,选举的原理
服务熔断,服务限流,服务熔断等,限流有多少种方式,实现的原理 -
mysql优化
开启慢查询
explain(type的那几个值都背了下来)
不走索引的情况
关联查询驱动表要是小表
左对齐啥的
还可以调节连接数,链接时间啥的去调优
mysql死锁的场景
一条数据长度限制的问题(这个没问,但是一般问到mysql我都主动说一下)
https://www.jianshu.com/p/a86ce8b68a73
事务隔离 MVCC等之类的
https://www.jianshu.com/p/1dcc6c48b1bb
Innodb
- mysql 分库分表--- mycat sharding- sphere-jdbc
- mysql 读写分离---
mysql 分片
集群模式?
主键索引跟非主键索引的区别,B+树的各种,B+树的叶子节点为什么要指向下一个叶子节点,什么时候用到
走索引比走全表扫描还慢得场景,为什么?
- 分布式事务
目前问到的朋友还没什么公司用到过,大厂的没问过,就是中小公司的朋友
一个朋友有用到TCC
6.线程池7大参数(有个点我经常弄错,就是阻塞队列满了再开启核心线程数以上的线程)
- 如何处理高并发
接口的幂等性处理
高并发的情况,例如步骤1-删redis ,步骤2-更新mysql数据库,步骤3-删redis
步骤一二之间来个高并发如何处理
- 分布式事务有没用消息队列实现过
9.消息队列的最终一致性
10.redis
基本的数据结构
应用场景
分布式锁
商品超卖 incr
客户端 Jedis,Redisson,Lettuce 之间的差别,用哪个好
ADB
ROF
集群
SDS数据结构,一般不会问,答上去的话,一般有看过的面试官好感度加倍
过期处理策略
11.mybatis
和$的区别
二级缓存 哪个是默认启动的,二级缓存对应的类我也背了下来
生产的Bean是?MapperProxy
多数据源配置
12.内存泄露发生在什么场景
Threadlocal是一个
13.JVM的各种
调优参数
14.ES
分词器有哪些
ES的实现原理
ES修改索引的结构的时候要怎么做
ES数据分片
15.JWT的原理
16.布隆过滤器,雪花算法,快排
18.docker的操作命令
卷还是族解决了什么问题
hashmap (负载因子0.75的原理,大小为什么是2的指数次方,hash冲突在1.7跟1.8的不同 1.8 链表+红黑树)
concurrentHashmap(1.7跟1.8实现原理 1.7是分段,1.8CAS CounterCell算总数啥的 )
ArrayList和LinkList那个合适做查询,哪个适合经常做修改
20.JAVA1.8新特性
主要是函数式接口
lamba表达式
LocalDateTime
21
AOP的各种
建议记得DefaultAopProxyFactory这个类,判断是用JDK还是cglib动态代理是在里面判断的,建议去看一下
AspectJ在Spring里面的作用
22
volatile synchronize
底层的原理
23
消息队列
1.选型的问题
2.具体用的MQ和使用的模式,顺序性消费
rabbitmq消费 分片
消息的延时,丢失,重复消费如何处理
24.一个商场的公司说他们更新redis库存是通过lua脚本,有点好奇怎么做的
26.JVM
问题都差不多
参数调优
xms xmx ...记不了那么多
eden区 from to 比例是 8比1比1 新生代比老年代 1比2
CMS真正的并发手机
标记清除
标记整理
复制
G1可以控制收集时间
27.netty NIO
netty粘包,分包
protobuff建议了解一下原理
28.springMVC用到的设计模式
内部原理
29.一个对象在初始化的时候分配多大内存是如何端的
30.spring各种注解啥的
31.spring常用的接口,虽然没问,但是建议了解一下,面试官问的spring时候可以主动说一下,表示自己主动去了解了,
一般问的很多问题都是偏基础的,我都会向底层,原理,源码去说,有时候面试官特别认可这个,像@ComponentScan
是在@Configuration的配合下才有用,自己看的源码,里面的逻辑按自己的思维说了一下
InitializingBean --- afterPropertiesSet()
DisposableBean --- destroy()
BeanNameAware
ApplicationContextAware
BeanFactoryAware
Spring 创建Bean的6种方式
32.tomcat
public abstract class RegistrationBean implements ServletContextInitializer, Ordered {}
https://cloud.tencent.com/developer/article/1164119
DispatchServlet 会被RegistrationBean用装饰者模式包装起来,或者是RegistrationBean的实现类
这个完全靠兴趣爱好去了解底层才看的
@Autowire
@Resource
区别,分别是哪个规范提供的,问的少,了解一下无妨
1.Tomcat 部署项目的时候的目录,文件是如何存放的
Tomcat的概念视频里面说的很清晰,建议看一下
2.如何拷贝一个G的文件,文件上传是?下载是?
内存问题等等
3.redis用来存些啥?首页的数据?首页的数据的话,直接存内存不久可以了?
4.接口如何做拦截,用的token,为什么不用session或者cookie
5.对上传的文件有没做限制,如果上传的是js文件之类的呢?安全问题
-----------------------------------------------------------------------------------------------------------简单的笔试题
"1".equals(1)的结果,为什么
浏览器访问www.baidu.com 经历了什么流程
String a = "a"和String b = new String("a")的区别