TimeLine:
Update:
- 一面面评不错,当场约了二面,面试官说晚点 HR 会打电话
一面(60min)
面试官一上来:看你笔试成绩不错,我今天就不问八股和算法了,直接来场景设计吧
- 如何用 Redis 存储主任务 ID 和子任务 ID 的关系(用 Hash,key 是主任务 ID,value 是子任务 ID)
- 如果主任务下的子任务特别多,会出现什么问题,你想如何改进(bigkey,直接用 string 存,key 是主任务 ID,将子任务列表序列化后存到 value 里,以免碰到多个 bigkey 直接把节点撑爆了)
- 百万级 excel 数据导入导出数据库,不能用阿里的 easyexcel
- 如何保证任意60秒内访问次数少于1000(一个大小为60的数组,存每秒的访问次数,数组首尾相连方便更新,然后滑动窗口)
- 滑动窗口是什么?(双指针,指针++的时候要对60取模)
- 解决数据倾斜
- 解决热点 key
- 解决 bigkey
- Redis 的集群模式下扩容服务是否可用
- Redis 发生并发的时候内部是如何保证数据一致性的(单线程)
- Spring 中注解生效的过程
- 怎么自定义一个注解
- Synchronized 锁方法的时候竞争的是什么
- ThreadLocal 除了内存泄漏还有什么问题
- 讲一下偏向锁
- 字符串拼接,JDK1.8对字符串拼接时 str1 + str2 的优化