适宜阅读人群
- 需要面试的初/中/高级 Java 程序员
- 想要查漏补缺的人
- 想要不断完善和扩充自己 Java 技术栈的人
- Java 面试官
包含的模块
本文分为十九个模块,分别是: Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM ,如下图所示:
模块图Java Web
- JSP 和 servlet 有什么区别?
- JSP 有哪些内置对象?作用分别是什么?
- 说一下 JSP 的 4 种作用域?
- session 和 cookie 有什么区别?
- 说一下 session 的工作原理?
- 如果客户端禁止 cookie 能实现 session 还能用吗?
- spring mvc 和 struts 的区别是什么?
- 如何避免 SQL 注入?
- 什么是 XSS 攻击,如何避免?
- 什么是 CSRF 攻击,如何避免?
异常
- throw 和 throws 的区别?
- final、finally、finalize 有什么区别?
- try-catch-finally 中哪个部分可以省略?
- try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?
- 常见的异常类有哪些?
网络
- http 响应码 301 和 302 代表的是什么?有什么区别?
- forward 和 redirect 的区别?
- 简述 tcp 和 udp的区别?
- tcp 为什么要三次握手,两次不行吗?为什么?
- 说一下 tcp 粘包是怎么产生的?
- OSI 的七层模型都有哪些?
- get 和 post 请求有哪些区别?
- 如何实现跨域?
- 说一下 JSONP 实现原理?
设计模式
- 说一下你熟悉的设计模式?
- 简单工厂和抽象工厂有什么区别?
Spring/Spring MVC
- 为什么要使用 spring?
- 解释一下什么是 aop?
- 解释一下什么是 ioc?
- spring 有哪些主要模块?
- spring 常用的注入方式有哪些?
- spring 中的 bean 是线程安全的吗?
- spring 支持几种 bean 的作用域?
- spring 自动装配 bean 有哪些方式?
- spring 事务实现方式有哪些?
- 说一下 spring 的事务隔离?
- 说一下 spring mvc 运行流程?
- spring mvc 有哪些组件?
- @RequestMapping 的作用是什么?
- @Autowired 的作用是什么?
Spring Boot/Spring Cloud
- 什么是 spring boot?
- 为什么要用 spring boot?
- spring boot 核心配置文件是什么?
- spring boot 配置文件有哪几种类型?它们有什么区别?
- spring boot 有哪些方式可以实现热部署?
- jpa 和 hibernate 有什么区别?
- 什么是 spring cloud?
- spring cloud 断路器的作用是什么?
- spring cloud 的核心组件有哪些?
Hibernate
- 为什么要使用 hibernate?
- 什么是 ORM 框架?
- hibernate 中如何在控制台查看打印的 SQL 语句?
- hibernate 有几种查询方式?
- hibernate 实体类可以被定义为 final 吗?
- 在 hibernate 中使用 Integer 和 int 做映射有什么区别?
- hibernate 是如何工作的?
- get()和 load()的区别?
- 说一下 hibernate 的缓存机制?
- hibernate 对象有哪些状态?
- 在 hibernate 中 getCurrentSession 和 openSession 的区别是什么?
- hibernate 实体类必须要有无参构造函数吗?为什么?
MyBatis
- MyBatis 中 #{}和 ${}的区别是什么?
- MyBatis 有几种分页方式?
- RowBounds 是一次性查询全部结果吗?为什么?
- MyBatis 逻辑分页和物理分页的区别是什么?
- MyBatis 是否支持延迟加载?延迟加载的原理是什么?
- 说一下 MyBatis 的一级缓存和二级缓存?
- MyBatis 和 hibernate 的区别有哪些?
- MyBatis 有哪些执行器(Executor)?
- MyBatis 分页插件的实现原理是什么?
- MyBatis 如何编写一个自定义插件?
以上就是java面试最常见200+面试题里面的前64-134题,以下该面试题的部分参考答案。
面试题答案,获取方式
请加QQ群:976203838
获取以上面试题答案传送门:https://shimo.im/docs/R6zZRIikthw8jifV
网友评论