2020最新java面试题(三十三)

二面:

  1. 项目:画一下你的项目架构图,都有哪些步骤每个步骤都做了什么。
  2. 数据库数据量比较多,查询比较慢,应该如何优化。(索引和分库分表)
  3. 数据库的联合索引是什么
  4. 如何进行索引优化。如何知道sql语句是否使用了索引,以及使用了哪些索引
  5. 索引应该如何建。(我说区分度大的列和类型小的列,他问如何定义区分度大的列)
  6. 你知道数据库分库分表有哪些,各自在上面情况下使用
  7. 在数据库分库分表的时候应该如何划分,(
  8. 数据库分库分表有哪些好处。
  9. 数据有哪些事物的隔离级别。
  10. mapReduce的原理和过程,手写一个MapReduce程序,单词统计的。
  11. 手写单例模式,线程安全的非线程安全的,
  12. 线程池的参数有哪些,线程池的拒绝策略知道吗?有哪几种。
  13. java的内存模型是什么样的
  14. 一个数据从主存加载到线程缓存分哪些步骤、从缓存写到主存分哪些步骤。
  15. volatile的内存语义和使用场景
  16. 知道哪些设计模式、在spring、jdk、jvm或者其他框架中都有哪些地方使用了这些设计模式
  17. hashMap和hashtable的区别
  18. hashtable和concurrentHashMap的区别
  19. concurrentHashMap:jdk1.7如何实现的、jdk1.8如何实现区别在哪里
  20. 什么情况下对concurrentHashMap是全局加锁的
  21. spring中bean生命周期是什么样的由谁管理的
  22. spring MVC的执行流程。
  23. 为什么使用spring ioc和aop,使用能带来哪些好处,
  24. linux你常用的命令都有哪些

所有面试题持续更新见这里:
2020java面试题汇总 持续更新中