小米一面
- ArrayList和LinkedList的区别,ArrayList初始化数组容量多少
- 方法的重写和重载
- Java常用的锁,synchronized、轻量级锁和偏向锁
- synchronized可以作用在哪些地方
- 实例方法:使用 synchronized 修饰实例方法时,它将作用于当前对象实例。只有一个线程能够进入被 synchronized 修饰的实例方法,并且其他线程必须等待该方法执行完毕才能继续执行。
- 静态方法:使用 synchronized 修饰静态方法时,它将作用于整个类的 Class 对象。相当于给类的 Class 对象加锁,因此无论多少个对象实例,只有一个线程能够进入被 synchronized 修饰的静态方法。
- 代码块:使用 synchronized 修饰代码块时,可以指定某个对象作为锁对象。只有获取到该锁对象的线程才能执行该代码块,其他线程必须等待。
- redis数据类型有哪些,用到了redis哪些数据类型,redis分布式锁的实现
- redis中的缓存穿透、缓存击穿、缓存雪崩
- docker命令、git命令 将某些特定的提交合并到 master 分支上,使用 git cherry-pick 命令。 git cherry-pick 命令可以选择性地将一个或多个提交应用到当前分支。
- HashMap和ConcurrentHashMap的区别
- 线程的创建方法,run和start
- 索引失效的场景
- MySQL中的b+树,为什么不适用b树,覆盖索引
- MyBatis中#{}和${}的区别,表中的字段和实体类不对应怎么解决
- 算法题:环形链表