排序
场景题:让你设计一个文件上传系统,怎么设计?
设计一个文件上传系统需要考虑多个方面,包括文件存储、上传性能、扩展性、安全性、以及用户体验等。以下是一个详细的设计思路: 1. 需求分析 功能需求: 支持文件上传、下载、删除。 支持大文...
场景题:线上发现 Redis 机器爆了,如何优化?
当线上 Redis 机器出现性能问题(如内存爆满、CPU 过高、响应变慢等)时,需要快速定位问题并采取优化措施。以下是一些常见的优化方案和步骤: 1. 问题分析 首先需要明确 Redis 机器“爆了”的...
场景题:每次进入订单列表页面都会触发全量同步?
如果每次进入订单列表页面都会触发全量同步,可能会导致性能问题(如数据库压力过大、响应时间变长等)。以下是排查思路和解决方案: 1. 问题分析 1.1 什么是全量同步? 全量同步:每次请求都会...
面试题:Redis List 类型的常见操作命令有哪些?
Redis 的 List 类型是一个双向链表数据结构,支持在头部和尾部进行插入、删除和查询操作。以下是一些常见的 List 操作命令: 1. 插入元素 LPUSH key element [element...
面试题:Redis 源码中有哪些巧妙的设计,举几个典型的例子?
Redis 是一个高性能的键值存储系统,其源码中有许多巧妙的设计,这些设计使得 Redis 在性能、内存效率和可扩展性方面表现出色。以下是几个典型的设计示例: 1. 简单动态字符串(SDS, Simpl...
场景题:如果没有内存限制,如何快速、安全地将 1000 亿条数据插入到 HashMap 中?
在没有内存限制的情况下,快速、安全地将 1000 亿条数据插入到 HashMap 中,可以从以下几个方面进行优化和考虑: 1. 选择合适的 HashMap 实现 HashMap 的默认容量和负载因子:...
面试题:在 Redis 集群中,如何根据键定位到对应的节点?
在 Redis 集群中,数据被分片存储在多个节点上,每个节点负责一部分数据。为了根据键定位到对应的节点,Redis 集群使用了一种基于哈希槽(Hash Slot)的分布式算法。以下是具体的实现原理和步骤...
面试题:看过源码?那说说 Kafka 处理请求的全流程?
Kafka 是一个分布式流处理平台,广泛用于构建实时数据管道和流应用。在面试中,如果被问到 Kafka 处理请求的全流程,可以从以下几个方面进行详细阐述: 1. 请求接收与分发 Kafka 使用基于 React...
面试题:Redis 的 Pipeline 功能是什么?
Redis Pipeline 是一种客户端技术,用于优化 Redis 的请求/响应性能。它通过将多个命令打包发送到 Redis 服务器,减少网络往返时间(RTT,Round-Trip Time),从而显著提高批量操作的性能...
面试题:为什么 RocketMQ 不使用 Zookeeper 作为注册中心呢?而选择自己实现 NameServer?
RocketMQ 选择自己实现 NameServer 而不是使用 Zookeeper 作为注册中心,主要基于以下几个原因: 1. 轻量级设计 Zookeeper 的复杂性:Zookeeper 是一个分布式协调服务,功能强大但相对较重,引...