面经汇总(更新)

面试的问题都是大同小异的,每轮面试结束后最好对问题做一个复盘的记录总结,不断迭代出最全面最佳的回答。

一定得自信,想到什么就讲出来,不要有所隐藏!!

灵魂三大问:原理,优缺点,应用场景

1、你有什么优势?
2、你在项目遇到最大的挑战是什么?
3、你在项目的角色是什么?
4、平时做CodeReview吗?需要注意什么东西?
5、了解父子线程ThreadLocal吗?
6、SpringMVC统一返回值怎么处理?
7、MySQL查询优化
8、给个系统,如何设计?
9、讲一下JVM内存区域
10、静态类储存在JVM哪里?元空间
11、Zookeeper是如何选举的?

12、 ConcurrentHashMap可以储存null的key和value吗?为什么?
13、一个字符占多少个字节,一个中文占多少字节?
14、Spring和SpringMVC容器启动流程是怎样?
15、设计模式、项目中使用的设计模式?
16、RPC使用的协议?
17、自定义和jdk路径一样的Object,类加载器是如何加装的?
18、Double是怎么比较两个值的大小

19、整个业务架构、负责的业务、自己实现的功能?(从宏观到微观)
20、自己开源项目的架构、功能实现(从宏观到微观)
21、volatile为什么不是原子性的?
22、为什么复制算法比标记压缩好?
23、redis订阅 - pub/sub
24、订单号怎么生成的?分布式服务器情况下呢?
25、redis什么情况下会删除失败?
26、数据库缓存一致性怎么保证?
27、网关需要具备什么功能?
28、讲一下Dubbo的原理?

29、讲一下HashMap(讲自己的理解、看法)
30、ConcurrentHashMap和HashMap的区别
31、HashMap和HashSet的区别?
32、==和equals的区别
33、 && 和 & 的区别、 || 和 | 的区别
34、Object没有重写equals方法,会有什么问题?
35、MyBatis #和 $的区别
36、Mybatis的 Mapper接口和xml文件怎么映射的?
37、MySQL乐观锁和悲观锁
38、MySQL最左索引原则?
39、Dubbo本地调用原理是什么?
40、Dubbo抛序列化异常怎么处理?
41、Dubbo telnet调用接口
42、Dubbo有什么角色?
43、Dubbo的调用过程是怎样?还需要去连接注册中心吗?
44、Dubbo服务暴露原理是怎样的?

45、讲一下双亲委派模式?
46、消息队列怎么保证可靠性?
47、讲一下垃圾回收算法、垃圾回收器?
48、线程池是什么?讲一下线程池的状态?
49、CMS优缺点、G1是怎么解决内存碎片问题?
50、如何实现自定义类加载器

51、ConcurrentHashMap用什么场景
52、Dubbo可能存在问题?
53、Dubbo新旧服务怎么过渡?
54、RDB和AOP的区别是什么?
55、AOF可能存在什么问题?
56、AOF set 1 set 2 set 3 最终存几条?
57、限流原理是什么?

58、ArrayList和LinkedList的区别、实现原理、作用、区别、怎么删除指定元素?
59、int和Integer的区别?
60、volatile原理,作用,可以代替锁吗?
61、什么是线程安全,怎么保证线程安全?

62、经常宕机,怎么排查问题?
63、采用Linux命令
64、分布式集群怎么生成唯一id
65、redis的数据结构,及其使用场景
66、Spring AOP原理和使用场景
67、final的作用
68、indexOf怎么实现,LeetCode
69、volatile和atomic的区别?

70、HashTable、HashMap、ConcurrentHashMap区别
71、netty在NIO上面做了哪些扩展?
72、Nignx用来干嘛? 灰度发布?

73、Tomcat、nginx怎么看日志?
74、Tomcat怎么配置线程数?
75、Tomcat怎么配置JVM参数?
76、JVM有哪些参数?
77、什么是并发?

78、Netty线程模式
79、阻塞队列怎么实现?
80、什么场景使用ReentrantLock,不用synchronized
81、如何判断这个SQL是否需要优化?
82、生产者、消费者、注册中心,怎么工作流程?
83、如何处理TCP粘包、拆包?

84、Java面向对象的四大特征?
85、多态的作用?
86、多态和继承的区别?
87、抽象类的作用?

88、静态类和单例的区别?
89、Redis删除的策略,定时删除和惰性删除怎么结合?
90、Redis是单线程吗?为什么说Redis是单线程?

91、HashMap的Get时间复杂度?
92、插入一个元素,数组和链表怎么插入的?
93、秒杀怎么避免超卖?预减库存?
94、静态代码块、静态方法的执行顺序?
95、最近看什么书?
96、最近研究什么新技术?

97、Redis所有操作都是原子性的吗?
98、ThreadLocal和run方法的局部变量什么区别?
99、接口和抽象类的区别?
100、GC怎么判断一个对象是否存活?
101、查询总成绩第三名的同学
102、实现equals要注意哪些东西?

103、MongoDB和MySQL相比优势在哪里?
104、Zookeeper怎么判断服务提供者已经下线了?
105、Java有哪些锁?

106、两个线程执行一百次i++,会有什么结果?
107、判断一百万个数有没有指定的数?
108、怎么去重计数?

109、spring事务注解什么情况下会失效?
110、MyBatis的核心是使用什么原理?
111、日志追踪是怎么做的?、用户ID、订单ID
112、分布式锁实现有哪几种方式?
113、讲一下http状态码
114、讲一下https
115、MQ怎么保证消息不被重复消费
116、讲一下三次握手
117、Dubbo和SpringCloud的区别?
118、跨域怎么处理?

119、你的亮点是什么?凭什么选你?
120、哪个技术比较熟悉,哪一块代码出来讲讲,让别人明白为止
121、MyBatis的作用?
122、遇到过什么困难?

123、消息队列有几种工作模式?
124、什么是RESTful?
125、Zookeeper和eruaka的区别?
126、Mycat怎么实现跨库Join?

127、Java新特性?讲一下函数式编程
128、分库分表有几种算法?
129、MySQL可以从哪几方面去做优化?

130、Netty里面的零拷贝怎么实现?
131、Spring和SpringBoot区别?
132、Dubbo和SpringCloud怎么互相调用?

133、分布式计数怎么实现?
134、分布式定时任务怎么实现?任务执行时间比定时间隔时间还长怎么办?
135、百万数据、主键查询,查询速度多快?
136、where a and b , 单个索引和联合索引什么区别?
137、线程池拒绝策略有哪几种,默认的是哪个?
138、限流有哪几种算法?用哪些工具?
139、怎么模拟多线程执行冲突?JUC有哪个工具类可以

140、讲一下SpringBoot的启动流程
141、聚集索引和非聚集索引的区别?
142、讲一下线程的状态?
143、MySQL的Innodb和MySAM的区别?如何选择?
144、讲一下JVM的作用?

145、讲一下业务的上下游是怎样的?
146、为什么不推荐使用jdk自带的线程池?

147、synchronized做了哪些优化,什么是偏向锁、轻量锁、重量锁?

148、MongoDB做全量同步、增量同步,数据丢失或执行失败怎么办?
149、MongoDB模糊查询哪个字段?
150、Java的内存储存在哪?JVM
151、用户态和内核态什么区别?
152、讲一下MySQL的 double write(双重写)?
153、JVM有哪些参数?eden和S0、S1比例?年轻代和老年代比例?

154、Redis底层数据结构有哪些?

155、讲一下你三到五年的职业规划?

156、讲一下Solr搜索原理?
157、MySQL和MongoDB和Redis三者区别?
158、客户端负载均衡和服务端负载均衡有什么区别?
159、你需要提升的软实力是什么?
160、你觉得什么项目才是具有挑战性。

161、倒排索引的文档是怎么储存的,储存结构是什么?是跳表吗?
162、MongoDB是用几台、主从?分片?
163、Solr和ES区别
164、讲一下Lucene
165、可以讲一下redis 的Pipeline吗?
166、Redis是删除失效数据机制?
167、Redis的排序集合底层的实现原理?
168、讲一下Dubbo调用的整个流程
169、讲一下Zookeeper和eruka区别
170、讲一下SpringCloud所有组件
171、讲一下Hystrix实现机制,什么时候恢复
172、MySQL建立表的时候注意什么?建立索引要注意什么?
173、什么时候使用hash索引,什么时候使用b+tree索引
174、为什么范围查询在b+tree查询比较快
175、可以讲一下红黑树吗,用在什么地方,有什么优点?
176、建立(a,b)联合索引,单独查询a会生效吗,单独查询b会生效吗?
177、讲一下Spring IOC、AOP,画图(最简单也说不清楚)
178、线程池执行两个线程,怎么保证两个线程执行顺序?
179、怎么使用MQ的?
180、讲一下堆,为什么要分代?
181、怎么直接分片一个对象到老年代
182、年轻代经过多少次ygc才会晋升到老年代
183、年轻代里面eden、s0、s1、还有和老年代的比例
184、CMS整个垃圾回收流程?
185、CMS配置参数
186、CMS什么时候回Stop the world?
187、CMS什么时候回压缩内存?
188、CMS垃圾回收打印日志
189、技术选型怎么自己选的吗?如果让你选会怎么选?
190、Spring怎么解决循环调用问题
191、讲一下MyBatis一级缓存、二级缓存吗?不同连接会使用一级缓存、二级缓存?(重要)
192、平时会写博客,开源Github,讲一下对此想法
193、讲一下负载均衡?一致性hash怎么解决倾斜问题的?
194、跳表的时间复杂度是多少?
195、了解物联网开发吗,也会用到netty
196、如何判断对象是否存活,GC Roots引用链?

197、你们异常是怎么处理的?
198、Rpc是怎么限流的?
199、使用Dubbo过程遇到什么问题?
200、讲一下netty的reactor模型
201、项目中使用哪些多线程
202、参数校验是怎么做的?

203、Solr位置搜索原理、增量索引、全量索引
204、如何设计短url、怎么判断已经存储了该url
205、微信怎么设计?
206、three num 算法
207、juc大体讲一下,从宏观到微观

208、如果让你设计MQ订阅,怎么设计?推、拉
209、Dubbo怎么区分本地接口和远程接口
210、Redis命令、批量处理的命令,Redis所有命令
211、Redis管道,如果有一个异常怎么办?
212、Redis有删除key机制?
213、JVM参数
214、线程池,类、执行过程
215、CMS垃圾回收过程

216、业务流程,账户的钱是怎么流转的?
217、画一下技术架构
218、nginx挂了怎么办?用户怎么找到另一个服务器ip
219、dns怎么找到ip
220、http全称是什么?http协议里面有什么?
221、epoll和select的区别?
222、怎么判断是读请求还是写请求?
223、线程模型有哪些?
224、讲一下NIO模型
225、服务端是怎么绑定端口?
226、什么是负载均衡、什么是负载,什么是均衡?
227、怎么判断一个服务器的压力测试QPS,TPS是客观正确的,IO密集型和CPU密集型
228、hession为什么说序列化快,restful不是也是二进制吗?
229、垃圾回收期stop the world怎么实现?
230、linux命令,查看性能的命令,查看进程下面的线程信息是哪个命令?
231、同步阻塞和同步非阻塞的区别?
232、ConcurrentHashMap分段锁是怎么实现
223、dubbo的高性能体现在哪里
234、dubbo的线程模型?
235、dubbo线程池?
236、netty解决epoll空轮询bug为什么要重建个selector,停一段时间把CPU让出去不行吗

237、怎么设计1000w的mi
238、SPI怎么支持AOP、IOC
239、Dubbo的容错机制有哪些?
240、你平时怎么提升自己的?
241、线上问题怎么排查
242、反射的实现原理

243、如何去学习新技术
244、加密算法有理解过哪些,md5是对称加密码?
245、四次挥手有哪两个重要状态,值是多少?为什么?
246、mysql的缓存是怎么实现的?
247、你们是前后端分离吗?怎么解决跨域问题?
248、微服务存在什么缺点?
249、可以画一下微服务之间的调用吗?
250、了解哪些设计模式?
251、线程的状态了解哪些?
252、jdk1.8的新特性,lombda, ::表达什么 ...表达什么?
253、wait、notify方法为什么在Object类,而不在Thread类?
254、hashMap除了超过负载因子的时候会扩容,还有什么情况下会扩容?
255、redis的集群是怎么选择,什么情况下选择哨兵,什么情况下选择集群?
256、讲一下类加载,创建String会怎样?
257、泛型是怎么储存在字节码的?类型擦除是什么?
258、Linux shell命令?
260、nginx为什么比tomcat快?
261、配置过nginx哪些东西?
262、了解docker、k8s吗?能讲多少就讲多少?
263、链路追踪怎么实现?
264、es和solr区别?

265、画一下业务架构、技术架构图
267、mysql、redis、mongodb高可用是怎么实现
268、redis集群是怎么实现
269、查询总成绩第三名的同学,如果两个同学同分数呢?
270、讲一下ThreadLocal?
271、怎么让主线程执行在两个子线程后面?
272、消息队列的高可用,刷盘后磁盘烧毁怎么办,是先刷盘再发confirm给生产者吗?
273、Dubbo和SpringCloud的区别
274、怎么排查棘手的问题?
275、如果产品提出无可理喻的需求怎么办?

276、two sum 几种实现方式?
277、4亿用户怎么找出访问次数最高的100个用户?
278、StringBuilder和StringBuffer的区别?
279、HasMap、HashTable、ConcurrentHashMap区别?
280、拥塞控制有哪几个算法,讲一下每个算法里面的内容?
281、hash算法的时间复杂度
282、redis主从是怎么实现
283、redis除了做缓存,还可以做什么?
284、浏览器整个请求流程是怎么样的?
285、解决hash冲突的方法有哪些?
286、排序集合的底层使用了什么数据结构(高频题),什么使用跳跃表?为什么使用压缩列表?
287、怎么保证缓存一致性(高频题)
288、事务隔离级别?什么级别会出现脏读,什么级别不会出现幻读?
289、tcp怎么保证稳定、可用?
290、Linux常用的命令?查看资源、性能的命令是什么?(高频题,不要再犯了)
291、悲观锁和乐观锁的区别?

292、对dubbo哪块源码比较熟,服务引用,服务暴露?
293、MQ刷盘怎么刷?
294、MySQL的集群和主从是什么区别?

295、redis4.0新特性是什么?

296、rabbitmq高性能体现在哪
297、nginx高性能体现在哪
298、rabbitmq有哪些模块
299、rabbitmq集群
300、事务隔离级别,可重复读怎么实现的,
301、聚集索引和非聚集索引区别
302、为什么用b+数不用其他
303、消息队列一致性
304、mongo集群
305、mysql集群
306、你的项目的QPS是多少?
307、布隆过滤器的实现原理?
308、mongodb分片的路由规则,有分片就一定有路由规则

309、MySQL怎么去重
310、MySQL注入问题,如何避免
311、协议里面数据长度是用高八位还是低八位

312、有什么兴趣爱好吗?一直坚持的做的事?
313、高性能是什么,标准是什么,qps高就是高性能吗?
214、为什么选择rabbitmq,而不选择kafka,为什么说是轻量级?
215、Dubbo客户端执行的逻辑,Dubbo怎么和Spring交互?
216、熟悉网络协议吗,http第一行是什么,ProtoBuf协议内容是什么?
217、写技术博客的心得是什么?
218、你最有成就感的事情是什么?

219、Netty内存管理是怎样的?
220、秒杀系统的架构?
221、tcp拆包和粘包问题是什么,怎么解决,深入一点
222、讲一下Netty的零拷贝
223、讲一下聚集索引和非聚集索引的区别,哪些索引属于聚集索引
224、讲一下为什么建立主键索引,为什么要自增,为什么是整型?
225、讲一下netty为什么比普通BIO的快?
226、讲一下netty运用在什么场景

227、Mongodb底层存储结构
228、让你设计消息队列,怎么设计
229、讲一下几种排序算法,为什么快速排序不稳定?
230、如果查询慢,如何排查?

231、秒杀系统怎么判断同一个用户
232、创建一个线程,JVM怎么分配内存
233、如何进行JVM调优?
234、创建一百个线程,会占多少堆内存?
235、volatie,内存屏障怎么实现
236、讲一下零拷贝,java里面的零拷贝,netty的零拷贝?
237、五种网络模式

238、MySQL主从复制有几种方式
239、utf8和gbk的区别,项目使用的是哪个,为什么使用这个?
240、notify和wait为什么使用synchronize方法里面?
241、redis有1000万个key,找出前缀为***的key的命令是什么?
242、Linux查看某目录下的内存,占磁盘大小
243、mian方法args参数怎么传递?
244、熔断怎么实现?
245、JVM参数配置,使用哪个垃圾回收器
246、Spring Boot Starter原理
247、MySQL死锁怎么解决
248、@Mapper的工作原理
249、MySQL的TPS是多少?
250、各种Linux命令、Redis命令都要熟
251、jdk动态代理怎么实现,实现哪个接口
252、动态代理有几种类型,AOP前置增强后置增强怎么实现?
253、get、set方法在高并发情况下有什么问题
254、redis连接服务器命令

255、异步转同步怎么实现
256、悲观锁和乐观锁使用在哪些场景
257、tcp拆包和粘包问题
258、tcp包缓冲区大小
259、mybatis乐观锁实现

260、SpringCloud和Dubbo的区别
261、Feign远程调用原理
262、A调用B,A执行一次,B执行两次,有什么几种可能?
263、Spring生成bean的一个过程?
264、SpringBoot启动流程,starter原理(SpringBoot只需知道两个,一个是启动,另一个是starter)
265、生成@handler注解像@Service注解功能一样,怎么生成
266、Lock的ReentrantLock怎么让线程停止,使用哪个api
267、dubbo的核心spi
268、聚集索引和非聚集索引区别
269、innodb和myisam建立索引的区别
270、循环依赖原理解决,构造注入为什么不可以?(最常问,问了好多次)
271、遇到最棘手的问题,怎么解决的?

272、讲讲负责的模块
273、静态synchronized和非静态synchronized是否互斥?类锁(静态方法)和对象锁(实例方法)是不一样的锁,不互斥
274、integer a=200,和int b = 200是否相等?(true)
275、类加载的过程
276、volatile和synchronized的区别
277、synchronized和lock的区别
278、spring事务的回滚是异常是哪种?
279、exception和error区别
280、网站访问速度慢的排查方法?
281、JVM排查问题工具

282、OOM怎么排查,使用过jmap吗?
283、保存dump文件使用哪个命令,发生full gc储存dump文件使用哪个命令
284、Spring事务同一个类A方法(没有注解),调B方法(有注解),会发生失效,原因是什么?不同类的A方法(没有注解)调用B方法(注解)
285、分布式锁实现,为什么不使用setnx(没有超时时间,容易死锁)
286、系统突然cpu飙高,怎么排查
287、幻读是什么,怎么避免
288、聚集索引和非聚集索引的区别。
289、i++,10个线程执行总共1000次,结果范围是哪里?加volatile可以保证线程安全吗?
290、消息队列怎么保证可靠,什么机制?消息丢失怎么解决?
291、dubbo远程调用、springcloud远程调用怎么保证安全性。不被外界调用

292、where和having by什么区别(where筛选的是数据库表里面本来就有的字段,而having筛选的字段是从前筛选的字段筛选的)
293、solr的搜索引擎是什么?
294、抽奖恶意攻击的ip怎么处理,如果他们使用ip池或代理ip呢?
295、http远程调用怎么保证事务?
296、服务器推送怎么实现?
297、内存溢出怎么发现?
298、base64原理是什么?
299、md5原理是什么?类似的算法有哪些?(不可逆的哈希算法,SHA、CRC-32)
300、MyBatis查询出最大的自增id
301、秒杀系统http层面会出现什么问题?
302、对加密算法的了解?
303、微信支付事务怎么实现的?

304、绑定的token怎么储存的?token一定会有失效时间??
305、open api的安全机制oss
306、乐观锁一定是否使用版本号吗?重试的次数怎么推算出来?
307、秒杀密码加密怎么做?
308、线程池有几种类型?

309、100万数据查找一个数,100万占内存多少?int占多少字节(4个字节,32位),long占多少字节(8个字节,64位)
310、HashMap查询时间复杂度,最差时间复杂度,链表变红黑树,除了8还有什么情况?(一个是链表长度到8且一个是数组长度到64。如果小于64就扩容,大于64就转红黑树)
311、同步队列使用哪个场景
312、AQS使用在哪些类?
313、CountDownLatch参数设置具体哪个值?
314、为什么三次握手而四次挥手?
315、四次挥手有几个状态?(FIN_WAIT1和2、TIME_WAIT、CLOSE_WAIT、LAST_ACK、CLOSED)
316、三次握手交换了什么信息?(准确讲是成功交换了彼此说话的起始序号,x为随机生成数值)
317、为什么秒杀使用限流使用guava的RateLimiter?令牌桶使用在什么场景,漏斗桶使用哪些场景?
318、线程同步有哪些方法

319、http状态码?
320、Spring和SpringMVC区别?
321、溢出有哪种?
311、线程状态有几种?
312、wait()notify()实现生产者消费者
313、MySQL死锁
314、自己遇到有收获的问题
315、dubbo为什么性能高?
316、数据库中的左连接和右连接的区别

317、1百万的数字找出最大前1000个数字(1字节等于8位,1kb等于1024字节(不是位))
318、从一个数组找出一个数字的下标?

319、压测的指标是什么?
320、设计接口需要注意什么?
321、kafka、rabbitmq、rocketmq什么区别
322、mongoDB的缺点?
323、讲一下三高,高性能、高可用、高并发(不是高扩展)
324、从mysql导100万数据到excel
325、线程池如何设置核心线程数(一定要联想到cpu)
326、如何避免中文乱码
327、查询所有课程都大于90的同学姓名
SELECT S.name FROM Student S GROUP BY S.name Having MIN(S.score)>=90
328、mysql横竖转换 张三 58 85 96(https://blog.csdn.net/qq_39891520/article/details/79735575

SELECT user_name ,
MAX(CASE course WHEN '数学' THEN score ELSE 0 END ) 数学,
MAX(CASE course WHEN '语文' THEN score ELSE 0 END ) 语文,
MAX(CASE course WHEN '英语' THEN score ELSE 0 END ) 英语
FROM test_tb
GROUP BY USER_NAME;
329、protected声明(子孙类也可以用)、f'riendly(子孙类也不可以用)

328、什么时候使用接口?什么时候使用抽象?
优先使用接口。 2.使用抽象类:既要约束子类的行为又要为子类提供公共的功能。
329、接口最小化原则(可维护性较差、编译时间长、用户不好理解它)
330、MySQL死锁原因和解决方法(两个用户执行不同顺序的表,执行多个表顺序要相同)
331、手写代码(100以内的质数、生成者消费者、冒泡排序)
332、抽象类一般使用在哪个设计模式?
333、模板方法模式使用在什么场景?

334、 红黑树怎么实现,优点是什么?
335、讲一下阻塞队列
336、cas和lock的区别?
337、讲一下synchronize在同步块和修饰方法的实现区别?
338、联合索引abc,查询a,b和查询a,b,c什么区别?查询a>0和b=0会走索引吗?
339、遇过线上慢查询sql和fullgc这种情况,怎么解决?
340、cas的缺点?使用场景?
341、CMS的GC流程?
342、静态工厂和实例工厂的区别?
343、讲一下java的锁?
344、tree+和tree的区别?
345、HashMap有什么线程安全问题?底层实现(最好的答案)
346、AQS抽象队列同步器实现原理?(int state + clh队列)
347、讲一下java内存模型


348、spring生命周期
349、spring创建bean执行一段逻辑(InitializingBean#afterPropertiesSet方法、ApplicationListener接口、SpringBoot的ApplicationRunner)
350、dubbo重试怎么配置
351、线程池配置的等待队列是哪个(ArrayBlockingQueue基于数组的先进先出队列,有界、LinkedBlockingQueue基于链表的先进先出队列,无界、SynchronousQueue无缓冲的等待队列,无界)
352、主线程等待子线程执行有哪些方法

353、redis使用高级场景。redis如何保证幂等性。
354、mongodb or 多字段查询优化,用什么工具,什么中间件
355、MySQL in和exists区别,MySQL in 查询优化
456、Dubbo深入讲一下拿手部分

457、foreach删除list元素有什么问题
458、redis分布式锁有什么问题?
459、cpu爆满怎么处理(top,gc问题和线程代码问题)
460、http请求慢排查(ping网络、内存free、cpu top、gc jstack、慢sql)
461、一般什么原因导致堆溢出和栈溢出

462、spring默认的一个事务传播级别
463、spring启动有几个容器,关系怎样?
464、建立b、c索引,查询a,b,c数据库是怎么查的?
465、统计在登录人数,异常退出怎么处理
466、http502是什么意思,http请求报文有哪些信息
467、什么时候会发生垃圾回收 ?
468、hashmap的空key怎么储存的,hashcode函数详细讲一下

469、怎么避免重复下单
470、下单后没有支付,需要取消订单库存扣减,怎么实现这个
471、你项目的redis是集群还是单机?
472、Redis的删除策略和淘汰策略
473、spring循环依赖为什么构造器不可以解决?
474、可重复读解决了什么问题,幻读怎么解决
475、Spring bean生命周期
476、Spring中bean的作用域

477、短url系统 模块设计,储存,查询
478、求两个链表的交点
479、Redis持久化,HyperLogLogs
480、如何实现统计每个ip访问量?

481、自己的优点缺点,不仅是技术上而且是沟通能力合作能力?
482、多线程调用http上传文件可能发生什么问题,底层方面的?
483、主从延迟怎么解决?
484、ThreadLocal工作中使用场景?(ThreadLocal存放一个session)
485、b+树一般多高,能存储多少数据?(一般2-3层,3层就储存1亿数据)
486、定时推送数据怎么实现(普通推送无非就是轮询和长链接),kafka可以延时推送吗?
487、频繁full gc怎么处理
488、埋点系统怎么实现,画图?
489、判断字符串是否是回文字符串?
490、公司靠什么盈利?
491、失业这段时间做了什么?

492、MySQL各个函数清楚吗?
493、MySQL视图?
494、如何避免短信漏发或重复发送?
495、订单有哪些张表,用户表里面有什么字段?自增id?
496、宕机怎么排查,查询慢怎么排查?
497、创建监控中心,需要监控哪些数据?
498、订单统计怎么优化的?
499、订单下单流程?
500、分布式锁用到哪些场景?
501、怎么设置redis失效时间、怎么设置永久有效?
502、工作中有哪些代码规范?
503、一个用户创建的数据库表,另一个用户怎么查看?(oracle :Grant create session to user1;)

504、线程安全的arrayList,读写list、vector
505、分布式锁如果业务逻辑执行很久怎么办,延迟锁,如果一直执行一直延迟下去吗?如何中断?如何避免重复执行?
506、讲一下Spring里的注解,@Service和@Component区别
507、如何判断是否加索引?
508、聚集索引和非聚集索引的区别
509、java信号量有哪些?JUC有哪些信号量工具(semaphore、countDownLatch、CyclicBarrier)
510、单例模式有几种,双重校验怎样,为什么要加valotile,valotile用在什么场景,双重校验为什么会发生指令重排,不是加锁了吗,第一个校验null什么作用,可以去掉吗?
511、什么时候用重入锁,什么时候用非重入锁?
512、泛型,是运行时还是编译时,类型擦除后存储什么类型
513、手写大写字符串逆序,比如"IAmTom"转换”ImAmoT“
514、用过jdbc吗?
515、建立(a,b,c)联合索引和建立a,b,c三个单独索引什么区别?
516、系统设计题,把文件导入数据库,但文件生成的速度有快有慢,数据库的性能也是随时变化的?
517、讲一下四大引用,使用场景
518、为什么#在预编译可以避免sql注入

519、final修饰变量、方法、类什么作用,final修饰integer,它还可以改吗?final修饰ArrayList和不修饰修饰ArrayList,两者什么区别?
520、什么情况下会发生full gc?
521、什么是可达性分析法?(从 GC Roots 开始向下搜索,搜索所走过的路径称为引用链。当一个对象到 GC Roots 没有任何引用链相连时,则证明此对象是可以被回收的。)
522、 String中substring方法会导致内存泄漏问题吗?

523、Java文件读取,写入数据库
BufferedReader in = new BufferedReader(new FileReader(fileName)); //阅读器
while(null!=(line = in.readLine())){}

524、where a or b ,单个索引a、b或联合查询a和b有用到索引吗?(a,b单个索引会合并索引,联合索引不会用到两种情况select * 不会,其他会) 失误!!!
SELECT a,b FROM table WHERE a = "2" or b = "1"; 有用到索引
SELECT * FROM table WHERE a = "2" or b = "1"; 没用到索引

525、redis淘汰策略和删除策略要分清楚啊??失误!!!
526、redis内存击穿(量大)和穿透(缓存没)区别分清楚啊啊啊啊?失误!!!
527、Spring加载过程?
528、布隆过滤器如何避免误杀?
529、预占库存怎么实现?
530、redis 的lua脚本怎么访问,如何设计?
531、爬虫反爬策略用哪些?

532、java 8 lambda表达式 stream要懂,这个要刷题
533、spring cloud 需要重新回顾一遍,刷书
534、集群部署,对机器的部署不清楚,失误!!!!,得恶补
535、订单号生成规则
536、分布式事务,项目怎么使用,可编造
537、消息队列id,如何保证消息可靠性
538、表达偏内向,注意open一点
539、aop、拦截器、过滤器,aop可以获取到header吗?失误!!!!
540、Spring事务,注解是什么?trycatch会回滚吗?什么情况下会回滚?
541、下单支付回调?

542、有没有参与完整表设计?
543、如何实现插件化的扩展,有新的店铺怎么办
544、如何做优化,哪方面

545、订单和支付如何实现,全流程详细
546、redis如何保证幂等性?
547、如何使用mq去保证分布式事务
548、收益管理系统报表怎么实现?

549、订单号生成!!!必问!!!
550、BeanFactory 和 ApplicationContext有什么区别?
551、spring使用哪些设计模式?

552、OOM内存溢出 原因,排查,解决?
553、求两个List的交集和差集?
554、sql中where、having、group by、order by执行和书写顺序?
555、线程状态?
556、三个线程轮询打印1到100?
557、MQ使用在哪些场景?
558、哪些情况会导致索引失效?说的越多越好

559、hashmap如何解决哈希冲突?
560、尾插法为什么比头插法会降低死循环概率?
561、讲一下你做的最复杂的模块?
562、rabbitmq如何保证事务一致性
560、hashcode,equals内容是什么,只重写equals()但不重写hashCode会有什么后果、重写hashcode要注意什么?
561、mysql建索引需要注意什么?

562、dubbo的生产者挂了,消费者可以启动吗,需要配置什么参数才可以启动
563、spi是什么,留个接口可以对接其他组件
564、Fegin如何配置重试次数和超时,Fegin有哪些参数?
565、Spring Cloud gateway路由转发到哪个服务,怎么配置
566、哪些Exception
567、Spring有哪些注解,Transtional有哪些参数?
568、分布式事务可以讲一下吗?(每次都讲不好???)
569、Hystrix如何避免学崩,降级,通过fallbackMethod = "createOrderFallbackMethod4Timeout"制定降级调用的方法
570、哪些技术亮点可以展示的?(没准备??)

571、方法区在1.7和1.8的区别,主要存储什么?
572、如何设计连接池?

573、爬虫的抓取流程?

574、怎么用不可变的list,使用guava Immutable里面提供的
575、线程池哪个类ThreadPoolExecutor,哪几种等待队列?LinkedBlockingQueue可以设置长度吗?会扩容?
576、SpringCloud的网关使用哪个,后面的服务挂掉怎么办?网关怎么处理?
配置retry
577、Dubbo的远程调用原理?
578、maven怎么配置控制代码规范,maven构建的时候代码不规范会报错?
579、你的代码怎么进行单元测试的,代码覆盖率?导出报表?

580、rpc的通信协议用过json吗,必须清楚各种类型通信协议,及其原理和优缺点?

581、写代码要注意什么?空指针?异常?
582、分布式事务,一定要研究透彻。
583、冒泡排序

584、研究guava包,画出思维导图

585、单元测试和集成测试区别?

面经.png

你可能感兴趣的:(面经汇总(更新))