一面面经1. 进程间通信的方式有几种?2. 浏览器输入一个网址后发生了什么?3. DNS域名解析过程?4. 实习单位都做了什么项目,有的什么架构?5. Java中 error和exception有什么区别,项目中怎样进行异常处理(统一异常处理 @ControllerAdvice和@ExceptionHandler)6. 常见的异常有那些,如空指针,数组越界······7. int和Integer 有什么区别,自动拆箱和自动装箱怎么实现的,他的常量池技术了解吗?8. == 和 equals 有什么区别?9. Java8有哪些新特性(lambda表达式、Stream流处理、Optional类等),怎么理解函数式编程?10. jvm内存区域怎么划分的,每块区域存储那些内容?11. 那些区域可能发生OOM问题,什么场景下会出现OOM问题?12. Synchronized关键字有什么作用,底层是怎么实现的,是否是可重入锁,如何实现可重入的?13. 锁升级过程了解吗,如 无锁、偏向锁、轻量级锁、重量级锁14. 用过那些并发工具类解决实际问题,如CountDownLatch、ThreadLocal用过吗?15. 数据库事务有哪些特性(ACID)?16. InnoDB支持事务,具体是怎么实现事务这几个特性的(redo、undo日志,MVCC版本控制)17. B+树数据结构有什么特点,为什么数据库用B+树?18. 主键索引和非主键索引有什么区别?19. 如何分析一天SQL语句走没走索引?(explain命令)比较关注那一列(type)20. Spring AOP是使用什么方式实现的,项目中一般用来做什么?21. 用过第三方的springboot stater嘛,他是怎么实现自动装配的22. 用过MQ嘛,怎么保证消息消费顺序?23. 算法题:有效的括号,leetcode 20;