前言
2021 年曾经过来一半了,金九银十也在轻轻降临,工夫晃眼就过来了,有的人为了秋招跳槽早早做足了筹备,有的人在临阵磨刀,想必屏幕前的你也想在 2021 年涨薪吧,那么问题来了,怎么能力达到目标呢,无妨跟我来看看为大家盘点整顿的一些高频面试问题吧!!!
一、Java 根底
1.Java 有哪些数据类型?
2.final 有什么用?
3. 介绍下 static。
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 执行器?它们之间的区别是什么?
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. 说一下 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 中都有哪些援用类型?
8. 说一下 jvm 有哪些垃圾回收算法?
9. 说一下 jvm 有哪些垃圾回收器?
10. 具体介绍一下 CMS 垃圾回收器?
总结
面试题包含以下十九个模块:Java 根底、容器、多线程、反射、对象拷贝、Java Web 模块、异样、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM。如下图所示:
最初
思考篇幅,就着重挑了一些常见的重要的面试题展现进去了。
所有的面试题目都不是变化无穷的,下面的面试题只是给大家一个借鉴作用,最次要的是给本人减少常识的储备,有恃无恐。
材料获取形式:点赞 + 转发之后,【戳此处】即可获取!