想吃热干面1 level
获赞
20
粉丝
10
关注
6
看过 TA
230
电子科技大学
2026
Java
IP属地:陕西
暂未填写个人简介
私信
关注
# 面经 ## 一、项目背景(这里感觉想问一下一个系统设计和服务拆分有没有思考)1. 这个项目是练手项目吗?有没有上线?2. 项目现在进度到什么阶段?3. 这个项目是你自己做的还是团队合作?4. 整个系统一共有多少个服务?分别是什么?5. 你在项目中主要负责哪一部分服务?6. 你能整体介绍一下你负责的服务设计吗?7. 为什么要做这个项目?项目背景是什么?---# 二、系统架构设计8. 整个系统的服务划分是怎样的?9. 系统中有哪些模块?10. 每个服务的职责分别是什么?11. 系统中一共有多少个接口?主要有哪些接口?12. 节目服务主要提供哪些 API?---# 三、下单链路设计(这里问了一个缓存一致性有没有设计对账来保证)13. 抢票系统的下单流程是怎样的?14. 为什么要使用 Redis + Lua 扣库存?15. 为什么要使用 Kafka 异步创建订单?16. Redis 扣库存之后为什么不直接创建订单?17. 如果用户下单后立刻查询订单列表,查不到怎么办?18. 为什么使用前端轮询订单状态?19. 为什么不由后端触发补偿机制,而要依赖前端?(这里是表达有误)20. 如果订单长时间没有创建成功怎么办?---# 四、缓存设计21. 你提到使用了三级缓存,三级缓存分别是什么?22. 三级缓存中每一层缓存的数据是一样的吗?23. 本地缓存和 Redis 缓存之间如何保证一致性?24. Redis 缓存如何保证一致性?25. 如果缓存删除失败怎么办?26. 有没有设计缓存对账机制?27. Redis 缓存什么时候更新?28. Redis 缓存什么时候失效?29. 缓存 TTL 是如何设计的?---# 五、幂等组件30. 为什么要设计幂等组件?31. 幂等组件解决了什么问题?32. 幂等组件是如何实现的?33. 幂等组件中锁的 key 是如何设计的?34. 如果网络失败或者请求异常,幂等如何保证?---# 六、ES 搜索35. ES 中存储的是什么数据?36. ES 中大概有多少条数据?37. ES 的索引是如何设计的?38. ES 常见的性能优化手段有哪些?---# 七、Kafka39. Kafka 除了 Producer、Consumer、Broker 还有什么核心组件?40. Kafka 的元数据是如何管理的?41. Kafka 的 Partition 有什么作用?42. Kafka 如何保证消息顺序?43. Kafka 如何提升吞吐量?---# 八、Redis44. Redis 常见的异常场景有哪些?45. 什么是缓存穿透?如何解决?46. 什么是缓存击穿?如何解决?47. 什么是缓存雪崩?如何解决?48. Redis 跳表是什么?49. Redis 跳表主要应用在哪个数据结构?---# 九、Redis 实战50. 如果要做一个排行榜系统,你会如何设计?---# 十、MySQL51. MySQL 中有哪些锁?52. MySQL 的行锁、表锁、意向锁分别是什么?53. 在 RR 隔离级别下执行 delete where id = 10 时会如何加锁?54. MySQL 索引失效有哪些情况?55. not in 是否会导致索引失效?---# 十一、算法题56. 找出序列中第一个没有出现的正整数。如何在 O(n) 时间复杂度、O(1) 空间复杂度下解决该问题?---
0 点赞 评论 收藏
分享
自我介绍 SpringSpring 在 Bean 注入时会出现循环依赖,Spring 是怎么解决循环依赖的?Spring 的三级缓存是什么?哪些场景下 Spring 解决不了循环依赖?为什么构造器注入无法解决循环依赖?缓存 / Redis项目里缓存是怎么设计的?本地缓存和 Redis 缓存之间是怎么做数据同步的?如果有多台机器,本地缓存怎么保证一致性?延迟双删策略是怎么实现的?延迟双删会有什么问题?删除缓存时你是怎么做延迟删除的?如果延迟删除失败或者线程被中断怎么办?分布式锁Redis 分布式锁是怎么实现的?Redisson 分布式锁的实现原理是什么?什么是看门狗机制?看门狗机制为什么能避免死锁?项目设计(抢票系统)你项目里的库存扣减逻辑是怎么实现的?Redis 中库存的数据结构是怎么设计的?你提到 Redis 里用了三个 Hash 表,分别是做什么的?扣减库存的具体流程是什么?为什么要用 Lua 脚本?Lua 脚本在这里解决了什么问题?Redis 与数据库一致性Redis 预扣库存之后,Redis 和数据库之间是怎么同步的?如果 Redis 扣减成功,但数据库扣减失败怎么办?如果数据库扣减失败,库存如何恢复?KafkaKafka 在你的系统中是怎么使用的?Kafka 在下单流程中承担什么角色?Kafka 消息是怎么发送的?Kafka 如何保证消息发送的可靠性?Kafka 的 ACK 机制是什么?Kafka Broker 是如何保证消息可靠性的?什么是 Kafka 的副本机制?什么是 ISR 机制?Kafka 消费者是怎么消费消息的?消费者消费完消息之后如何提交 offset?offset 的作用是什么?订单流程Redis 预扣库存之后,什么时候生成订单号?Kafka 创建订单的流程是怎样的?前端是怎么知道订单是否创建成功的?前端轮询接口查询订单时用的查询条件是什么?如果一个用户在多个设备同时下单,如何保证唯一性?幂等锁是怎么设计的?Kafka 异步问题Kafka 生产者是否可以等待消费者消费完消息?如果 Kafka 消费时间很长会发生什么?如果 Kafka 消费延迟很久怎么办?如果 Kafka 消息发送失败怎么办?
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务