数字马力面试
职位:java后端
时间:30min
与项目几乎无关,一场酣畅淋漓的八股文拷打
- 自我介绍
- String、StringBuffer、StringBuilder的区别?
- 常见的异常的和错误有哪些?
- 接口与抽象类的区别?
- 介绍一下集合内容?
- 什么是进程和线程?
- 如何创建线程?
- sleep()和wait()方法的区别?
- 线程安全和线程同步是一样的吗?
- 什么是线程死锁?
- 线程死锁的条件?
- 怎么避免死锁?
- Java内存区域和JMM?
- Java线程池使用过吗?介绍其中的参数
- 介绍一下Java的分布式锁?
- synchronized和lock区别?可重入锁、读锁、写锁是什么?
- Java中锁的底层原理是什么?对象头(锁头)分别是哪些字段?
- 垃圾回收机制?
- 设计模式使用过哪些?使用懒汉式怎么解决线程安全问题?
- Spring中ioc和aop是什么?ioc注入的方式有哪些?
- SpringBoot中常用的注解有哪些?
- Bean的生命周期?
- 类加载的阶段?(不是内存中如何加载,而是加载、连接、初始化三个阶段)
- MySQL怎么保证事务?ACID特性
- 隔离性是怎么保证的?
- 并发事务有哪些问题?
- 不可重复读和幻读的区别?
- MySQL的隔离级别有哪些?
- MySQL怎么知道语句是否使用了索引?
- 分页如何实现?
- 大致介绍一下redis和kafka
- redis持久化机制?
- 分别介绍缓存穿透、缓存击穿、缓存雪崩以及其解决方法
- 反问