虾皮一面面经
2025年09月06日 虾皮一面
- 自我介绍。
- JWT 的实现原理。
- 为什么要使用 JWT?它的优势体现在哪里?
- 分布式 ID 生成 —— 雪花算法的原理。
- 为什么要使用雪花算法而不是 UUID?
- 雪花算法结合 Lua 脚本和 Redis 的原因。有没有其他不依赖中间件的实现方式?
- 如果不依赖 Redis,如何在单机上实现唯一、有序的 ID?
- 滑动窗口限流的实现原理。
- 滑动窗口相较于固定窗口的优势。
- 如何用 Redis 的 ZSet 实现滑动窗口限流?
- 缓存与数据库的一致性如何保证?
- 缓存删除失败、更新异常等情况下有哪些解决方案?
- MySQL 底层存储结构是什么?为什么用 B+ 树?
- 事务是如何实现的?
- 针对一个查询场景,应该在哪些字段上加索引?为什么性别字段不适合作为索引?
- 为什么 Redis 快?
算法题
- 滑动窗口最小值问题:给定一个数组和窗口大小,求每个窗口的最小值。
算法题没做出来,太难受了,关键我4号才做过一遍滑动窗口最大值……还是要深刻理解才能记得牢。