2025年 Java 面试八股文(20w字)

目录

第一章-Java基础篇

1、你是怎样理解OOP面向对象??? 难度系数:?

2、重载与重写区别??? 难度系数:?

3、接口与抽象类的区别??? 难度系数:?

4、深拷贝与浅拷贝的理解??? 难度系数:?

5、sleep和wait区别 ???难度系数:?

6、什么是自动拆装箱? int和Integer有什么区别??? 难度系数:?

7、==和equals区别??? 难度系数:?

8、String能被继承吗 为什么用final修饰??? 难度系数:?

9、String buffer和String builder区别??? 难度系数:?

10、final、finally、finalize??? 难度系数:?

11、Object中有哪些方法??? 难度系数:?

12、说一下集合体系??? 难度系数:?

13、ArrarList和LinkedList区别??? 难度系数:???

14、HashMap底层是 数组+链表+红黑树,为什么要用这几类结构??? 难度系数:??

15、HashMap和HashTable区别??? 难度系数:?

16、线程的创建方式??? 难度系数:?

17、线程的状态转换有什么(生命周期)?? 难度系数:?

18、Java中有几种类型的流??? 难度系数:?

19、请写出你最常见的5个RuntimeException??? 难度系数:?

20、谈谈你对反射的理解??? 难度系数:?

21、什么是 java 序列化,如何实现 java 序列化??? 难度系数:?

22、Http 常见的状态码??? 难度系数:?

23、GET 和POST 的区别??? 难度系数:?

24、Cookie 和Session 的区别??? 难度系数:?

第二章-Java高级篇

1、HashMap底层源码??? 难度系数:???

2、JVM内存分哪几个区,每个区的作用是什么??? 难度系数:??

3、Java中垃圾收集的方法有哪些??? 难度系数:?

4、如何判断一个对象是否存活(或者GC对象的判定方法)??? 难度系数:?

5、什么情况下会产生StackOverflowError(栈溢出)和OutOfMemoryError(堆溢出)怎么排查??? 难度系数:??

6、什么是线程池,线程池有哪些(创建)??? 难度系数:?

7、为什么要使用线程池??? 难度系数:?

8、线程池底层工作原理??? 难度系数:?

9、ThreadPoolExecutor对象有哪些参数 怎么设定核心线程数和最大线程数 拒绝策略有哪些??? 难度系数:?

10、常见线程安全的并发容器有哪些??? 难度系数:?

11、Atomic原子类了解多少 原理是什么??? 难度系数:?

12、synchronized底层实现是什么 lock底层是什么 有什么区别??? 难度系数:???

13、了解ConcurrentHashMap吗 为什么性能比HashTable高,说下原理??? 难度系数:??

14、ConcurrentHashMap底层原理??? 难度系数:???

15、了解volatile关键字不??? 难度系数:?

16、synchronized和volatile有什么区别??? 难度系数:??

17、Java类加载过程??? 难度系数:?

18、什么是类加载器,类加载器有哪些? 难度系数:?

19、简述java内存分配与回收策略以及Minor GC和Major GC(full GC)??? 难度系数:??

20、如何查看java死锁??? 难度系数:?

21、Java死锁如何避免??? 难度系数:?

第三章-java框架篇

1、简单的谈一下SpringMVC的工作流程??? 难度系数:?

2、说出Spring或者SpringMVC中常用的5个注解??? 难度系数:?

3、简述SpringMVC中如何返回JSON数据??? 难度系数:?

4、谈谈你对Spring的理解??? 难度系数:?

5、Spring中常用的设计模式??? 难度系数:?

6、Spring循环依赖问题??? 难度系数:??

常见问法

什么是循环依赖?

两种注入方式对循环依赖的影响?

相关概念

三级缓存

四个关键方法

debug源代码过程

总结

其他衍生问题

7、介绍一下Spring bean 的生命周期、注入方式和作用域??? 难度系数:?

8、请描述一下Spring 的事务管理??? 难度系数:?

9、MyBatis中 #{}和${}的区别是什么??? 难度系数:?

10、Mybatis 中一级缓存与二级缓存??? 难度系数:?

11、MyBatis如何获取自动生成的(主)键值??? 难度系数:?

12、简述Mybatis的动态SQL,列出常用的6个标签及作用??? 难度系数:?

13、Mybatis 如何完成MySQL的批量操作??? 难度系数:?

14、谈谈怎么理解SpringBoot框架??? 难度系数:??

15、Spring Boot 的核心注解是哪个 它主要由哪几个注解组成的??? 难度系数:?

16、Spring Boot自动配置原理是什么??? 难度系数:?

17、SpringBoot配置文件有哪些 怎么实现多环境配置??? 难度系数:?

18、SpringBoot和SpringCloud是什么关系??? 难度系数:?

19、SpringCloud都用过哪些组件 介绍一下作用??? 难度系数:?

20、Nacos作用以及注册中心的原理??? 难度系数:??

21、Feign工作原理??? 难度系数:??

第四章-MySQL

1、Select 语句完整的执行顺序??? 难度系数:?

2、MySQL事务??? 难度系数:??

3、MyISAM和InnoDB的区别??? 难度系数:?

4、悲观锁和乐观锁的怎么实现??? 难度系数:??

5、聚簇索引与非聚簇索引区别??? 难度系数:??

6、什么情况下mysql会索引失效??? 难度系数:?

7、B+tree 与 B-tree区别??? 难度系数:??

8、以MySQL为例Linux下如何排查问题??? 难度系数:??

9、如何处理慢查询??? 难度系数:??

10、数据库分表操作??? 难度系数:?

11、MySQL优化??? 难度系数:?

12、SQL语句优化案例??? 难度系数:?

13、你们公司有哪些数据库设计规范??? 难度系数:?

14、有没有设计过数据表?你是如何设计的??? 难度系数:?

15、常见面试SQL??? 难度系数:?

第五章-Redis

1、介绍下Redis Redis有哪些数据类型??? 难度系数:???

2、Redis提供了哪几种持久化方式??? 难度系数:???

3、Redis为什么快??? 难度系数:???

4、Redis为什么是单线程的??? 难度系数:???

5、Redis服务器的的内存是多大??? 难度系数:???

6、为什么Redis的操作是原子性的,怎么保证原子性的??? 难度系数:???

7、Redis有事务吗??? 难度系数:???

8、Redis数据和MySQL数据库的一致性如何实现??? 难度系数:??

9、缓存击穿,缓存穿透,缓存雪崩的原因和解决方案(或者说使用缓存的过程中有没有遇到什么问题,怎么解决的)??? 难度系数:??

10、哨兵模式是什么样的??? 难度系数:??

11、Redis常见性能问题和解决方案??? 难度系数:?

12、MySQL里有大量数据,如何保证Redis中的数据都是热点数据??? 难度系数:??

13、Redis集群方案应该怎么做 都有哪些方案??? 难度系数:??

14、说说Redis哈希槽的概念??? 难度系数:??

15、Redis有哪些适合的场景??? 难度系数:?

16、Redis在项目中的应用??? 难度系数:?

第六章-分布式技术篇

第七章-Git

1、工作中git开发使用流程(命令版描述)

开发一个新功能流程: (master线上分支,dev测试分支)

2、Reset 与Rebase,Pull 与 Fetch 的区别

3、git? merge和git rebase的区别

4、git如何解决代码冲突

5、项目开发时git分支情况

第八章-Linux

1、Linux常用命令

2、如何查看测试项目的日志

3、如何查看最近1000行日志

4、Linux中如何查看某个端口是否被占用

5、查看当前所有已经使用的端口情况

第九章-电商项目篇之尚品汇商城

1、介绍下最近做的项目

1.1 项目背景:

1.2 项目功能:

1.3 技术栈:

1.4 自己负责的功能模块:

1.5 项目介绍参考:

1.6 项目架构图:

1.7 整体业务介绍:

1.8 后台管理系统功能:

1.8.1 后台主页:?

1.8.2 商品模块:?

1).商品管理:

2).商品分类管理:

3).商品平台属性管理:

4).品牌管理:

5).商品评论管理:

1.8.3 销售模块:?

1).促销秒杀管理:

2).礼券、积分管理:

3).关联/推荐管理:

1.8.4 订单模块:?

1).订单管理:

2).支付:

3).结算:

1.8.5 库存模块:?

1).库存管理:

2).查看库存明细记录。?

3).备货/发货:

4).退/换货:

1.8.6 内容模块:?

1).内容管理:

2).广告管理:

3).可自由设置商城导航栏目以及栏目内容、栏目链接。

1.8.7 客户模块:?

1).客户管理:

2).反馈管理:

3).消息订阅管理:

4).会员资格:

1.8.8 系统模块:?

1).安全管理:

2).系统属性管理:

3).运输与区域:

4).支付管理:

5).包装管理:

6).数据导入管理:

1.8.9 报表模块:?

2、项目开发周期:

3、项目参与人数:

4、公司开发相关各岗位职责:

4.1 项目经理(PM):

4.2 产品(PD):

4.3 界面设计(UI):

4.4 开发组长(TL):

4.5 测试(QA):

4.6 运维(SRE):

5、项目开发流程:

5.1 需求分析

5.2 系统设计

5.3 编码开发

5.4 系统测试

5.5 部署实施

6、项目版本控制:

7、一般项目服务器数量:

开发测试阶段:

生产环境:

8、上线后QPS并发量,用户量、同时在线人数并发数等问题:

9、你们项目的微服务是怎么拆分的,拆分了多少?

10、如何解决并发问题的?

11、如何保证接口的幂等性?

12、你们项目中有没有用到什么设计模式?

13、生产环境出问题,你们是怎么排查的?

14、你做完这个项目后有什么收获?

15、在做这个项目的时候你碰到了哪些问题?你是怎么解决的?

第十章-数据结构和算法

1、怎么理解时间复杂度和空间复杂度

2、数组和链表结构简单对比

3、怎么遍历一个树

4、冒泡排序(Bubble Sort)

5、快速排序(Quick Sort)

6、二分查找(Binary Search)

1、你所知道的设计模式有哪些

2、单例模式(Binary Search)

2.1 单例模式定义

2.2 单例模式的特点

2.3 单例的四大原则

你可能感兴趣的:(java)