面试总结:简历上写的一定要会,如果你项目中写到了哪个技术,这个技术的原理,底层实现一定要先百度一波背下来。5年左右工作经验 不是问你这个技术怎么用,而是问底层实现。线上遇到哪些问题是怎么解决的,要准备,没有也要编一个出来,要编个高大上一点的。 redis如果只用到String类型的set,get , 也要编一个别的数据结构的用在项目上。redis, mq , spring cloud/springcloudalibab 这三个一定要会。
面试问的最多的两个问题:
你在工作中遇到的最困难的事,怎么解决的?
你有调优经验吗?说一下
1.面向对象的三大特性?
2.接口和抽象类的区别?
3.成员变量和局部变量的区别?
4.ArrayList和LinkedList的区别?
5.hashMap和ConcurrentHashMap的区别?
6.线程的状态
7.多线程有用过吗?有并发的场景吗?
8.线程池怎么创建?ps线程池的参数也经常问
9.redis五种数据类型?
10.hset这个命令是干什么用的,redis的数据有没有存进去怎么用命令看?
11.@Autowired和@Resource的区别?
12.有两个bean冲突了,会有一个注解指定一个bean,那个注解叫什么
13.spring 的 aop的原理?
14.mysql的索引类型?
15.复合索引的特点?
16.索引优化有接触过吗?说说
17.sql优化查看执行计划用哪个关键字?
18:查看执行计划后,怎么判断是命中索引?
19.spring cloud的组件?
20.rabbitMq的作用?主要用来做什么?
21.mongoDB中有一个聚合查询有了解吗?
22.eureka是怎么做到注册与发现的?
23.linux的命令说几个
24.tail -n 5000行,怎么在这5000行里查找关键字
25.git冲突是怎么解决的?
26.activity这个工作流你在项目中是怎么用的?
27.你们这个项目最大的数据量是多大?
28.最大的表多少个字段?几个索引?
29.es有接触过吗?倒排索引是怎么实现的?Kibana呢?
- 讲讲spring cloud?
31.spring cloud各个微服务是怎么调用的
32.你们项目中是怎么用的redis?
33.项目组有多少人?(说多一点,显得项目大,我就吃了这个太老实的亏)
34.你们项目有有高并发吗? (如果面互联网的公司,高并发一定要准备,就算项目中没用到,也要说自己研究过,比如可以说说怎么设计一个秒杀系统)
34.spring cloud 有哪些组件?
35.spring有用到哪些设计模式?
36.单例的实现方式
37.DCL双锁有什么优点?安全那性能有影响吗?看到在哪些框架用到过DCL,或者在项目中有用到吗?
38.spring有个自带的chech缓存插件知道吗?
39.sql有做过优化是吧?讲一个你实际工作中做过优化的一个案例?把业务场景讲一下,是什么问题怎么优化的?
40.建索引有什么原则?
41.复合索引where条件是怎么匹配的?
42.mysql的存储引擎?
43.jvm调优?你们项目中没有出现性能问题吗?你讲讲你们项目中出现的性能问题你怎么解决的?讲个具体的例子?
44.jvm调优参数怎么配?比如最大堆内存,最小堆内存?是用什么命令配?jvm的诊断工具用过吗?
45.mq你们项目中是怎么用的?怎么处理mq的重复消息?mq还有什么别的应用场景?mq的限流,比如说双十一并发流很大怎么做?怎么保证消息的顺序性?比如说前一百名消费有赠品,并发量很大怎么知道这些消息的顺序性?
46.redis你们用在哪些方面,有哪些应用场景?
47.看过源码吗?看过哪些源码,讲讲?
48.hashMap是线程安全吗?不安全,那怎么实现线程安全?ConcurrentHashMap是线程安全的,那它又是怎么实现线程安全的?
49.有三个线程,怎么实现线程的按顺序执行?
线程的join()知道不?
软件设计的原则
52.select join where group by having等的执行顺序?
53.什么时候索引会失效?说说你在工作中遇到的索引失效?
54.复合索引为什么要从左匹配?为什么不是从右?
55.跨域怎么做的?
56.Spring boot是先扫描哪个地方?
57.mysql 怎么实现事务的?
58.分区分表springboot怎么支持,比如说哪个月份查哪个表?
59.前端有报错比如报一个IO异常怎么排查?
60.怎么创建索引?
61.索引的好处坏处?
62.Springboot有哪些注解?
63.动态代理?如果没有cglib 代理,就用代理模式怎么实现一个cglib代理 ?
在哪里用到了cglib 代理?
64.Jsp 是一个servlet?
65.元注解?
66.websock的实现原理
67.TCP和UDP的区别
68.Linux关于网络的命令,比如系统很慢怎么查?
69.Where后面什么情况不会走索引?
70.有哪些索引?
71.Autowride和resoure 区别
72.Sleep 和wait区别
73.项目中怎么用的多线程?
74.spring boot的start有哪些?
75.spring boot的定时任务,部署多台服务怎么确保执行一次?
76.redis在项目中用到了几个数据类型?部署了几台服务,有主从复制吗?
mq一般作什么用?限流知道吗? 怎么保证顺序性?
mq 怎么知道消息消费了?
上传到云存储比如说视频或图片很大,是怎么进行压缩的?
spring boot有什么优势
spring cloud 和 spring cloud alibaba的区别
你们activity的会签是怎么做的
83.微服务各个服务是怎么调用的
mq你们是怎么用的
docker也用过,是在项目中怎么用的。
86. 查找某个进程然后kill掉 用一条命令怎么实现?vue中的勾子函数
nginx是怎么配置代理的?
feign在开发中有没有出现调用不到的情况? feign是用localName调用还是ip, 我答localName,那用ip调用怎么做?
docker 有哪些命令?docker 要进入具体的比如redis,mysql 怎么做?
多线程用在哪? 还能用来干吗?
aop用在哪里,我说了日志和登录的权限验证,还能用在哪里?
字典存到redis 是在什么时候进行的?
安全框架shior 有哪些方法?
seata用的哪个模式,和TCC有什么区别? 我说用的AT模式,那你们是怎么做的?
spring boot的配置文件有几种?不是指环境,我说有bootstrap和application,那哪个优先级高一点,bootstrap会不会被覆盖?
97.feign你们是设置多久的超时,超时怎么处理?
activity工作流的回退怎么做的?
mq可以用来做什么?
redis 你们怎么用的?
101.说一下你对ioc和aop的理解,aop的优势,为什么要用aop?
101.事务:一个类里A方法调用B方法,B方法有@Transactional注解,事务会不会生效?答不会生效,又问为什么不生效?
spring mvc的工作原理?
多线程你们有没有用到? 是怎么用的? 多线程的参数?
104.说一下jvm的内存模型?堆里放的是什么,对象,那对象是公有的还是私有的。那多个线程一起操作这个对象怎么保证可见性?
java的集合? 哪些是线程安全的?
说一下mysql 你都是怎么优化的? 除了用索引还有什么别的办法?
like左通配符不能用索引,那我一定要用怎么办?用什么替代?
108.有用过哪些函数(mysql)?
109.docker 怎么把jar包打包成镜像?打成镜像之后,如果这个jar包想改一个文件怎么办?
110.docker已经运行了,还想要挂载怎么做?
- activity的审批taskService.complete底层是怎么实现的?
112.OOM内存溢出怎么排查?
113.equase和==号的区别?new Student两个对象,年龄和姓名都一样,问equase是否相等?
什么情况下重写equase?
只重写equase 不重写hashcode可以吗?
怎么避免超卖?
A系统调用B系统有哪些方式?
有一个list数组需要排序,你会怎么排序?讲几种思路就好
119.有一个字符串,abc或者aac 另一个字符串有这几个字母(无关顺序)比如bac都是返回true, 怎么做?
120.gateway为什么能做网关?
121.多服务器token是怎么交互的?
122.gateway是怎么校验用户的?
123.mybatis是生成了什么代理,做了什么事?
124.TCP的粘包?
125.seata 的TCC和AT 区别?
126.如果说两个网页,后面登录的踢掉前面登录的?怎么做?
tomcat和nginx的区别、
redis集群怎么处理脏数据的?
129.虚拟机和docker的区别?
下面是我认识的人告诉我他的面试题
130. 主导过哪些项目及改进?
- 数据库IO满了怎么办?
132.如果不准用join该怎么做?
133.你能给团队带来什么?
134关于springBoot的一些原理知道吗?什么是IOC容器?原理?
135.Spring装配原理是什么?线程池有什么参数?
136.计算密集型,怎么设计队列?
137.synchronized与Lock的区别?
138.redis有哪几种备份方式?
- 最新redis支持多线程,怎么弄?分布式锁怎么实现?
140.对于ThreadLocal了解吗?
141.了解MVCC吗?
- MDC是什么?
143.什么是悲观锁?什么是乐观锁?乐观锁的ABA问题?
144.索引什么时候失效?使用like会失效吗?使用函数会失效吗?
145 PageHelper和mybatisPlus,底层是怎么实现分页包装的?
146.redis redis缓存穿透、缓存击穿、缓存雪崩区别和解决方案
147.redis mget mset 操作区别
148.mysql 深度分页处理
149.mq 如何保证消费幂等性,消息如何去重,如何保证可靠性
150.spring boot 启动流程
151.spring cloud 各组件,服务注册 eureka 架构
152.mysql 隔离级别、事务传递行为,存在的问题,如何解决
153.AQS、CAS ,怎么自定义实现公平锁,非公平锁
154.Spring Bean 的生命周期
155.JVM 内存模型、gc 回收
156.线上问题排查方案
157.redis 持久化
158.分库分表 解决方案
笔试题:
若有收获,就点个赞吧