2021 年 Java 面经分享,别再说你不会 JVM 性能监控和调优了
Java 基础
1.Java 语言的三大特性 2.Java 语言主要特性 3. JDK 和 JRE 有什么区别 4.Java 基本数据类型及其封装类 5.如果 main 方法被声明为 private 会怎样?6.说明- -下 public static void main(String argsQ])这段声明里每个关键字的作用 7.==与 equals 的区别 8.Object 有哪些公用方法 9.为什么 Java 里没有全局变量?10.while 循环和 do 循环有什么不同?11.char 型变量中能不能存储一个中文汉字?为什么?12.public, private, protected 的区别, 继承方法与访问权限 13.float f=3.4;是否正确?14.shorts1 = 1;s1 = s1 + 1;有错吗? shorts1 = 1;s1 += 1;有错吗 15.8u 和 &:&的区别?16.IntegerCache17.Locale 类是什么?18Java 中 final. finally. finalize 的区别与用法 19.hashCode0 和 equals0 的区别 20.深拷贝和浅拷贝的区别是什么?21Java 中操作字符串都有哪些类?它们之间有什么区别?22.String str= "a"与 String str=new String("a")-样吗?23.抽象类能使用 final 修饰吗?24.static 关键字 5 连问 25.重载(Overload) 和重写(Override) 的区别。重载的方法能否根据返回类型进行区分?26.Java 的四种引用 27.Java 中 Comparator 与 Comparable 有什么不同?28. Java 序列化,反序列化?29.什么情况需要 Java 序列化?30.序列化的实现?31.如果某些数据不想序列化,如何处理?
IO&NIO
1.什么是 I0 流?2java 中有几种类型的流?3.字节流和字符流哪个好?怎么选择?4.读取数据量大的文件时,速度会很慢,如何选择流?5.1O 模型有几种?6.阻塞 1O (blocking 10)7.非阻塞 I/O (nonblocking 10)8.I/O 多路复用模型(I0 multiplexing)9.信号驱动 I/O 模型 10.异步/O(asynchronous 10)11.NIO 与 10 的区别?12.NIO 和 IO 适用场景 13.NIO 核心组件 14.什么是 channel15.Java NIO 中最常用的通道实现?16.Buffer 是什么?
多线程面试题
1.什么是进程?2.什么是线程?3.线程的实现方式?4.Thread 类中的 start0 和 run0 方法有什么区别?5.线程 NEW 状态 6.线程 RUNNABLE 状态 7.线程的 RUNNING 状态 8.线程的 BLOCKED 状态 9.线程的 TERMINATED 状态 10.线程状态转化图 11.i——与 System.out.printIn0 的异常 12.如何知道代码段被哪个线程调用?13.线程活动状态?14.sleep0 方法 15.如何优雅的设置睡民时间?16.停止线程 17.interrupted 和 isInterrupted18.yield19.线程的优先级 20.优先级继承特性 21.谁跑的更快?22.线程种类 23.守护线程的特点 24.Java 中典型的守护线程 25.如何设置守护线程 25Java 虚拟机退出时 Daemon 线程中的 finally 块一定会执行?26.设置线程上下文类加载器 27.join28.什么是 synchronized?29.synchronized 包括哪两个 jvm 重要的指令?30.synchronized 关键字用法?31.synchronized 锁的是什么?32.Java 对象头还有很多,这里就不一一例举了
JVM
1JDK. JRE、 JVM 关系?2.启动程序如何查看加载了哪些类,以及加载顺序? '3. class 字节码文件 10 个主要组成部分?4.画一下 jvm 内存结构图?5.程序计数器 6Java 虚拟机栈 7.本地方法栈 8Java 堆 9.方法区 10.运行时常量池?11.什么时候抛出 StackOverflowError?12.Java7 和 Java8 在内存模型上有什么区别?13.程序员最关注的两个内存区域?14.直接内存是什么?15.除了哪个区域外,虚拟机内存其他运行时区域都会发生 OutOfMeoryError?16.什么情况下会出现堆内存溢出?17 如何实现一个堆内存溢出?18.空间什么情况下会抛出 OutOfMemoryError?19.如何实现 StrackOverflowError?20.如何设置直接内存容量?21.Java 堆内存组成?22. Edem : from : to 默认比例是?23.垃圾标记阶段?24.引用计数法?25.根搜索算法?26.JVM 中三种常见的垃圾收集算法?27.标记-清除算法?28.复制算法?29.标记-整理算法?30.分代收集算法?31.垃圾收集器?32.Stop The World?
Mysql
1.什么是数据库?2.如何查看某个操作的语法?3.MySql 的存储弓擎有哪些?4.常用的 2 种存储引擎?6.可以针对表设置引擎吗?如何设置?6.选择合适的存储引擎?7.选择合适的数据类型 8.char & varchar9.Mysq|字符集 10.如何选择字符集?11.什么是索引?12.索引设计原则?13.MySq|有哪些索引?14.Hash 索引和 B+树索引的底层实现原理:15.非聚簇索引-定会回表查询吗?16.如何查询最后一 行记录?17.MySQL 自增 id 不连续问题?18.sq 注入问题?19.什么是 3NF (范式) ?20. NULL 和空串判断?21.什么是事务?22.事务 4 个特性?23.事务隔离级别分别是?24.InnoDB 默认事务隔离级别?如何查看当前隔离级别 25.什么是锁?26.死锁?27.如何处理死锁?28.如何创建用户?授权?29.如何查看表结构?30.Mysq 删除表的几种方式?区别?31.like 走索引吗?
Spring
1.Spring 框架?2.Spring 的整体架构?3.Spring 可以做什么?4.Spring 的优点?缺点?5.你能说几个 Spring5 的新特性吗?6.IOC?7.什么是依赖注入?8.IOC 注入哪几种方式?9.10C 优点?缺点?10.bean 的生命周期?11.Spring 有几种配置方式?12.Spring 中的 bean 有几种 scope?13.什么是 AOP(面向切面编程)?14.切面有几种类型的通知?分别是?15.什么是连接点(Join point)?16.什么是切点(Pointcut)?17.什么是切面(Aspect)?18.织入(Weaving)?19.引入(Introduction) ?20.在目标对象的生命周期里有多个点可以进行织入?21.AOP 动态代理策略?22.什么是 MVC 框架?23.什么是 SpringMVC?24.SpringMVC 的核心?25.SpringMVC 的几个组件?26.SpringMVC 工作流程?27.SpringMVC 的优点?28.单例 bean 是线程安全的吗?29.Spring 从哪两个角度实现自动装配?30.自动装配有几种方式?分别是?31.说几个声明 Bean 的注解?
Mybatis
1.什么是 Mybatis?2.Hibernate 优点?3.Hibernate 缺点?4.Mybatis 优点?5.Mybatis 缺点?6.什么时候用 Mybatis?7.Mybatis 的核心组件有哪些?分别是?8.#0 和0的区别是什么?9.Mybatis中9个动态标签是?8.#0和0 的区别是什 10.xml 映射文件中,有哪些标签?11.Mybatis 支持注解吗?优点?缺点?12.Mybatis 动态 sq|?13.Mybatis 是如何进行分页的分页播件的原理是什么?14.,如何获取自增主键?15.为什么 Mapper 接口没有实现类,却能被正常调用?16.用注解好还是 xml 好?17.如果不想手动指定别名,如何用驼峰的形式自动映射?18.当实体属性名和表中字段不一致,怎么办?19.嵌套查询用什么标签?20.like 模糊查询怎么写?21.Mybatis 支持枚举吗?22.SqlSessionFactoryBuilder 生命周期?23.-级缓存的结构?如何开启一级缓存? 如何不使用一-级缓存?24.二级缓存如何配置?25.简述 Mybatis 的插件运行原理,以及如何编写-个插件?26.二级缓存的回收策略有哪些?27.Mybatis 的 Xml 文件中 id 可以重复吗?28.和 Mybatis 措配 java 框架中比较好用的缓存框架?有哪些特点?
Redis
1.Redis 是什么?2.Redis 特性?3.Redis 合适的应用场景?4.除了 Redis 你还知道哪些 NoSQL 数据库?5.Redis 和 Memcache 区别?6.Redis 的有几种数据类型?7.Redis 有哪些高级功能?8.安装过 Redis 吗,简单说下步骤?9.redis 几个比较主要的可执行文件?分别是?10.启动 Redis 的几种方式?11.Redis 配置需要自己写?如何配置?12.Redis 客户端命令执行的方式?13.如何停止 redis 服务?14.如何查看当前键是否存在?15.如何删除数据?16.redis 为什么快?单线程?17.字符串最大不能超过多少?18.redis 默认分多少个数据库?19.redis 持久化的几种方式?20.RDB 持久化?21.RDB 的持久化是如何触发的?22.RDB 的优点?23.RDB 的缺点?24.如何禁用持久化?25.AOF 持久化?26.如何查询 AOF 是否开启?27 如何开启 AOF?28.AOF 工作流程?29.为什么 AOF 要先把命令追加到缓存区(aof _buf)中?30.AOF 持久化如何触发的?31.AOF 优点?32.AOF 缺点?
SpringBoot
1.什么是 SpringBoot?2.SpringBoot 的特征?3.如何快速构建一个 SpringBoot 项目?4.SpringBoot 启动类注解?它是由哪些注解组成?5.什么是 yaml?6.SpringBoot 支持配置文件的格式?7.SpringBoot 启动方式?8.SpringBoot 需要独立的容器运行?9.SpringBoot 配置途径?10.application.properties 和 application.yml 文件可放位置?优先级?11.SpringBoot 自动配置原理?12.SpringBoot 热部署方式?13.bootstrap.yml 和 application.yml?14.SpringBoot 如何修改端口号?15.开启 SpringBoot 特性的几种方式?16.SpringBoot 如何兼容 Spring 项目?17.SpringBoot 配置监控?18.获得 Bean 装配报告信息访问哪个端点?19.关闭应用程序访问哪个端点?20.查看发布应用信息访问哪个端点?21.针对请求访问的几个组合注解?22.SpringBoot 中的 starter?23.SpringBoot 集成 Mybatis?24.什么是 SpringProfiles?25.不同的环境的配置文件?26.如何激活某个环境的配置?27 编写测试用例的注解?28.SpringBoot 异常处理相关注解?29.SpringBoot 1.x 和 2.x 区别....30.SpringBoot 读取配置相关注解有?
SpringCloud
1.什么是 SpringCloud?2.什么是微服务?3.SpringCloud 有哪些特征?4.SpringCloud 核心组件?5.SpringCloud 基于什么协议?6.SpringCloud 和 Dubbo 区别?7.Eureka 是什么?8.服务治理的基础角色?9.什么是服务续约?10.什么是服务下线?11.什么是失效剔除?12.什么是自我保护机制?13.Ribbon 是什么?14.Ribbon 负载均衡的注解是?15.Ribbon 负载均衡策略有哪些?16.什么是服务熔断?17.什么是服务降级?18.什么是 Hystrix?19.断路器 Hystrix 的有哪些功能?20.Hystrix 将远程调用封装到?21.启动熔断降级服务的注解?22.什么是 Feign?23.Feign 优点?24.什么是 Config?23..Feign 优点?25.Config 组件中的两个角色?26.什么是 Zuul?27.使用 Zuul 的优点?28.Zuul 的核心是?29.Zuul 有几种过滤器类型?分别是?30.什么是 Sleuth?31.Sleuth 帮助我们做了哪些工作?
Kafka
1.什么是 kafka?2.kafka 的 3 个关键功能?3.kafka 通常用于两大类应用?4.kafka 特性?5.kafka 的 5 个核心 Api?6.什么是 Broker (代理) ?7.什么是 Producer (生产者) ?8.什么是 Consumer (消费者) ?9.什么是 Topic (主题) ?10.什么是 Partition (分区) ?11.分区和代理节点的关系?12.什么是副本(Replication)?13.什么是记录(Record)?14.kafka 适合哪些场景?15.kafka 磁盘选用上?16.使用 RAID 的优势?17.磁盘容量规划需要考虑到几个因素?18.Broker 使用单个?多个文件目录路径参数?19.-般来说选择哪个参数配置路径?好处?20.自动创建主题的相关参数是?21 解决 kafka 消息丢失问题?22.如何自定分区策略?23.kafka 压缩消息可能发生的地方?24.kafka 消息重复问题?25.你知道的 kafka 监控工具?
面试准备+复习资料分享:
为了应付面试也刷了很多的面试题与资料,现在就分享给有需要的读者朋友,资料我只截取出来一部分哦
开源分享:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】
评论