排序
面试题:Redis 的 Red Lock 是什么?你了解吗?
在面试中,如果被问到 Redis 的 Red Lock(红锁),可以从以下几个方面进行回答: 1. Red Lock 的背景 Red Lock 是 Redis 官方提出的一种分布式锁算法,用于在分布式环境中实现高可用的锁机制。...
场景题:朋友圈点赞功能如何实现,简单说说?
实现朋友圈点赞功能需要设计一个高效、可扩展的系统,能够处理高并发的点赞请求,并保证数据的一致性。以下是实现朋友圈点赞功能的简单思路: 1. 功能需求 点赞:用户可以点赞或取消点赞某条朋...
面试题:如何避免用户重复下单(多次下单未支付,占用库存)
在电商系统中,避免用户重复下单(多次下单未支付,占用库存)是一个常见的需求。以下是一些后端相关的解决方案,主要基于Java技术栈: 1. 使用分布式锁 在用户创建订单时,可以使用分布式锁(...
面试题:什么是消息队列?
消息队列(Message Queue)是一种用于在分布式系统中传递消息的中间件技术。它允许不同的应用程序或服务通过发送和接收消息来进行异步通信,从而实现解耦、流量削峰、异步处理等功能。消息队列...
面试题:Redis 的 ListPack 数据结构是什么?
ListPack 是 Redis 5.0 引入的一种紧凑的、高效的数据结构,用于替代 ziplist 在某些场景下的使用。它的设计目标是进一步优化内存使用和性能,特别是在存储小规模列表、哈希表等...
面试题:Redis 的 Lua 脚本功能是什么?如何使用?
Redis Lua 脚本 是 Redis 提供的一种功能,允许用户在 Redis 服务器端执行 Lua 脚本。通过 Lua 脚本,可以将多个 Redis 命令组合成一个原子操作,从而在保证性能的同时实现复杂的业务逻辑。 1. ...
面试题:1000 个任务,每个任务 0.1s,最大响应时间 1s,线程池参数怎么设置?
我们需要设计一个线程池来处理 1000 个任务,每个任务耗时 0.1 秒,且最大响应时间为 1 秒。这意味着: 任务总耗时: 1000 个任务 × 0.1 秒 = 100 秒。 最大响应时间: 1 秒,即从任务提交到...
面试题:RabbitMQ 中主要有哪几个角色或者说概念?
RabbitMQ 是一个基于 AMQP(高级消息队列协议)的消息队列系统,其核心架构中包含多个重要的角色和概念。以下是 RabbitMQ 中的主要角色和概念: 1. 生产者(Producer) 角色:消息的发送者。 职...
面试题:Redis 字符串类型的最大值大小是多少?
在 Redis 中,字符串类型(String)是二进制安全的,这意味着它可以存储任何二进制数据,包括文本、图片、序列化对象等。Redis 字符串类型的最大值大小受以下两个因素限制: 1. 理论最大值...
面试题:Redis 集群的实现原理是什么?
Redis 集群(Redis Cluster) 是 Redis 提供的分布式解决方案,用于将数据分布在多个节点上,实现高可用性和横向扩展。以下是 Redis 集群的实现原理和核心机制: 1. Redis 集群的核心...