面试复盘

过去的,未来的
2020-05-07 / 1 评论 / 0 点赞 / 781 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2020-05-09,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1,sql优化(sql语句,索引优化,慢日志,show profiles,分库分表,缓存)
2,你们项目经常使用的QPS有多少呢?
3,你们项目的数据量级大概多少?
4,数据量级要发生十倍,几十倍增长,数据量特别多的话,你觉得现在项目实现方式会有什么问题?
5,你大概了解哪些分库分表的知识?
6,水平拆分表,竖直拆分表讲一下?
7,拆分多个表后,我还需要有唯一主键的,如何设计唯一主键的接口呢?
8,nginx的优化具体做了什么?
9,mq 你们平常使用中做的是生产者?还是消费者?
10,mq消费中怎么保证消费的顺序的?
11,mq的幂等性怎么保证的?
12,redis和mysql的数据不同步的情况有没有?你们怎么保证数据一致性?
13,假设mysql新增一条数据,这个redis更新的流程是怎么样的呢?
14,redis的常见数据类型
15,redis常见类型间的区别?
16,zset的使用场景?各类型的使用场景?
17,zset的底层是使用什么样的数据结构来实现有序集合呢?
18,redis的数据持久化的方式了解嘛?
19,具体是什么策略来实现数据持久化的?
20,微服务的简单介绍,各组件?
21,sql优化中like前后百分号会无法走索引,假如现在就是有个场景,需要用到模糊查询,用到Like,有什么可以解决这个索引失效问题吗?
22,有一些搜索引擎你 有了解过吗?
23,五年工作中印象最深刻的事情是什么?(实际生产中遇到什么问题?)
24,算法:
(1)单量表,你需要判断一个有么有一个环?
(2)给你一个有序数组,再给你一个目标值,比如1,2,3,4。。。找到4这个值,如果你找到这个值就返回他的下标,如果没找到你就返回-1,怎么实现?有一个特点是有序的,除了遍历,有没有更好的办法
25,二分查找树的实现记得吗?
26,在24(2)的基础上会在某一个地方反转,规则旋转,比如1,2,3,4,9,8,7,6,5,。。。这种情况下,也是要找一个数,有没有好的方式?

1,有没有遇到性能优化之类的工作?
2,数据库的优化怎么做的?
3,你们处理过高并发的问题吗?考察高并发处理
4,有没有做过JVM之类的优化?
5,你们有出现过类似内存溢出这种问题的嘛?
6,Activemq 你们的使用场景?
7,Linux的常用命令?
8,有没有写过shell脚本
9,设计模式?项目开发中用到哪些?是什么场景用的?
10,运维的监控你们是怎么做的?
11,程序层面的监控你们是怎么做的?
12,你平时都关注哪些网站?研究哪些技术?
13,微服务这边你们是怎么拆分的,粒度是什么样?
14,你们前后端分离配合是怎么配合的?开发过程中怎么配合?
15,你觉得比较独特的问题?遇到的问题?
16,你在项目中是什么角色?
17,未来技术的发展方向?

1,你们项目面向的用户是谁?
2,CPU持续飙高的处理?
3,具体的JVM当中,你设置一些参数的时候,你是怎么设置?
4,那你先上的日志是怎么排查的?
5,你们会用ELK来收集嘛?
6,假设如果某一个节点发生了异常,比如10.20发生了一个异常,需要查看左右前后的异常,怎么查看?如何使用grep查看?
7,如果一个端口被占用,怎么查看这个端口被什么应用查看?
8,如果查看某个应用占用哪些端口用什么命令?
9,如果日志不太好 复现,需要查看历史某一个节点的日志怎么查看?
10,Redis的使用场景?
11,你们用到redis的哪些存储类型?
12,Redis的缓存雪崩,缓存穿透怎么解决?
13,你们的数据缓存同步是什么时候进行的?
14,Mysql5.6和Mysql5.7的差别?语法?
15,在mysql创建索引的时候,索引的数据结构讲一下?
16,如果建立索引,A,B2个字段创建联合索引,单独使用A或者单独使用B的时候会使用到索引嘛?
17,比如sql,where条件中写了a,order by使用了b,c,这个时候如何建立索引快速生效?
18,Explain查看索引的时候,你一般会查看哪些字段?参数?
19,Sql发生了慢查询,怎么解决?
20,Jvm的内部结构了解嘛?
21,Java的数据结构hashset是怎么去重的?
22,Hashmap的内部结构?怎么运行?
23,重写equale的时候为什么还要重写hashCode方法?(equals默认是object方法的,经常使用string包的)
24,Arraylist和linkedlist有什么区别?
25,那如果查询的是list里面第一个元素,下标可以自动下标去查询,链表也不需要遍历啊?怎么解释?随机访问?了解一下
26,你们用过什么类型的线程池?(单线程化的,可定长线程,可缓存线程)
27,线程池的核心参数?如果我往线程池放一个任务的时候,内部怎么判断需不需要新增线程的?
28,关闭线程池的时候shutdown对已经进行以及还未开始的任务是怎么处理?
29,synchronized和lock的区别?
30,Volatile关键词了解一下?
31,Java锁的区别?哪里有用到?
32,网络相关的问题?
33,DNS解析的顺序是怎么样的?
34,http协议有哪些常用的请求方法,请求头?
35,Options请求什么时候会发生?
36,跨越知道吗?你们后端怎么处理跨域问题?
37,你们场景下用的canal数据库消息中间件?
38,如果想用binlog设置什么模式?
39,学生成绩表,有一列是学生学号,有一列是学生课程,有一列是该门课程学生的成绩,从这个表中筛选出平均分大于7的学生,sql怎么写?
40,Avg使用的使用需要配合什么?可以直接使用?
41,如果我想实现一个输入一个1(1表示位置),返回1,输入4(4表示位置)返回3,怎么实现?计算规律:从第三位开始,这个数怎么前两项的和,比如输入第五位,第五位是什么数?第一项,第二项都是1,第三项是2,第四项是3,类似如此,怎么处理?如果想要拿到第五个数?(递归算法)程序常用的循环,递归,分支

1,spring的事务这么控制的?
2,开发中用到的注解有哪些?
3,Springboot配置文件加载顺序?
4,Maven的几个命令?区别?

1,flaway的具体原理知道吗?
2,Static和final的作用?区别?
3,Stringbuffer,stringbuild的区别?
4,List和set有什么区别?
5,Java抽象类和接口的区别?
6,Java如何实现代理机制?
7,Session和cookie的区别?
8,自定义过注解嘛?
9,Mysql集群?
10,数据库集群的时候出现过脑裂的情况么?怎么处理?
11,了解redis哨兵的机制嘛?
12,哨兵最少有几个节点构成?
13,如果2台节点的话可以吗?(按常理是不可以,但是提供了手动选举的机制,了解一下)
14,Inndb,myisam的区别?
15,适合大数据量的用哪一种存储引擎?
16,你知道设计模式的原则么?
17,用过反射嘛?
18,微服务的拆分粒度?(2次被问到)耦合度?
19,Restful协议?
20,虚拟化的技术?Docker
21,如何做一个Docker镜像?
22,了解过KVM吗?
23,Linux scp你知道是什么命令嘛?
24,抓包用过嘛?用命令tcpdump
25,Netty

1,产品业务侧项目是怎么跟线下对接的?
2,哪个学校入驻的话是怎么操作么?

1,数据库里的聚簇索引和非聚簇索引有什么区别?
2,数据库结构B+tree和hash结构有什么区别?
3,B+tree的结构?和普通的Btree有什么区别?
4,Nginx+tomcat+redis做负载是怎么实现的?
5,重启一台redis服务器,持久化的加载顺序?
6,启动了一个redis从服务器,启动后从主服务器同步数据的时候怎么实现?
7,Redis哨兵模式
8,Redis实现分布式锁是怎么实现的?
9,如果要锁一条数据的话,你们一般怎么实现?
10,Spring的事务是怎么控制的?没有定制异常嘛?还是各种异常都能触发?
11,线程池拒绝策略有几种?
12,线程池的队列你知道有几种嘛?
13,2个类,一个是静态类,一个是非静态类,里面都有一个select修饰的方法,执行方法的时候有什么区别吗?
14,如果在数据库中有个表的字段是datatime类型的,现在前端传来一个日期精确到天的字符串,打算查某一天的数据,sql怎么写?

1,springboot怎么自定义starter?
2,Struts的过滤器和拦截器有什么概念的不同?
3,Ognl表达式
4,hashmap和concurrenthashmap的区别?(结构)
5,数组和链表的不同点?
6,时间复杂度?
7,Linux top命令都有哪些指标?
8,Jvm调优?
9,有一个接口不希望在1分钟内被调用5次?怎么处理?

1,唯一索引冲突?
2,Redis缓存策略怎么做?
3,比如我新增一条记录,缓存怎么办?
4,Redis ,如果张三处理数据库中数据是1,还没有提交,但是李四获取到了缓存中原来的2,数据库中是1,缓存是2,怎么处理这种并发的问题?
5,比如redis中用list,我希望把1,2,3.....放在缓存中,并发情况下,大家都在往list中插入数据,list当中可能会发生1,2,3,4,1,2,3,4这种数据重复,怎么处理呢?
6,有个表,评论表,分页加载评论,时间倒序,当一个用户在第一页的时候,这时候产生了新的评论,发生了第一页的最后一条和第二页的第一条重复了,你怎么处理?
7,解决bug你会从什么角度分析?思路?

1,redis你们常用哪种类型?
2,比如界面上列出热点的数据,数据集涉及到分页的这种,如果使用redis,你用什么方式设计?
3,如果用redis处理分页这种情况,设计思路?
4,Redis 在java上用的是哪个组件?比如说是jedis?
5,Redis序列化和反序列化?
6,Redis 的Value有可能是字符串,有可能是对象,你们怎么做的通用适配的?
7,Redis为什么单线程还这么快?
8,多路复用的多路?复用?
9,Redis的部署架构?
10,Reids使用哨兵模式,数据存储算是一个分布式么?
11,Redis哨兵和集群有什么区别吗?
12,Springcloud各个组件?
13,Ribbon是在哪侧做负载均衡的嘛?(客户端?服务端?)
14,为什么客户端会有服务端的节点?通过什么东西获取的?
15,服务端会从eureka拿到什么东西吗?
16,http请求响应?302对应什么?
17,重定向,转发使用过吗?
18,System.out.print(1|3) 会输出什么结果?
19,开发中怎么保证接口的幂等性?
20,乐观锁的使用?两个人去取钱,100块钱A取了20,B取了20,怎么保证最后是60?
21,联合索引,a,b,c,where a=1 order by c ,刚才abc的索引能生效嘛?
22,Where a = 1 order by b desc c asc ,21中的索引会生效嘛?
23,索引的最左匹配原则
24,Mysql的索引主要使用的2种数据结构?
25,你知道B+tree有一个链表结构,是谁和谁链上了?
26,高可用怎么做?
27,前后分离,登录状态是怎么维护?
28,线程池的类型?用的是哪种线程池?
29,核心线程是5个,最大是20个,在什么情况下核心线程达到6个?
30,可重入锁,如果在2个方法里都用到可重入锁获取锁的动作,方法执行完后,在A当中又调了一下B,会有问题吗?(没有问题的,因为可重入的)
31,JUC的包里面你用过什么方法?
32,concurrenthashmap 的分段锁?
33,Java8中还有这个锁嘛?
34,平时读过哪些开源的源码?
35,DI底层用的是java的什么机制实现的?
36,requestBody注解是做什么用的?

1,mysql 的深度分页的问题?
2,Sql优化中like一定得使用,避免不了索引失效,有什么好的方法?
3,Like关键词对于百万数据这种情况下怎么优化?(mysql5.7有个全文索引)
4,Es是基于什么封装的?
5,Solr排序(倒排索引)
6,倒排索引的实现原理?数据结构?
7,乐观锁和悲观锁的区别?怎么实现?
8,代码中实现乐观锁怎么实现?
9,日期格式化类SimpleDateFormat在多线程并发的时候会有什么问题?(jdk1.8中日期特性有解决线程问题,了解一下)
10,ArrayList中有类似线程安全的有吗?
11,Mybatis #,$有什么区别?
12,Synchronized 和 lock的区别
13,Jdk1.8的新特性
14,实现分布式锁有哪几种方式?
15,Spring bean默认是单例还是多例?
16,如果想让变成多例怎么做?原理是改什么属性?
17,你接手代码的时候,里面配置动态的(原有的配置),目前的话是不支持的,产品让加一些功能,根据一些用户的逻辑不太一样,这种怎么处理?
18,Mysql笛卡尔积?

0

评论区