- 进程间通信的方式有几种?
- 浏览器输入一个网址后发生了什么?
- DNS域名解析过程?
- 实习单位都做了什么项目,有的什么架构?
- Java中 error和exception有什么区别,项目中怎样进行异常处理(统一异常处理 @ControllerAdvice和@ExceptionHandler)
- 常见的异常有那些,如空指针,数组越界······
- int和Integer 有什么区别,自动拆箱和自动装箱怎么实现的,他的常量池技术了解吗?
- == 和 equals 有什么区别?
- Java8有哪些新特性(lambda表达式、Stream流处理、Optional类等),怎么理解函数式编程?
- jvm内存区域怎么划分的,每块区域存储那些内容?
- 那些区域可能发生OOM问题,什么场景下会出现OOM问题,(栈递归调用,堆大量对象无法回收,方法区存储的第三方包太多)
- Synchronized关键字有什么作用,底层是怎么实现的,是否是可重入锁,如何实现可重入的?
- 锁升级过程了解吗,如 无锁、偏向锁、轻量级锁、重量级锁
- 用过那些并发工具类解决实际问题,如CountDownLatch、ThreadLocal用过吗?
- 数据库事务有哪些特性(ACID)?
- InnoDB支持事务,具体是怎么实现事务这几个特性的(redo、undo日志,MVCC版本控制)
- B+树数据结构有什么特点,为什么数据库用B+树?
- 主键索引和非主键索引有什么区别?
- 如何分析一天SQL语句走没走索引?(explain命令)比较关注那一列(type表示的是索引类型,如果是ALL,那就是全表扫描)
- Spring AOP是使用什么方式实现的,项目中一般用来做什么?
- 用过第三方的springboot stater嘛,他是怎么实现自动装配的(EnableAutoConfiguration->AutoConfigurationImportSelector->getAutoConfigurationEntry扫描spring.factories文件,获取名称,根据ConditionalOnClass等进行筛查,加载符合条件的类进行自动装配)
- 用过MQ嘛,怎么保证消息消费顺序?
- 算法题:有效的括号,leetcode 20;