编程语言
首页 > 编程语言> > 2021金九银十208道Java中高级高频面试题(含答案),架构师修炼之道pdf百度云

2021金九银十208道Java中高级高频面试题(含答案),架构师修炼之道pdf百度云

作者:互联网

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 中都有哪些引用类型?

标签:面试题,Java,208,什么,redis,rabbitmq,线程,Spring,Mybatis
来源: https://blog.csdn.net/m0_63174529/article/details/121919094