排序
场景题:每次进入订单列表页面都会触发全量同步?
如果每次进入订单列表页面都会触发全量同步,可能会导致性能问题(如数据库压力过大、响应时间变长等)。以下是排查思路和解决方案: 1. 问题分析 1.1 什么是全量同步? 全量同步:每次请求都会...
面试题:说一下 Kafka 中关于事务消息的实现?
Kafka 的事务消息机制是为了确保生产者发送的消息能够以原子性的方式写入多个分区,或者在消费和生产的组合操作中实现端到端的精确一次语义(Exactly-Once Semantics)。以下是 Kafka 事务消息...
面试题:分布式锁在未完成逻辑前过期怎么办?
在面试中,如果被问到分布式锁在未完成逻辑前过期的问题,可以从以下几个方面进行回答: 1. 问题背景 分布式锁通常会设置一个过期时间(TTL),以避免锁被长时间占用导致死锁。然而,如果业务逻...
场景题:商家想要知道自己店铺卖的最好的 top 50 商品,如何实现这个功能?
实现商家店铺销量 Top 50 商品的功能,需要设计一个高效、可扩展的系统,能够快速统计和查询商品的销量数据。以下是实现该功能的详细思路: 1. 需求分析 功能需求: 统计每个商品的销量。 查询...
场景题:一笔订单,在取消的那一刻用户刚好付款了,怎么办?
这是一个典型的并发问题,涉及到订单状态和支付状态的冲突处理。在电商系统中,订单的取消和支付是两个关键操作,可能会在同一时间发生,尤其是在高并发场景下。以下是解决这个问题的几种常见方...
面试题:说一下 RocketMQ 中关于事务消息的实现?
RocketMQ 的事务消息机制是为了解决分布式系统中的事务一致性问题,确保消息的发送和本地事务的执行能够保持原子性。RocketMQ 的事务消息实现基于两阶段提交(2PC)的思想,主要包括事务消息的...
面试题:Redis Cluster 模式与 Sentinel 模式的区别是什么?
Redis 提供了两种高可用和分布式解决方案:Redis Cluster 和 Sentinel。它们的设计目标和使用场景有所不同,以下是它们的核心区别和适用场景。 1. 设计目标 Redis Cluster: 提...
面试题:Redis 中有哪些内存淘汰策略?
Redis 是一种基于内存的键值存储系统,当内存不足时,需要通过 内存淘汰策略 来删除部分数据,以释放内存空间。Redis 提供了多种内存淘汰策略,可以根据业务需求进行配置。 1. Redis 内存淘汰策...
场景题:MySQL 中 如果我 select * from 一个有 1000 万行的表,内存会飙升么?
在 MySQL 中,执行 SELECT * FROM 表名 查询一个有 1000 万行的表时,内存是否会飙升取决于多个因素。以下是关键点: 1. 查询执行方式 MySQL 的查询执行是流式的:通常,MySQL 不会一次性将所有...
面试题:说一下 RabbitMQ 的事务机制?
RabbitMQ 的事务机制是一种确保消息可靠传递的方式,通过事务可以保证一系列消息的发送和确认操作是原子性的。以下是 RabbitMQ 事务机制的详细介绍: 1. 事务机制的作用 原子性:确保一组操作要...