- 常见面试题
- 一些常见面试题
目录
- # 1. 数据处理与存储类
- 1-1. 海量 QQ 号去重【腾讯】 1-2. 百万级别数据的 Excel 如何快速导入到数据库中 1-3. 从 MySQL 千万条数据中搜索到指定数据 1-4. 为什么复杂的架构一定要做分层设计? 1-5. 什么是网络四元组
- # 2. Spring 生态类
- 2-1. SpringBoot 自动装配的原理 2-2. SpringMVC 的优点和缺点 2-3. Spring AOP 在什么场景下会失效? 2-4. Spring 是如何管理事务的,事务管理机制 2-5. 声明式事务的实现原理(AOP)
- # 3. 缓存问题类
- 3-1. Redis 缓存击穿问题及解决方案 3-2. 缓存雪崩问题及解决方案 3-3. 缓存穿透及解决方案 3-4. 设计 Redis 的 key 和 value ,有哪些原则?
- # 4. 多线程类
- 4-1. 多线程 Future 的用法
- # 5. JVM 类
- 5-1. JVM 中一次完整的 GC 流程(从 ygc 到 fgc)是怎样的 5-2. 如何判断对象可以被回收 5-3. 你知道哪些垃圾收集算法 5-4. 虚拟机为什么使用元空间替换了永久代 5-5. 简述 CMS 垃圾收集器的工作流程,它有什么优缺点? 5-6. 简述一下 JVM 的内存模型 5-7. 说说堆和栈的区别 5-8. 简述 Java 的对象结构 5-9. JVM 中的即时编译器(JIT)如何工作? 5-10. 什么是内存屏障?JVM 如何使用内存屏障保证指令执行顺序? 5-11. 如何排查和解决 JVM 内存泄漏问题?有哪些常用的工具和方法? 5-12. JVM 如何处理异常?try-catch-finally 结构在字节码层面是如何实现的?
- # 6. MySQL 类
- 6-1. MySQL 为什么一定要有一个主键 6-2. MySQL 中的 RR 隔离级别,到底有没有解决幻读问题 6-3. MySQL 的行级锁到底锁的是什么东西? 6-4. 存储 MD5 值应该用 VARCHAR 还是用 CHAR? 6-5. 数据库的三范式是什么? 6-6. 说说 InnoDB 与 MyISAM 的区别 6-7. drop、truncate、delete 的区别 6-8. 聊一聊数据库事务机制 6-9. 聊一聊 MySQL 中的关联查询 6-10. 事务隔离级别有哪些?MySQL 的默认隔离级别是什么 6-11. 分库分表之后,id 主键如何处理? 6-12. 说说在 MySQL 中一条查询 SQL 是如何执行的? 6-13. 讲解下 DDL、DML、DCL 6-14. 存储过程和触发器的作用 6-15. MySQL 如何行转列和列转行 6-16. 如何查看 SQL 的执行计划 6-17. union 和 unionAll 的区别 6-18. having 和 where 的区别 6-19. 常见的索引原则 6-20. MySQL 中的 IN 和 EXISTS 子句有什么区别? 6-21. MySQL 如何处理 NULL 值,对性能有什么影响? 6-22. 如何在 MySQL 中处理和避免全表扫描? 6-23. MySQL 中的表空间是什么,它的作用是什么? 6-24. 在 MySQL 中,如何优化 ORDER BY 查询?
- # 7. Java 8 + 特性类
- 7-1. 使用 Java 8 的优点是什么? 7-2. 集合与流有何不同? 7-3. 什么是 Lambda 表达式? 7-4. 解释 Predicate 和 Consumer 函数式接口 7-5. peek () 方法在 Java 8 中的作用? 7-6. 什么是函数式接口? 7-7. 接口中的静态方法有什么作用? 7-8. skip (long) 和 limit (long) 的区别? 7-9. 抽象类和接口的异同? 7-10. overload 与 override 的区别? 7-11. HashMap 在 Java 8 中的变化? 7-12. HashMap、LinkedHashMap、Hashtable、ConcurrentHashMap 的区别? 7-13. Lambda 参数列表与箭头运算符的作用? 7-14. sleep () 和 wait () 的区别? 7-15. throw 与 throws 的区别? 7-16. final、finally、finalize 的区别? 7-17. Collection 与 Collections 的区别 7-18. ArrayList、LinkedList、Vector 的区别?
上次更新: 12/30/2025