中兴|这份Java面试八股文让329人成功进入大厂,堪称2022最强( 三 )





六、SSM框架 37 道



1. 使用 Spring 框架的好处是什么?2. 解释下什么是 AOP?3. AOP 的代理有哪几种方式?4. 怎么实现 JDK 动态代理?5. AOP 的基本概念:切面、连接点、切入点等?6. 通知类型(Advice)型(Advice)有哪些?7. 谈谈你对 IOC 的理解?8. Bean 的生命周期?9. Bean 的作用域?10. Spring 中的单例 Bean 的线程安全问题了解吗?11. 谈谈你对 Spring 中的事物的理解?12. Spring 中的事务隔离级别?13. Spring 中的事物传播行为?14. Spring 常用的注入方式有哪些?15. Spring 框架中用到了哪些设计模式?16. ApplicationContext 通常的实现有哪些?17. 谈谈你对 MVC 模式的理解?18. SpringMVC 的工作原理/执行流程?19. SpringMVC 的核心组件有哪些?20. SpringMVC 常用的注解有哪些?21. @RequestMapping 的作用是什么?22. 如何解决 POST 请求中文乱码问题 , GET 的又如何处理呢?23. SpringMVC 的控制器是不是单例模式 , 如果是会有什么问题 , 怎么解决?24. SpringMVC 怎么样设定重定向和转发的?25. SpringMVC 里面拦截器是怎么写的?26. SpringMVC 和 Struts2 的区别有哪些?27. 谈谈你对 MyBatis 的理解?28. MyBaits 的优缺点有哪些?29. MyBatis 与 Hibernate 有哪些不同?30. MyBatis 中 #{ 和 ${的区别是什么?31. MyBatis 是如何进行分页的?分页插件的原理是什么?32. MyBatis 有几种分页方式?33. MyBatis 逻辑分页和物理分页的区别是什么?34. MyBatis 是否支持延迟加载?如果支持 , 它的实现原理是什么?35. 说一下 MyBatis 的一级缓存和二级缓存?36. Mybatis 有哪些执行器(Executor)?37. MyBatis 动态 SQL 是做什么的?都有哪些动态 SQL?能简述一下动态 SQL的执行原理不?



七、MySQL 31 道



1. 请说下你对 MySQL 架构的了解?2. 一条 SQL 语句在数据库框架中的执行流程?3. 数据库的三范式是什么?4. char 和 varchar 的区别?5. varchar(10) 和 varchar(20) 的区别?6. 谈谈你对索引的理解?7. 索引的底层使用的是什么数据结构?8. 谈谈你对 B+ 树的理解?9. 为什么 InnoDB 存储引擎选用 B+ 树而不是 B 树呢?10. 谈谈你对聚簇索引的理解?11. 谈谈你对哈希索引的理解?12. 谈谈你对覆盖索引的认识?13. 索引的分类?14. 谈谈你对最左前缀原则的理解?15. 怎么知道创建的索引有没有被使用到?或者说怎么才可以知道这条语句运行很慢的原因?16. 什么情况下索引会失效?即查询不走索引?17. 查询性能的优化方法?18. InnoDB 和 MyISAM 的比较?19. 谈谈你对水平切分和垂直切分的理解?20. 主从复制中涉及到哪三个线程?21. 主从同步的延迟原因及解决办法?22. 谈谈你对数据库读写分离的理解?23. 请你描述下事务的特性?24. 谈谈你对事务隔离级别的理解?25. 解释下什么叫脏读、不可重复读和幻读?26. MySQL 默认的隔离级别是什么?27. 谈谈你对MVCC 的了解?28. 说一下 MySQL 的行锁和表锁?29. InnoDB 存储引擎的锁的算法有哪些?30. MySQL 问题排查都有哪些手段?31. MySQL 数据库 CPU 飙升到 500% 的话他怎么处理?



八、Redis 12 道
1. 谈下你对 Redis 的了解?2. Redis 一般都有哪些使用场景?3. Redis 有哪些常见的功能?4. Redis 支持的数据类型有哪些?5. Redis 为什么这么快?6. 什么是缓存穿透?怎么解决?7. 什么是缓存雪崩?该如何解决?8. 怎么保证缓存和数据库数据的一致性?9. Redis 持久化有几种方式?10. Redis 怎么实现分布式锁?11. Redis 淘汰策略有哪些?12. Redis 常见性能问题和解决方案?



九、计算机网络 45 道
1. 为什么需要三次握手?两次不行?2. 为什么需要四次挥手?三次不行?3. TCP与UDP有哪些区别?各自应用场景?4. HTTP1.0 , 1.1 , 2.0 的版本区别5. POST和GET有哪些区别?各自应用场景?6. HTTP 哪些常用的状态码及使用场景?7. HTTP状态码301和302的区别 , 都有哪些用途?8. 在交互过程中如果数据传送完了 , 还不想断开连接怎么办 , 怎么维持?9. HTTP 如何实现长连接?在什么时候会超时?10. TCP 如何保证有效传输及拥塞控制原理11. IP地址有哪些分类?12. GET请求中URL编码的意义13. 什么是SQL 注入?举个例子?14. 谈一谈 XSS 攻击 , 举个例子?15. 讲一下网络五层模型 , 每一层的职责?16. 简单说下 HTTPS 和 HTTP 的区别17. 对称加密与非对称加密的区别18. 简单说下每一层对应的网络协议有哪些?19. ARP 协议的工作原理?20. TCP 的主要特点是什么?21. UDP 的主要特点是什么?22. TCP 和 UDP 分别对应的常见应用层协议有哪些?23. 为什么 TIME-WAIT 状态必须等待 2MSL 的时间呢?24. 保活计时器的作用?25. TCP 协议是如何保证可靠传输的?26. 谈谈你对停止等待协议的理解?27. 谈谈你对 ARQ 协议的理解?28. 谈谈你对滑动窗口的了解?29. 谈下你对流量控制的理解?30. 谈下你对 TCP 拥塞控制的理解?使用了哪些算法?31. 什么是粘包?32. TCP 黏包是怎么产生的?33. 怎么解决拆包和粘包?34. forward 和 redirect 的区别?35. HTTP 方法有哪些?36. 在浏览器中输入 URL 地址到显示主页的过程?37. DNS 的解析过程?38. 谈谈你对域名缓存的了解?39. 谈下你对 HTTP 长连接和短连接的理解?分别应用于哪些场景?40. HTTPS 的工作过程?41. HTTP 和 HTTPS 的区别?42. HTTPS 的优缺点?43. 什么是数字签名?44. 什么是数字证书?45. Cookie 和 Session 有什么区别?