Java虐我千万遍,我待Java如初恋——最新2023 Java 高频必备面试题。快来看看有没有你不会的!

目录

一、Java基础

二、集合

三、网络安全

四、MySQL

五、SSM

六、多线程(JUC)

七、线程池

八、JVM

十、SpringCloud

十一、RabbitMQ

十二、redis

十三、Linux常用命令

十四、MongoDB

十五、ES

十六、Docker


一、Java基础
  1. Java数据类型
  2. 自动装箱以及拆箱,为什么要设计一个包装类?
  3. break ,continue ,return 的区别及作用?
  4. a++和++a
  5. 谈谈对面向对象的理解,以及如何使用面向对象? 
  6. 重载(overload)和重写(override)的区别?
  7. this关键字
  8. 成员变量与局部变量
  9. final关键字
  10. ==和 equals 的区别
  11. 为什么重写 equals 时必须重写hashCode ⽅法
  12. 深拷贝和浅拷贝
  13. 接口能否写普通方法?
  14. 谈谈对反射的理解?怎么使用反射?反射的实现?
  15. 泛型、泛型擦除
  16. Java8新特性以及流式处理
  17. 常用的设计模式以及优点,实现方式?
  18. String、StringBuffer、StringBuilder
  19. IO
  20. new 一个Object占用的内存
  21. 枚举的理解以及使用
  22. 单例模式如何实现以及单例模式的作用?
  23. finally一定会被执行吗?
  24. try - catch - finally -return的执行顺序
  25. Integer的缓存池
二、集合
  1. 谈谈有哪些集合?
  2. 集合的作用
  3. ArrayList和LinkedList
  4. HashMap的底层原理,例如put流程等
  5. CopyOnWriteArrayList
  6. Hashtable和ConcurrentHashMap
  7. Set下的实现类
  8. 了解扰动函数、泊松分布
三、网络安全

TCP三次挥手和四次握手

四、MySQL
  1. 事务的理解?
  2. 数据库四种隔离界别的理解?
  3. 事物的ACID特性以及如何保证?
  4. 脏读、不可重复读、幻读的理解以及如何解决?
  5. MySQL的逻辑架构
  6. MySQL的各种索引
  7. MySQL的优化?
  8. MySQL的锁机制
  9. MySQL的存储引擎 InnoDB MyISAM
  10. Explain关键字的具体使用以及作用?
  11. 回表、索引下推、覆盖索引
  12. MySQL的日志
  13. 怎么设计表?
  14. SQL优化实战
  15. SQL语句的执行流程?
  16. select语句的详细顺序?
  17. B树和B+树
  18. B+树存储数据的计算?
五、SSM
  1. 谈谈对MyBatis的理解
  2. 谈谈对Spring的理解?
  3. 谈谈对SpringMVC的理解?
  4. .#{}和${}的区别?
  5. MyBatis如何进行分页?
  6. MyBatis一级二级缓存?
  7. 掌握MyBatis常用的标签以及作用
  8. IOC的理解?为什么要使用IOC?
  9. AOP的理解?为什么要使用AOP?
  10.  AOP的核心概念
  11. Bean的生命周期?
  12. Servlet生命周期?
  13. Spring支持哪些循环方式注入的依赖?
  14. 如何解决循环依赖?
  15. Spring事务的传播机制?
  16. Spring事务失效场景?
  17. Spring有哪些模块?是干嘛的?
  18. Spring常用的注解?
  19. Spring用到的设计模式?
  20. Spring有哪些特性?
  21. 能不能手写一个Spring?
  22. BeanFactory和ApplicationtContext?FactoryBean?
  23. 谈谈Spring的工作流程?
  24. 定义Bean依赖的方式?
  25. 依赖注入的方式?
  26. 自动装配?
  27. Bean的作用域?
  28. 单例Bean线程安全问题?以及如何解决?
  29. JDK动态代理和CG Lib的区别?
  30. Spring事务的隔离级别?
  31. 声明式事务的实现原理?
  32. MVC的工作流程?MVC Restful风格的工作流程?
  33. MVC的核心组件?
六、多线程(JUC)
  1. run() 和 start()
  2. 线程的实现方式以及区别
  3. 线程和进程的区别
  4. 守护线程
  5. 同步线程和异步线程的理解
  6. 并行和并发的区别
  7. 线程的调度方法?
  8. 线程状态?
  9. 上下文切换?
  10. 线程之间如何通信?
  11. ThreadLocal
  12. 父子线程如何通信
  13. 原子性、可见性、有序性的理解?
  14. volatile的底层实现原理
  15. .指令重排是什么?
  16. sleep和wait区别?
  17. AQS?
  18. CAS?CAS产生的问题以及如何解决?
  19. 如何实现异步编排
  20. 异步编排的各种方法的使用以及区别?
  21. synchronized的底层原理
  22. synchronized的优化
  23. ReenTrantLock的底层原理?
  24. ReenTrantLock和synchronized的区别?
  25. ReenTrantLock如何实现公平锁和非公平锁?
  26. 如何保证i++多线程环境下正确?也就是如何保证原子性?
  27. AtomicInteger的实现原理?
  28. 什么是死锁,怎么避免?
七、线程池
  1. 线程池如何使用?
  2. 线程池如何实现?
  3. 线程池有哪几种?
  4. 线程池参数?
  5. 线程池状态?
  6. 线程池异常如何处理?
  7. 线程池的理解?作用?
  8. 线程池膨胀流程?
  9. .线程池提交和关闭以及方式上的区别?
  10. 阻塞队列
八、JVM
  1. 谈谈对JVM的理解?
  2. JVM的内存结构?
  3. JVM双亲委派?
  4. 能否自己定义一个String
  5. 垃圾回收算法有哪些?
  6. 新生代为何使用复制算法而非标记整理算法?
  7. 新生代何时晋升老年代?
  8. 谈谈为何新生代分Eden区和Survivor
  9. 谈谈为何Survivor分From和to
  10. 谈谈为何堆要分 新生代和老年代?
  11. Stop The World ? OopMap?
  12. 垃圾收集器有哪些?细说如何工作以及有何特点?CMS G1是必备的
  13. 什么时候会触发Full GC?
  14. Minor GC什么时候触发?
  15. 讲讲finalize()方法?
  16. Java的引用有哪些?
  17. GC Roots是什么?
  18. OOM和内存泄露?怎么解决?
  19. 新生代为什么最多GC15次?

九、SpringBoot

  1. SpringBoot的理解?
  2. SpringBoot的自动装配原理?
  3. SpringBoot的启动方式?
  4. SpringBoot如何部署?
十、SpringCloud
  1. SpringCloud的理解?
  2. .cloud的常用组件?
  3. 网关的原理以及作用,以及如何使用网关?
  4. cloud的常用组件的使用以及原理?
  5. SpringCloud和Dubble的区别?
  6. SpringCloud和SpringBoot的区别/
  7. Nacos云端配置和本地配置?
  8. Zookerper?
  9. Feign的原理以及使用
十一、RabbitMQ
  1. MQ在项目中的使用?
  2. .项目中为什么使用MQ?
  3. 延迟队列?
  4. MQ的工作模式?
  5. 如何保证消息不重复消费?
  6. MQ的使用流程?
  7. MQ如何保证消息的幂等性?
  8. MQ如何保证消息消费顺序?
  9. 如何保证消息不丢失?
十二、redis
  1. reids的理解?
  2. redis为什么这么快?
  3. redis安全?不安全?
  4. redis单线程还是多线程?
  5. 看门狗
  6. redis如何实现分布式锁
  7. 缓存击穿、缓存穿透、缓存雪崩的解决?
  8. 如何保证缓存和数据的强一致性?
  9. 如何保证缓存和数据的最终一致性?
  10. 延迟队列?
  11. redis的数据类型以及使用场景
  12. redis预热
  13. redis如何实现消息队列?
  14. redis热Key
  15. redis持久化机制?
  16. IO多路复用
  17. redis主从复制的实现原理?
  18. 哨兵
  19. redis集群?
  20. redis大Key
十三、Linux常用命令
十四、MongoDB
十五、ES
十六、Docker
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值