后端共128篇

场景题:假设有一个 1G 大的 HashMap,此时用户请求过来刚好触发它的扩容,会怎样?让你改造下 HashMap 的实现该怎样优化?

在 Java 中,HashMap 的扩容是一个相对耗时的操作,尤其是在数据量非常大的情况下(如 1G 大小的 HashMap)。当用户请求触发扩容时,可能会导致系统性能下降,甚至出现短暂的不可用。...
程序百科的头像-程序百科程序百科44天前
04115

面试题:说说 RabbitMQ 的集群模式?

RabbitMQ 的集群模式是其实现高可用性和负载均衡的核心机制。RabbitMQ 集群通过将多个节点组成一个逻辑上的消息队列系统,共享元数据和状态,从而实现消息的分布式处理。以下是 RabbitMQ 集群模...
程序百科的头像-程序百科程序百科43天前
03315

面试题:Redis 事务与关系型数据库事务的主要区别是什么?

Redis 事务和关系型数据库事务(如 MySQL、PostgreSQL 等)在设计和实现上有显著的区别。以下是它们的主要区别: 1. 事务的原子性 Redis 事务: Redis 的事务是通过 MULTI、EXEC、DISCARD...
程序百科的头像-程序百科程序百科37天前
04415

面试题:什么是消息队列?

消息队列(Message Queue)是一种用于在分布式系统中传递消息的中间件技术。它允许不同的应用程序或服务通过发送和接收消息来进行异步通信,从而实现解耦、流量削峰、异步处理等功能。消息队列...
程序百科的头像-程序百科程序百科43天前
02315

面试题:RabbitMQ 中主要有哪几个角色或者说概念?

RabbitMQ 是一个基于 AMQP(高级消息队列协议)的消息队列系统,其核心架构中包含多个重要的角色和概念。以下是 RabbitMQ 中的主要角色和概念: 1. 生产者(Producer) 角色:消息的发送者。 职...
程序百科的头像-程序百科程序百科43天前
04115

面试题:Redis 的哨兵机制是什么?

Redis 的哨兵机制(Sentinel)是 Redis 高可用性(High Availability, HA)解决方案的核心组件之一。它的主要作用是监控 Redis 主从集群的状态,并在主节点(Master)发生故障时,自动进行故障...
程序百科的头像-程序百科程序百科36天前
04415

面试题:如何在 Redis 中实现队列和栈数据结构?

在 Redis 中实现队列和栈数据结构可以通过使用 Redis 的列表(List)数据结构来实现。Redis 的列表是一个双向链表,支持在头部和尾部进行插入和删除操作,因此非常适合用来实现队列和栈。 1. 实...
程序百科的头像-程序百科程序百科37天前
03115

面试题:Redis 在生成 RDB 文件时如何处理请求?

在 Redis 生成 RDB 文件(即执行持久化操作)时,Redis 会使用 写时复制(Copy-On-Write, COW) 机制来处理客户端的请求,从而保证数据的一致性和服务的可用性。以下是详细的处理过程...
程序百科的头像-程序百科程序百科36天前
02415

场景题:朋友圈点赞功能如何实现,简单说说?

实现朋友圈点赞功能需要设计一个高效、可扩展的系统,能够处理高并发的点赞请求,并保证数据的一致性。以下是实现朋友圈点赞功能的简单思路: 1. 功能需求 点赞:用户可以点赞或取消点赞某条朋...
程序百科的头像-程序百科程序百科44天前
02715

面试题:Redis 中常见的数据类型有哪些?

Redis 支持多种数据类型,每种数据类型都有其特定的使用场景和操作命令。以下是 Redis 中常见的数据类型及其特点: 1. 字符串(String) 描述:字符串是 Redis 最基本的数据类型,可以存储...
程序百科的头像-程序百科程序百科36天前
03215