站酷一面
-
介绍一下项目
-
Redis 基本数据类型、底层实现
-
Redis 持久化方案 AOF、RDB
-
Redis集群模式下的哈希槽有什么作用
-
Redis和数据库缓存一致性问题,尽量保证一致性
- 如果要保证强一致性,就不用缓存
- 读多写少,可以使用延迟双删+过期时间
-
MySQL索引介绍
- 聚簇和非聚簇索引
- InnoDB索引覆盖、回表
- InnoDB和MYISAM下的B+树区别
-
有一张学生表,有三列:学生ID,课程ID,课程对应的分数
- 写SQL查询每个学生的总成绩,根据总成绩排序
- 查询每门课程的最高分和学生ID
-
Spring IOC原理
-
单例模式:懒汉和饿汉模式
-
懒汉和饿汉的构造方法私有化,怎么防止反射操作创建单例对象
- 直接使用枚举类单例来避免反射或者序列化攻击
- 别的方法防止反射/序列化攻击不知道。。。(百度说防止序列化可以使用readResolve)
// 当ObjectInputStream从流中读取一个对象并准备将其返回给调用方时, // 将调用readResolve方法。ObjectInputStream检查对象的类是否定义了readResolve方法。 // 如果定义了该方法,则将调用readResolve方法,返回指定的对象。 // 也就是说反序列化时,JDK提供了一个钩子函数让开发者返回指定的对象。 // 解决序列化与反序列化破坏单例模式的问题 private Object readResolve() { return this.INSTANCE; }
-
创建线程的方式
-
线程的生命周期和线程的状态
-
synchronized加锁的原理
- Coding:两个线程AB,交替打印数字1-100
膀胱局,从10.30面试过12点。属实给我拷打麻了,不过的问的都是八股文,就是每个点都能说很长时间....明天二面
#面试#