后端共128篇

面试题:Redis 中如何保证缓存与数据库的数据一致性?

在面试中,如果被问到如何保证 Redis 缓存与数据库的数据一致性,可以从以下几个方面进行回答: 1. 数据一致性问题的背景 在使用 Redis 作为缓存时,通常会采用 Cache-Aside Pattern(旁路...
程序百科的头像-程序百科程序百科38天前
0536

面试题:Redis 中原生批处理命令(MSET、MGET)与 Pipeline 的区别是什么?

在 Redis 中,MSET、MGET 等原生批处理命令和 Pipeline 都是用来优化批量操作的,但它们的实现方式和适用场景有所不同。以下是它们的区别: 1. 原生批处理命令(MSET、MGET...
程序百科的头像-程序百科程序百科38天前
0256

场景题:如何设计一个点赞系统?

设计一个点赞系统需要考虑多个方面,包括系统架构、数据存储、性能优化、扩展性和一致性等。以下是一个详细的设计思路: 1. 需求分析 功能需求: 用户可以点赞或取消点赞。 显示点赞总数。 显示...
程序百科的头像-程序百科程序百科46天前
0346

场景题:线上 CPU 飙高如何排查?

线上 CPU 飙高是一个常见的性能问题,可能会导致系统响应变慢甚至服务不可用。以下是详细的排查思路和解决方案: 1. 确认 CPU 飙高 使用 top 命令: 运行 top 命令,查看当前系统的 CPU 使...
程序百科的头像-程序百科程序百科46天前
0276

面试题:Redis 主从复制的实现原理是什么?

Redis 主从复制 是实现数据冗余、读写分离和高可用性的核心机制。通过主从复制,主节点(Master)将其数据复制到一个或多个从节点(Slave),从节点可以处理读请求,并在主节点故障时接管...
程序百科的头像-程序百科程序百科37天前
0386

面试题:你了解 Kafka 中的时间轮实现吗?

Kafka 中的时间轮(Timing Wheel)是一种高效管理定时任务的机制,主要用于延迟操作,如延迟生产、延迟拉取等。时间轮的核心思想是通过一个环形数组来表示时间槽,每个槽对应一个时间间隔,任务...
程序百科的头像-程序百科程序百科45天前
0436

面试题:Redis Zset 的实现原理是什么?

Redis 的有序集合(Zset)是一个复合数据结构,它结合了 跳表(Skip List) 和 哈希表(Hash Table) 来实现高效的数据存储和操作。以下是 Zset 的实现原理: 1. Zset...
程序百科的头像-程序百科程序百科49天前
0256

面试题:让你设计一个 RPC 框架,怎么设计?

设计一个 RPC(Remote Procedure Call)框架是一个经典的面试题,涉及网络通信、序列化、服务发现、负载均衡等多个方面。以下是设计一个简化版 RPC 框架的详细思路和实现方案。 1. 需求分析 核...
程序百科的头像-程序百科程序百科46天前
0556

面试题:分布式锁一般都怎样实现?

分布式锁是分布式系统中用于协调多个节点对共享资源的访问的机制。设计一个分布式锁需要满足以下核心要求: 互斥性:同一时刻只有一个客户端能持有锁。 可重入性:同一个客户端可以多次获取同一...
程序百科的头像-程序百科程序百科46天前
0256

场景题:MySQL 中 如果我 select * from 一个有 1000 万行的表,内存会飙升么?

在 MySQL 中,执行 SELECT * FROM 表名 查询一个有 1000 万行的表时,内存是否会飙升取决于多个因素。以下是关键点: 1. 查询执行方式 MySQL 的查询执行是流式的:通常,MySQL 不会一次性将所有...
程序百科的头像-程序百科程序百科46天前
0446