网站首页 > java教程 正文
大家好,我是Java面试分享
最近很多小伙伴在忙着找工作,给大家整理了一份非常全面的Java面试题及答案。
涉及的内容非常全面,包含:并发编程、MyBatis、SpringBoot、Redis、Linux、SpringBoot…等内容,希望对找工作的小伙伴有所帮助。
Java 基础知识
- 一个空 Object 对象占多大空间?
- new String ("abc") 到底创建了几个对象?
- String、StringBuffer、StringBuilder 有什么区别 ?
- Integer 和 int 的区别是什么,Java 为什么要设计封装类?
- HashMap 是如何解决哈希冲突的?
- ArrayList 的自动扩容机制是怎样的?
- 强引用、软引用、弱引用、虚引用有什么不同?
- Java 有几种文件拷贝方式,哪种效率最高?
- 受检异常和非受检异常分别是什么 ?
- 为什么重写 equals () 就一定要重写 hashCode () 方法 ?
- finally 块一定会执行吗?
- Java 中实现单例模式有哪些方法?
- fail - safe 机制与 fail - fast 机制分别起什么作用 ?
- JDK 动态代理为什么只能代理有接口的类?
- 什么是深拷贝和浅拷贝 ?
Java 并发编程
- 现在有 T1、T2、T3 三个线程,如何保证 T2 在 T1 执行完后执行,T3 在 T2 执行完后执行?
- 怎样实现一个高效缓存,允许多个用户读,但只允许一个用户写 ?
- 用 Java 实现阻塞队列,该怎么做?
- 请用 Java 代码解决生产者 —— 消费者问题 。
- 编写一个会导致死锁的 Java 程序,并说明如何解决死锁 ?
- 什么是原子操作,Java 中的原子操作有哪些 ?
- volatile 关键字的作用是什么 ?
- 什么是竞争条件,怎样发现和解决竞争 ?
- 如何使用 thread dump,又该如何分析 ?
- 怎样唤醒一个阻塞的线程 ?
- CyclicBarrier 和 CountDownLatch 有什么区别 ?
- 什么是不可变对象,它对写并发应用有何帮助 ?
- 多线程环境中常见的问题有哪些 ?
- synchronized 和 ReentrantLock 有什么不同 ?
- 谈谈对 AQS(抽象队列同步器)的理解 ?
JVM(Java 虚拟机)
- CPU 飙高系统反应慢,如何排查 ?
- 线上出现 OOM(OutOfMemoryError)问题,该如何排查 ?
- 请阐述对双亲委派模型的理解 ?
- JVM 如何判断一个对象可以被回收 ?
- G1 垃圾收集器的特点是什么,为什么能实现低延迟 ?
- JVM 分代年龄为什么是 15 次,可以是 25 次吗 ?
- 为什么 JVM 使用元空间替换了永久代 ?
- Java 常见的垃圾收集器有哪些 ?
- 如何破坏双亲委派模型 ?
- JVM 中一次完整的 GC 流程是怎样的,对象如何晋升到老年代 ?
- 如果发生内存泄漏,该怎么排查 ?
- JVM 中的三色标记法是什么 ?
- 请介绍 CMS 垃圾回收器的工作原理 ?
- 内存溢出和内存泄漏有什么区别 ?
- 简单描述 Java 对象的创建过程在 JVM 中的表现 ?
数据库(以 MySQL 为例)
- 分库分表之后,ID 主键如何处理 ?
- 简述存储过程的优化思路 ?
- 数据库并发策略有哪些 ?
- MySQL 中有哪几种锁 ?
- 请阐述 MyISAM 和 InnoDB 的区别 ?
- MySQL 中 InnoDB 支持的四种事务隔离级别名称是什么,它们之间有什么区别 ?
- CHAR 和 VARCHAR 的区别是什么 ?
- 主键和候选键有什么不同 ?
- myisamchk 工具是用来做什么的 ?
- 如何查看表格定义的所有索引 ?
- LIKE 声明中的 % 和_是什么含义 ?
- BLOB 和 TEXT 有什么区别 ?
- MySQL 如何优化 DISTINCT 操作 ?
- 如何显示查询结果的前 50 条数据 ?
- MySQL 支持事务吗,其事务的实现原理是怎样的 ?
缓存(以 Redis 为例)
- Redis 是单进程单线程的,为什么还能这么快 ?
- Redis 的数据类型有哪些,每种数据类型的使用场景是怎样的 ?
- 请解释 Redis 的过期策略以及内存淘汰机制 ?
- Redis 的持久化机制有哪些,各自的优缺点是什么 ?
- 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级分别是什么,如何解决 ?
- 如何保证 Redis 中的数据都是热点数据 ?
- 假如 Redis 里面有 1 亿个 key,其中有 10w 个 key 是以某个固定的已知前缀开头的,如何将它们全部找出来 ?
- 用过 Redis 做异步队列吗,是怎么使用的 ?
- Redis 分布式锁是什么原理 ?
- Pipeline 有什么好处,为什么要用 Pipeline ?
- 是否使用过 Redis 集群,集群的原理是什么 ?
- Redis 集群方案在什么情况下会导致整个集群不可用 ?
- Redis 支持的 Java 客户端有哪些,官方推荐用哪个 ?
- Jedis 与 Redisson 对比,有什么优缺点 ?
- Redis 如何设置密码及验证密码 ?
Spring 框架
- Spring 的事务机制基于什么来实现 ?
- Spring 事务失效的几种场景是什么 ?
- Spring IOC(控制反转)和 DI(依赖注入)的原理是什么 ?
- Spring AOP(面向切面编程)的实现原理 ?
- 如何在 Spring 中实现切面编程,切面编程的应用场景有哪些 ?
- Spring Bean 的生命周期是怎样的 ?
- @Component、@Service、@Repository、@Controller 注解有什么区别 ?
- Spring Boot 如何实现自动配置 ?
- Spring Cloud 包含哪些组件,它们各自的作用是什么 ?
- 微服务架构中,Spring Cloud 如何实现服务发现与注册 ?
- 在 Spring 中,如何解决循环依赖问题 ?
- Spring MVC 的请求处理流程是怎样的 ?
- 如何在 Spring 中集成第三方框架,比如 MyBatis ?
- Spring Session 的作用是什么,有哪些实现方式 ?
- Spring 框架中,如何进行事务管理和异常处理 ?
除以上之外,还有JVM等面试题及答案。
- 上一篇: 经典的22个Java编程题
- 下一篇: Java面试场景题及答案最全总结(2025版持续更新)
猜你喜欢
- 2025-03-13 Java面试场景题及答案最全总结(2025版持续更新)
- 2025-03-13 经典的22个Java编程题
你 发表评论:
欢迎- 最近发表
-
- 一招解决vscode报java插件版本不一致以及相关缓存引起的问题
- 关于Java 8版本的理解(java中的接口怎么理解)
- Java 9 到 Java 16 的版本演进:一次模块化革命和语言的持续进化
- 如何选择合适的Java版本(如何选择jdk版本)
- 晚会互动小游戏(晚会节目互动小游戏)
- 基于JavaSwing的象棋游戏系统java休闲游戏jsp源代码Mysql
- Java 猜字母游戏!会写会玩才是真本事!
- 基于JavaSwing的贪吃蛇大作战java休闲游戏jsp源代码mysql
- Java & Python 康威生命游戏 - 命令行版
- 高玩随机种子无损速通《我的世界》10分钟不到刷新世界纪录
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)