java 根底面试题
一、根底篇
1.1.Java 语言有哪些特点
1.2. 面向对象和面向过程的区别
1.3. 八种根本数据类型的大小,以及他们的封装类
1.4. 标识符的命名规定。
1.5.instanceof 关键字的作用
1.6.Java 主动装箱与拆箱
1.7. 重载和重写的区别
1.8.equals 与 == 的区别
1.9.Hashcode 的作用
1.10.String、String StringBuffer 和 StringBuilder 的区别是什么?
1.11.ArrayList 和 linkedList 的区别
1.12.HashMap 和 HashTable 的区别
1.13.Collection 包构造,与 Collections 的区别
1.14. Java 的四种援用,强弱软虚
1.15. 泛型罕用特点
1.16.Java 创建对象有几种形式?
1.17. 有没有可能两个不相等的对象有雷同的 hashcode
1.18. 深拷贝和浅拷贝的区别是什么?
1.19.final 有哪些用法?
1.20.static 都有哪些用法?
1.21 3*0.1==0.3 返回值是什么
1.22 a=a+ b 与 a += b 有什么区别吗?
1.23.try catch finally,try 里有 return,finally 还执行么?
1.24 Excption 与 Error 包构造
1.25.OOM 你遇到过哪些状况,SOF 你遇到过哪些状况
1.26. 简述线程、程序、过程的基本概念。以及他们之间关系是什么?
1.27. 线程有哪些根本状态?这些状态是如何定义的?
1.28.Java 中 IO 流
1.29.java 反射的作用于原理
1.30. 说说 List,Set,Map 三者的区别?
二、JVM 篇
2.1. 知识点汇总
2.2. 知识点详解:
2.3. 类加载与卸载
2.4. 简述一下 JVM 的内存模型
2.5. 堆和栈的区别
2.6. 什么时候会触发 FullGC
2.7. 什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?
2.8.Java 内存构造
2.9. 对象调配规定
2.10.Java 对象创立过程
2.11. 类的生命周期
2.12. 简述 Java 的对象构造
2.13. 如何判断对象能够被回收?
2.14.JVM 的永恒代中会产生垃圾回收么?
2.15. 垃圾收集算法
2.16. 调优命令有哪些?
2.17. 调优工具
2.18.Minor GC 与 Full GC 别离在什么时候产生?
2.19. 你晓得哪些 JVM 性能调优
2.20. 简述 Java 垃圾回收机制?
2.21. 什么是类加载器,类加载器有哪些?
2.22. 你有没有遇到过 OutOfMemory 问题?你是怎么来解决这个问题的?解决 过程中有哪些播种?常见的起因:
2.23.JDK 1.8 之后 Perm Space 有哪些变动? MetaSpace ⼤⼩默认是⽆限的么? 还是你们会通过什么⽅式来指定⼤⼩?
三、多线程 & 并发篇
3.1.Java 中实现多线程有几种办法
3.2. 如何进行一个正在运行的线程
3.3.notify() 和 notifyAll() 有什么区别?
3.4.sleep() 和 wait() 有什么区别?
3.5.volatile 是什么? 能够保障有序性吗?
3.6.Thread 类中的 start() 和 run() 办法有什么区别?
3.7. 为什么 wait, notify 和 notifyAll 这些办法不在 thread 类外面?
3.8. 为什么 wait 和 notify 办法要在同步块中调用?
3.9.Java 中 interrupted 和 isInterruptedd 办法的区别?
3.10.Java 中 synchronized 和 ReentrantLock 有什么不同?
3.11. 有三个线程 T1,T2,T3, 如何保障程序执行?
3.12.SynchronizedMap 和 ConcurrentHashMap 有什么区别?
3.13. 什么是线程平安
3.14.Thread 类中的 yield 办法有什么作用?
3.15.Java 线程池中 submit() 和 execute() 办法有什么区别?
3.16. 说一说本人对于 synchronized 关键字的理解
3.17. 说说本人是怎么应用 synchronized 关键字,在我的项目中用到了 吗
3.18. 什么是线程平安?Vector 是一个线程安全类吗?
3.19.volatile 关键字的作用?
3.20. 罕用的线程池有哪些?
3.21. 简述一下你对线程池的了解
3.22. 说说本人是怎么应用 synchronized 关键字,在我的项目中用到了吗
3.23. 讲一下 synchronized 关键字的底层原理
3.24. 为什么要用线程池?
3.25. 实现 Runnable 接口和 Callable 接口的区别
3.26. 执行 execute() 办法和 submit() 办法的区别是什么呢?
3.27. 如何创立线程池
四、Spring 篇
4.1.Spring 的 IOC 和 AOP 机制?
4.2.Spring 中 Autowired 和 Resource 关键字的区别?
4.3. 依赖注入的形式有几种,各是什么?
4.4. 讲一下什么是 Spring
4.5.Spring MVC 流程
4.6.SpringMVC 怎么样设定重定向和转发的?
4.7.SpringMVC 罕用的注解有哪些?
4.8.Spring 的 AOP 了解:
4.9.Spring 的 IOC 了解
4.10. 解释一下 spring bean 的生命周期
4.11. 解释 Spring 反对的几种 bean 的作用域。
4.12. Spring 基于 xml 注入 bean 的几种形式:
4.13.Spring 框架中都用到了哪些设计模式?
五、MyBatis 篇
5.1. 什么是 MyBatis
5.2.MyBatis 的长处和毛病
5.3.#{} 和 ${} 的区别是什么?
5.4. 当实体类中的属性名和表中的字段名不一样,怎么办?
5.5.Mybatis 是如何进行分页的?分页插件的原理是什么?
5.6.Mybatis 是如何将 sql 执行后果封装为指标对象并返回的?都有哪些映射模式?
5.7. 如何执行批量插入?
5.8.MyBatis 实现一对一有几种形式? 具体怎么操作的?
5.9.Mybatis 是否反对提早加载?如果反对,它的实现原理是什么?
5.10.Mybatis 的一级、二级缓存:
六、SpringBoot 篇
6.1. 什么是 SpringBoot?为什么要用 SpringBoot
6.2.Spring Boot 的外围注解是哪个?它次要由哪几个注解组成的?
6.3. 运行 Spring Boot 有哪几种形式?
6.4. 如何了解 Spring Boot 中的 Starters?
6.5. 如何在 Spring Boot 启动的时候运行一些特定的代码?
6.6.Spring Boot 须要独立的容器运行吗?
6.7. Spring Boot 中的监视器是什么?
6.8. 如何应用 Spring Boot 实现异样解决?
6.9. 你如何了解 Spring Boot 中的 Starters?
6.10. springboot 罕用的 starter 有哪些
6.11.SpringBoot 实现热部署有哪几种形式?
6.12. 如何了解 Spring Boot 配置加载程序?
6.13.Spring Boot 的外围配置文件有哪几个?它们的区别是什么?
6.14. 如何集成 Spring Boot 和 ActiveMQ?
6.15. 如何从新加载 Spring Boot 上的更改,而无需重新启动服务器?
6.16.Spring Boot、Spring MVC 和 Spring 有什么区别?
6.17. 是否举一个例子来解释更多 Staters 的内容?
6.18.pring Boot 还提供了其它的哪些 Starter Project Options?
七、MySQL 篇
7.1. 数据库的三范式是什么
7.2. 数据库引擎有哪些
7.3.InnoDB 与 MyISAM 的区别
7.4. 数据库的事务
7.5. 索引问题
7.6.SQL 优化
7.7. 简略说一说 drop、delete 与 truncate 的区别
7.8. 什么是视图
7.9. 什么是内联接、左外联接、右外联接?
7.10. 并发事务带来哪些问题?
7.11. 事务隔离级别有哪些?MySQL 的默认隔离级别是?
7.12. 大表如何优化?
7.13. 分库分表之后,id 主键如何解决?
7.14.mysql 无关权限的表都有哪几个
7.15.mysql 有哪些数据类型
7.16. 创立索引的三种形式,删除索引
八、Redis 篇
8.1.Redis 长久化机制
8.2. 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题
8.3. 热点数据和冷数据是什么
8.4.Memcache 与 Redis 的区别都有哪些?
8.5. 单线程的 redis 为什么这么快
8.6.redis 的数据类型,以及每种数据类型的应用场景
8.7.redis 的过期策略以及内存淘汰机制
8.8.Redis 为什么是单线程的
8.9.Redis 常见性能问题和解决方案?
8.10. 为什么 Redis 的操作是原子性的,怎么保障原子性的?
8.11.Redis 事务
九、SpringCloud 篇
9.1. 什么是 SpringCloud
9.2. 什么是微服务
9.3.SpringCloud 有什么劣势
9.4. 什么是服务熔断?什么是服务降级?
9.5.ureka 和 zookeeper 都能够提供服务注册与发现的性能,请说 说两个的区别?
9.6.SpringBoot 和 SpringCloud 的区别?
9.7. 负载平衡的意义什么?
9.8. 什么是 Hystrix?它如何实现容错?
9.9. 什么是 Hystrix 断路器?咱们须要它吗?
9.10. 说说 RPC 的实现原理
十、Nginx 篇
10.1. 简述一下什么是 Nginx,它有什么劣势和性能?
10.2.Nginx 是如何解决一个 HTTP 申请的呢?
10.3. 列举一些 Nginx 的个性
10.4. 请列举 Nginx 和 Apache 之间的不同点
10.5. 在 Nginx 中,如何应用未定义的服务器名称来阻止解决申请?
10.6. 请解释 Nginx 服务器上的 Master 和 Worker 过程别离是什么?
10.7. 请解释代理中的正向代理和反向代理
10.8. 解释 Nginx 用处
十一、zookeeper 篇
11.1.ZooKeeper 是什么?
11.2.ZooKeeper 提供了什么?
11.3.Zookeeper 文件系统
11.4.ZAB 协定?
11.5. 四种类型的数据节点 Znode
11.6. Zookeeper Watcher 机制 – 数据变更告诉
11.7. 客户端注册 Watcher 实现
11.8. 服务端解决 Watcher 实现
11.9. 客户端回调 Watcher
11.10.ACL 权限管制机制
11.11.Chroot 个性
11.12. 会话治理
11.13. 服务器角色
11.14.Zookeeper 下 Server 工作状态
11.15.zookeeper 是如何保障事务的程序一致性的?
11.16. 分布式集群中为什么会有 Master?
11.17.zk 节点宕机如何解决?
11.18.zookeeper 负载平衡和 nginx 负载平衡区别
11.19.Zookeeper 有哪几种几种部署模式?
11.20. 集群起码要几台机器,集群规定是怎么的?
11.21. 集群反对动静增加机器吗?
11.22.Zookeeper 对节点的 watch 监听告诉是永恒的吗?为什么不是永恒的?
11.23.Zookeeper 的 java 客户端都有哪些?
11.24.chubby 是什么,和 zookeeper 比你怎么看?
11.25. 说几个 zookeeper 罕用的命令。
11.26.Zookeeper 的典型利用场景
十二、kafka 篇
12.1. 如何获取 topic 主题的列表
12.3.consumer 是推还是拉?
12.4. 讲一下主从同步
12.5. 为什么须要音讯零碎,mysql 不能满足需要吗?
12.6.Zookeeper 对于 Kafka 的作用是什么?
12.7.Kafka 判断一个节点是否还活着有那两个条件?
12.8.Kafka 与传统 MQ 音讯零碎之间有三个要害区别
12.9. 讲一讲 kafka 的 ack 的三种机制
12.10. 消费者如何不主动提交偏移量,由利用提交?
12.11. 如何管制生产的地位
12.12.kafka 分布式(不是单机)的状况下,如何保障音讯的程序生产?
12.13.kafka 的高可用机制是什么?
12.14.kafka 如何缩小数据失落
12.15.kafka 如何不生产反复数据?比方扣款,咱们不能反复的扣。
十三、MQ 篇
13.1. 为什么应用 MQ
13.2.MQ 优缺点
13.3.Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别?
13.4. 如何保障高可用的?
13.5. 如何保障音讯的程序性
13.6. 如何解决音讯队列的延时以及过期生效问题?音讯队列满了当前
13.7. 设计 MQ 的思路
十四、Elasticsearch 篇
14.1.elasticsearch 理解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优伎俩。
14.2.elasticsearch 的倒排索引是什么
14.3.elasticsearch 索引数据多了怎么办,如何调优,部署
14.4.elasticsearch 是如何实现 master 选举的
14.5. 详细描述一下 Elasticsearch 索引文档的过程
14.6. 详细描述一下 Elasticsearch 搜寻的过程?
14.7.Elasticsearch 在部署时,对 Linux 的设置有哪些优化办法
14.8.Elasticsearch 是如何实现 Master 选举的?
14.9.Elasticsearch 中的节点(比方共 20 个),其中的 10 个选了一个 master,另外 10 个选了另一个 master,怎么办?
14.10. 客户端在和集群连贯时,如何抉择特定的节点执行申请的?
14.11. 详细描述一下 Elasticsearch 索引文档的过程。
14.13.Elasticsearch 在部署时,对 Linux 的设置有哪些优化办法?
14.14.Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?
14.15. 在并发状况下,Elasticsearch 如果保障读写统一?
14.16. 如何监控 Elasticsearch 集群状态?
14.17. 介绍一下你们的个性化搜寻计划?
十五、Linux 篇
15.1. 绝对路径用什么符号示意?当前目录、下层目录用什么示意?主
15.3. 怎么清屏?怎么退出以后命令?怎么执行睡眠?怎么查看以后用户 id?查看指定帮忙用什么命令?
15.4.Ls 命令执行什么性能?能够带哪些参数,有什么区别?
15.5. 建设软链接 (快捷方式),以及硬链接的命令。
15.6. 目录创立用什么命令?创立文件用什么命令?复制文件用什么命令?
15.7. 查看文件内容有哪些命令能够应用?
15.8. 端是哪个文件夹下的哪个文件?黑洞文件是哪个文件夹下的哪个命令?
15.9. 复制文件用哪个命令?如果须要连同文件夹一块复制呢?如果需
15.10. 删除文件用哪个命令?如果须要连目录及目录下文件一块删除呢?删除空文件夹用什么命令?
15.11.Linux 中过程有哪几种状态?在 ps 显示进去的信息中,别离用什么符号示意的?
15.12. 利用 ps 怎么显示所有的过程? 怎么利用 ps 查看指定过程的信息?
15.13. 哪个命令专门用来查看后台任务?
15.14. 搜寻文件用什么命令? 格局是怎么样的?
15.15. 查看以后谁在应用该主机用什么命令? 查找本人所在的终端信息用什么命令?
15.16. 应用什么命令查看用过的命令列表?
15.17. 应用什么命令查看网络是否连通?
15.18. 应用什么命令查看 ip 地址及接口信息?
15.19. 查看各类环境变量用什么命令?
15.20. 通过什么命令指定命令提示符?
15.21. 通过什么命令查找执行命令?
15.22. 列举几个罕用的 Linux 命令
15.23. 你平时是怎么查看日志的?
最次要的是给本人减少常识的储备,有恃无恐。最初给大家分享 Spring 系列的学习笔记和面试题,蕴含 spring 面试题、spring cloud 面试题、spring boot 面试题、spring 教程笔记、spring boot 教程笔记、最新阿里巴巴开发手册(63 页 PDF 总结)、2022 年 Java 面试手册。一共整顿了 1184 页 PDF 文档。私信博主(666)支付,祝大家更上一层楼!!!
学习更多 JAVA 常识与技巧,关注与私信博主(666)