3.为什么说Mybatis是半自动ORM映射工具?它与全自动的区别在哪里?
4.传统JDBC开发存在的问题。
5.JDBC编程有哪些不足之处,MyBatis是如何解决这些问题的?
6.Mybatis优缺点。
7.MyBatis框架适用场景。
8.Hibernate和MyBatis的区别。
9.MyBatis的解析和运行原理。
10.MyBatis编程步骤是什么样的?
11.请说说MyBatis的工作原理。
12.MyBatis的功能架构是怎样的?
13.MyBatis的框架架构设计是怎么样的?
14.Mybatis都有哪些Executor执行器?它们之间的区别是什么?
15.Mybatis中如何指定使用哪一种Executor执行器?
16.Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?
17.#{}和${}的区别。
18.模糊查询like语句该怎么写?
19.在mapper中如何传递多个参数?
20.Mybatis如何执行批量操作?
21.简述Mybatis的Xml映射文件和Mybatis内部数据结构之间的映射关系?
四、Spring
1.什么是spring?Spring是什么?
2.Spring的优缺点是什么?为什么要用Spring?
3.什么是控制反转(IOC)和依赖注入(DI)?意义是什么?实现机制是什么
4.什么是依赖注入–DI,依赖注入,是IOC的重要实现
5.什么是AOP?意义是什么?实现原理是什么?具体怎么使用?Spring AOP的通知类型和顺序是怎样的?
6.什么是AOP–面向切面编程?
7.静态代理和动态代理的区别是什么?
8.如何强制Spring AOP使用CGLIB实现动态代理?
9.依赖注入实现原理和实现方式?
10.@Qualifier 注解有什么作用?
11.Spring中对象的作用域是怎样的?怎么改变Spring中对象的作用域?
12.Spring中对象是线程安全的吗?如何保证Spring中的对象线程安全?
13.如何保证Spring中的对象线程安全?
14.Spring Framework 中有多少个模块,它们分别是什么?
五、并发编程
基础知识
1.线程和进程区别
2.创建线程的四种方式
3.as-if-serial规则和happens-before规则的区别
…
Lock体系
1.Lock简介与初识AQS
2.乐观锁的实现方式,什么是 CAS?
3.什么是死锁?
4.死锁与活锁的区别,死锁与饥饿的区别?
5.AQS(AbstractQueuedSynchronizer)详解与源码分析
并发容器
1.并发容器之CopyOnWriteArrayList详解
2.并发容器之ThreadLocal详解
3.并发容器之ConcurrentHashMap详解(JDK1.8版本)与源码分析
4.并发容器之BlockingQueue详解
5.ThreadLocal内存泄漏分析与解决方案
线程池
1.Executors类创建四种常见线程池
2.线程池之ThreadPoolExecutor详解
六、中间件
RabbitMQ
1.rabbitmq 的使用场景有哪些?
2.rabbitmq 有哪些重要的角色?
3.rabbitmq 有哪些重要的组件?
4.rabbitmq 中 vhost 的作用是什么?
5.rabbitmq 的消息是怎么发送的?
6.rabbitmq 怎么保证消息的稳定性?
7.rabbitmq 怎么避免消息丢失?
8.要保证消息持久化成功的条件有哪些?
9.rabbitmq 持久化有什么缺点?
10.rabbitmq 怎么实现延迟消息队列?
11.rabbitmq 对集群节点停止顺序有要求吗?
Kafka
1.kafka 可以脱离 zookeeper 单独使用吗?为什么?
2.kafka 有几种数据保留的策略?
3.kafka 同时设置了 7 天和 10G 清除数据,到第五天的时候消息达到了 10G,这个时候 kafka 将如何处理?
4.什么情况会导致 kafka 运行变慢?
5.使用 kafka 集群需要注意什么?
Zookeeper
1.zookeeper 是什么?
2.zookeeper 都有哪些功能?
3.zookeeper 有几种部署模式?
4.zookeeper 怎么保证主从节点的状态同步?
5.集群中为什么要有主节点?
6.集群中有 3 台服务器,其中一个节点宕机,这个时候 zookeeper 还可以使用吗?
7.说一下 zookeeper 的通知机制?
七、数据库
MySql
1.说一下数据库的事务隔离?
2
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
.说一下 mysql 常用的引擎?
3.说一下 mysql 的行锁和表锁?
4.说一下乐观锁和悲观锁?
5.mysql 问题排查都有哪些手段?
6.如何做 mysql 的性能优化?
7.怎么验证 mysql 的索引是否满足需求?
8.数据库的三范式是什么?
9.说一下 ACID 是什么?
10.如何获取当前数据库版本?
Redis
1.redis是什么?都有哪些使用场景?
2.redis 和 memecache 有什么区别?
3.redis 为什么是单线程的?
4.edis 和 redisson 有哪些区别?
5.怎么保证缓存和数据库数据的一致性?
6.redis 持久化有几种方式?
7.redis 怎么实现分布式锁?
8.redis 分布式锁有什么缺陷?
9.redis 如何做内存优化?
10.redis 淘汰策略有哪些?
JVM
1.说一下 jvm 运行时数据区?
2.说一下堆栈的区别?
3.队列和栈是什么?有什么区别?
4.什么是双亲委派模型?
5.说一下类加载的执行过程?
6.怎么判断对象是否可以被回收?
7.java 中都有哪些引用类型?