2021金九银十208道Java中高级高频面试题(含答案),java面试宝典pdf

4."=="和equals方法究竟有什么区别?

5.java中有没有引用传递?

6.String s = “Hello”;s = s + " world!";这两行代码执行后,原始的 String 对象中的内容到底变了没有?

7.Error 和Exception的区别是什么?

8.java程序初始化顺序是怎样的?

9.java 中 IO 流分为几种?它们的区别是什么?

10.String为什么使用final修饰?

11.BIO,NIO,AIO 有什么区别?

12.如何自定义注解?

13.什么是hashCode()?

二、Java进阶

1.什么是多态?java 中实现多态的机制是什么?

2.重载和重写的区别有哪些?

3.java重载为什么与返回值无关?

4.抽象类和普通类的区别

5.抽象类和接口的区别

6.什么是反射?反射的实现方式?反射的应用。

7.创建对象有几种方式?

8.如何提高反射效率?

9.类加载器有哪些?

10.类加载的方式有几种,它们的区别是什么?

11.JVM加载class文件的原理机制是什么(JVM的类加载的原理机制是什么)?

12.什么是集合?集合和数组的区别。

13.常用的集合类有哪些?它们的区别是什么?

14.集合如何安全地批量删除元素?

15.java怎么实现动态代理?有什么意义?

16.什么是死锁?死锁产生的原因是什么?如何避免死锁?

17.synchronized的作用。

18.volatile关键字的作用

19.线程怎么保持同步?

20.什么是CAS?

21.乐观锁与悲观锁?乐观锁的实现方式?

22.Lock与synchronized的区别。

三、MyBatis

1.MyBatis是什么?

2.ORM是什么?

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执行器?它们

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

之间的区别是什么?

15.Mybatis中如何指定使用哪一种Executor执行器?

16.Mybatis是否支持延迟加载?如果支持,它的实现原理是什么?

17.#{}和${}的区别。

18.模糊查询like语句该怎么写?

19.在mapper中如何传递多个参数?

20.Mybatis如何执行批量操作?

21.简述Mybatis的Xml映射文件和Mybatis内部数据结构之间的映射关系?

2021金九银十208道Java中高级高频面试题(含答案),java面试宝典pdf_第1张图片

四、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 中有多少个模块,它们分别是什么?2021金九银十208道Java中高级高频面试题(含答案),java面试宝典pdf_第2张图片

五、并发编程


基础知识

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详解

2021金九银十208道Java中高级高频面试题(含答案),java面试宝典pdf_第3张图片

六、中间件


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 有几种部署模式?

你可能感兴趣的:(程序员,面试,java,后端)