今天在脉脉刷到了这么一条消息,现在这个大环境,都后悔学 Java 了,想转行学前端, 看完很是震惊,据大数据统计,Java 的待遇是要好过前端的。小伙伴竟然被卷到想要转行......但是行情这个东西,也不是我们能掌握的,我们能掌握的就是提高我们的技术,吊打面试官。
最近花了一个月整理了一套 1000 道 Java 面试题及答案,现在分享给小伙伴们,为了这 1000 道我可是花了很多心血在里面,多少都能够让你受益匪浅一些,参考性很高。
限于文章篇幅原因,只能以截图的形式展示出来,有需要的朋友可以在文末获取
目录概览
内容概览
基础篇
-
Java 语言有哪些特点
-
面向对象和面向过程的区别
-
八种基本数据类型的大小,以及他们的封装类
-
标识符的命名规则。
-
instanceof 关键字的作用
-
Java 自动装箱与拆箱
-
重裁和重写的区别
-
equals 与==的区别
-
Hashcode 的作用
-
String、String StringBuffer 和 StringBuilder 的区别是什么?
-
ArrayLst 和 linkedList 的区别
-
HashMap 和 HashTable 的区别
-
Collection 包结构 ,与 Collections 的区别
-
Java 的四种引用 ,强弱软虚
-
泛型常用特点
-
Java 创建对象有几种方式?
-
有没有可能两个不相等的对象有相同的 hashcode
-
深拷贝和浅拷贝的区别是什么?
-
final 有哪些用法?
-
static 都有哪些用法?
-
3*0.1==0.3 返回值是什么
-
a=a+b 与 a+ =b 有什么区别吗?
JVM 篇
-
说说类加载与卸载
-
简述一下 JVM 的内存模型
-
说说堆和栈的区别
-
什么时候会触发 FullGC
-
什么是 Java 虚拟机?为什么 Java 被称作是“平台无关的编程语言”?
-
Java 内存结构
-
说说对象分配规则
-
描述一下 JVM 加裁 class 文件的原理机制?
-
说说 Java 对象创建过程
-
知道类的生命周期吗?
-
简述 Java 的对象结构
-
如何判断对象可以被回收?
-
JVM 的永久代中会发生垃圾回收么?
-
你知道哪些垃圾收集算法
-
调优命令有哪些?
-
常见调优工具有哪些
-
Minor GC 与 Full GC 分别在什么时候发生?
-
你知道哪些 JM 性能调优参数? ( 简单版回答)
-
对象一定分配在堆中吗?有没有了解逃逸分析技术?
-
虚拟机为什么使用元空间替换了永久代?
多线程 &并发篇
-
说说 Java 中实现多线程有几种方法
-
如何停止一个正在运行的线程
-
notifyO 和 notifyAll0 有什么区别?
-
sleep0 和 wait0 有什么区别?
-
volatile 是什么?可以保证有序性吗?
-
Thread 类中的 start0 和 run0 方法有什么区别?
-
为什么 wait, notify 和 notifyAll 这些方法不在 thread 类里面?
-
为什么 wait 和 notify 方法要在同步块中调用?
-
Java 中 interrupted 和 isInterruptedd 方法的区别?
-
Java 中 synchronized 和 ReentrantLock 有什么不同?
-
有三个线程 T1,T2,T3,如何保证顺序执行?
-
SynchronizedMap 和 ConcurrentHashMap 有什么区别?
-
什么是线程安全
-
Thread 类中的 yield 方法有什么作用?
-
Java 线程池中 submit0 和 execute0 方法有什么区别?
-
说一说自己对于 synchronized 关键字的了解
-
说说自己是怎么使用 synchronized 关键字?
-
什么是线程安全? Vector 是一个线程安全类吗 ?
-
volatile 关键字的作用?
-
常用的线程池有哪些?
-
简述一下你对线程池的理解
-
Java 程序是如何执行的
-
锁的优化机制了解吗?
Spring 篇
-
什么是 spring?
-
你们项目中为什么使用 Spring 框架?
-
Autowired 和 Resource 关键字的区别?
-
依赖注入的方式有几种,各是什么?
-
讲一下什么是 Spring
-
说说你对 Spring MVC 的理解
-
SpringMVC 常用的注解有哪些?
-
谈谈你对 Spring 的 AOP 理解
-
Spring AOP 和 AspectJ AOP 有什么区别?
-
在 Spring AOP 中,关注点和横切关注的区别是什么?
-
什么是通知呢?有哪些类型呢?
-
说说你对 Spring 的 IOC 是怎么理解的?
-
解释一下 spring bean 的生命周期
-
解释 Spring 支持的几种 bean 的作用域?
-
Spring 基于 xml 注入 bean 的几种方式?
-
Sprinq 框架中都用到了哪些设计模式?
-
Spring 框架中的单例 Bean 是线程安全的么?
-
Spring 是怎么解决循环依赖的?
-
说说事务的隔离级别
-
说说事务的传播级别
-
Spring 事务实现方式
-
Spring 框架的事务管理有哪些优点
-
务三要素是什么?
-
事务注解的本质是什么?
MyBatis 篇
-
什么是 MyBatis
-
说说 MyBatis 的优点和缺点
-
#0 和 ${的区别是什么?
-
当实体类中的属性名和表中的字段名不一样, 怎么办?
-
Mybatis 是如何进行分页的?分页插件的原理是什么?
-
Mybatis 是如何将 sql 执行结果封装为目标对象并返回的?都有哪些映射形式?
-
Xml 映射文件中,除了常见的 select|insert|updae|delete 标签之外,还有哪些标签?
-
说说 Mybatis 的缓存机制
-
JDBC 编程有哪些步骤?
-
MyBatis 中见过什么设计模式?
SpringBoot 篇
-
为什么要用 SpringBoot
-
Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
-
运行 Spring Boot 有哪几种方式?
-
如何理解 Spring Boot 中的 Starters ?
-
如何在 Spring Boot 启动的时候运行一些特定的代码 ?
-
Spring Boot 需要独立的容器运行吗?
-
Spring Boot 中的监视器是什么?
-
如何使用 Spring Boot 实现异常处理?
-
你如何理解 Spring Boot 中的 Starters ?
-
springboot 常用的 starter 有哪些
-
SpringBoot 实现热部署有哪几种方式?
-
如何理解 Spring Boot 配置加哉顺序?
MySQL 篇
-
数据库的三范式是什么
-
MySQL 数据库引擎有哪些
-
说说 InnoDB-与 MyISAM 的区别
-
数据库的事务
-
索引是什么
-
SQL 优化手段有哪些
-
简单说一说 drop. delete 与 truncate 的区别
-
什么是视图
-
什么是内联接、左外联接、右外联接?
-
并发事务带来哪些问题?
-
事务隔离级别有哪些?MySQL 的默认隔离级别是?
-
大表如何优化?
-
分库分表之后,,d 主键如何处理?
-
说说在 MySQL 中一 条查询 SQL 是如何执行的?
-
索引有什么优缺点?
SpringCloud 篇
-
什么是 SpringCloud
-
什么是微服务
-
SpringCloud 有什么优势
-
什么是服务熔断?什么是服务障级?
-
Eureka 和 zookeeper 都可以提供服务注册与发现的功能,请说说两个的区别?
-
SpringBootSpringCloud 的区别?
-
负裁平衡的意义什么?
-
什么是 Hystrix ?它如何实现容错?
-
什么是 Hystrix 断路器?我们需要它吗?
-
说说 RPC 的实现原理
-
eureka 自我保护机制是什么?
-
什么是 Ribbon ?
-
什么是 feigin ?它的优点是什么?
-
Ribbon 和 Feign 的区别?
Dubbo 篇
-
说说一次 Dubbo 服务请求流程?
-
说说 Dubbo 工作原理
-
Dubbo 支持哪些协议?
-
注册中心挂了, consumer 还能不能调用 provider ?
-
怎么实现动态感知服务下线的呢?
-
Dubbo 负裁均衡策略?
-
Dubbo 容错策略
-
Dubbo 动态代理策略有哪些?
-
说说 Dubbo 与 Spring Cloud 的区别?
-
Zookeeper 和 Dubbo 的关系?
Nginx 篇
-
简述一下什么是 Nginx.它有什么优势和功能?
-
Nginx 是如何处理-个 HTTP 请求的呢 ?
-
列举一些 Nginx 的特性
-
请列举 NginxApache 之间的不同点
-
在 Nginx 中,如何使用未定义的服务器名称来阻止处理请求?
-
请解释 Nginx 服务器上的 Master 和 Worker 进程分别是什么?
-
请解释代理中的正向代理和反向代理
-
解释 Nginx 用途
MQ 篇
数据结构与算法篇
Linux 篇
Zookeeper 篇
Redis 篇
-
为什么要用缓存
-
使用 Redis 有哪些好处?
-
什么是 Redis ?
-
为什么使用 Redis 而不是用 Memcache 呢?
-
为什么 Redis 单线程模型效率也能那么高?
-
说说 Redis 的线程模型
-
为什么 Redis 需要把所有数据放到内存中?
-
Redis 的同步机制了解是什么?
-
pipeline 有什么好处,为什么要用 pipeline ?
-
说一下 Redis 有什么优点和缺点
-
Redis 缓存刷新策略有哪些?
-
Redis 持久化方式有哪些?以及有什么区别?
-
持久化有两种,那应该怎么选择呢?
-
怎么使用 Redis 实现消息队列?
-
说说你对 Redis 事务的理解
-
Redis 为什么设计成单线程的?
-
什么是 bigkey ?会存在什么影响 ?
分布式篇
网络篇
设计模式
maven 篇
ElasticSearch 篇
tomcat 篇
Git 篇
软实力篇
限于文章篇幅原因,就展示到这里了