2021面试

Mysql

1.索引的使用原则;
2.B树和B+树的区别;
3.主从延迟;
4.Mysql的MyisAm和Innodb的区别;
5.建立索引需要注意的地方;
6.索引失效的场景;
7.事务的隔离级别;
8.Mysql是如何解决幻读问题的;
9.怎么解决Mysql的死锁问题;
10.生产上如何发现死锁问题;
11.join的时候需要注意什么问题;
12.分库分表【最好了解一下】;
13.SQL调优;
14.主键是怎么设计的,为什么用bigint,不用字符串;

MQ

1.MQ的使用场景;
2.MQ如何保证消息百分百投递;
3.RabbitMQ的广播模式;
4.使用MQ需要注意什么;
5.消费端如果消费失败了,抛出异常了,怎么处理;
6.如果我的MQ有大量信息堆积,怎么处理;

Redis

1.Redis 的使用场景;
2.Redis的分布式锁的实现;
3.Redis 的如何保证持久化的;
4.Redis 的高可用问题(主从,哨兵,集群【集群会问key的映射问题,如何找到对应的key问题】)
5.Redis的缓存淘汰策略;
6.Redis 的缓存穿透,缓存击穿,缓存雪崩问题;

JVM

1.常用的垃圾算法;
2.各种引用的区别;
3.说说线上你们用的垃圾回收器;
4.G1的特点;
5.如何进行JVM调优(项目上)
6.什么的对象会被回收
7..JVM中有什么地方用了这些引用

Java

1.HashMap的设计;
2.juc【线程池,AQS,并发工具包】
3.ConcurrentHashMap和HashTable的区别
4.线程的使用方式;
5.动态代理的原理是什么;
6.说说你对Java面向对象的理解;

Spring

1.Spring的生命周期;
2.Spring的循环依赖是怎么解决的;
3.Spring的事务传播机制;
4.Spring的事务隔离界别;
5.Spring的事务使用方式(声明式事务,编程式)
6.SpringIOC的理解;
7.SpringMVC的原理;
8.AOP的实现方式;

Mybatis

1.Mybatis如何实现动态sql的
2.Mybatis如何实现ORM的

分布式

1.Dubbo的一次请求的原理流程是怎么样的;
2.说说SpringCloud你们用的到的组件
3.组件之间是怎么协作的;
4.注册中心是怎么使用的;
5.如果我有一个服务挂掉了,注册中心会怎么样,Eureka的实现原理;
6.你们网关用到了什么功能
7.服务内部之间如何保证安全调用;
8.Dubbo的使用RPC的时候设置了什么参数,会有什么影响;
9.Feign的重试机制是怎么实现的;
10.Zookeeper为什么不用这个作为分布式锁,而使用Redis;
11.XXl-job如何保证一致性问题;
12.XXL-job的实现原理;
13.Eureka的自我保护机制是开启还是关闭的;
14.Hystrix你们是怎么用的;
15.Apollo的NameSpace了解过吗;

网络部分

1.TCP/UDP
2.如何设计一个传输文件协议;
3.Netty的通讯原理;

项目部分

请记住,必须要记住你的项目做 过什么,这很重要。能不能干活是看这个的。
1.介绍一下你们项目的QPS;
2.说一下你觉得你项目中做的最好的;
3.你在项目中的角色是怎么样的;
4.在项目中的收货,说说看;
5.你觉得你们系统还有什么不足的地方;
6.项目是如何协作的;

额外扯淡

1.如何处理高并发(没做过的话了解一下);
2.你们项目是如何处理上传文件的;
3.你们的接口有压测吗,压测发现不过关怎么处理;
4.你们有上搜索引擎吗,什么时候需要上搜索引擎;
5.容器了解过吗;

你可能感兴趣的:(2021面试)