后端共128篇

面试题:让你设计一个短链系统,怎么设计?

设计一个短链系统(Short URL System)是一个经典的面试题,涉及高并发、高性能、分布式系统设计等多个方面。以下是设计短链系统的详细思路和实现方案。 1. 需求分析 核心功能 生成短链:将长 U...
程序百科的头像-程序百科程序百科46天前
0309

面试题:你在项目中使用的 Redis 客户端是什么?

在 Java 项目中,常用的 Redis 客户端有以下几种: 1. Jedis Jedis 是一个广泛使用的 Redis 客户端,提供了同步的 API,支持连接池和 Pipeline 等特性。 特点: 同步阻塞:所有操作都是同步的,...
程序百科的头像-程序百科程序百科38天前
0389

面试题:Redis 中的 Geo 数据结构是什么?

Redis 的 Geo 数据结构是一种基于 Sorted Set(有序集合)实现的地理位置存储和查询功能。它允许存储经纬度坐标,并支持计算两个位置之间的距离、查找某个位置附近的其他位置等...
程序百科的头像-程序百科程序百科38天前
0279

面试题:Redis 中的 Ziplist 和 Quicklist 数据结构的特点是什么?

Redis 中的 Ziplist 和 Quicklist 是两种用于优化内存使用和提高性能的数据结构,分别用于实现列表(List)和哈希表(Hash)等数据类型。以下是它们的特点和设计原理。 1.&...
程序百科的头像-程序百科程序百科38天前
0289

面试题:Redis 主从复制的常见拓扑结构有哪些?

Redis 主从复制(Replication)是一种常见的数据冗余和高可用性方案,它允许将数据从一个主节点(Master)复制到一个或多个从节点(Slave)。根据业务需求和规模,Redis 主从复制可以配置为多种...
程序百科的头像-程序百科程序百科38天前
0528

场景题:如何在附近 100w 的商户中,快速找到离你最近的 5 家商户?

在附近 100 万家商户中快速找到离你最近的 5 家商户,是一个典型的 空间搜索问题。解决这类问题的关键是利用高效的数据结构和算法来优化查询性能。以下是详细的解决方案: 1. 问题分析 数据规模...
程序百科的头像-程序百科程序百科46天前
0338

面试题:RabbitMQ 中无法路由的消息会去到哪里?

在 RabbitMQ 中,如果消息无法被路由到任何队列(例如没有绑定队列或路由键不匹配),消息的处理方式取决于交换机的配置。以下是消息无法路由时的可能去向: 1. 默认行为:消息被丢弃 如果...
程序百科的头像-程序百科程序百科45天前
0298

场景题:两百万个生产者发送消息,仅一个消费者,如何高效设计锁?

在 两百万个生产者发送消息,仅一个消费者 的场景中,设计高效的锁机制是一个典型的并发编程问题。目标是确保生产者和消费者能够高效地协作,同时避免锁竞争导致的性能瓶颈。以下是详...
程序百科的头像-程序百科程序百科46天前
0418

面试题:Redis 为什么这么快?

Redis 之所以能够提供极高的性能,主要得益于其 内存存储、单线程模型、高效的数据结构 和 优化的网络 I/O 等设计。以下是 Redis 高性能的核心原因: 1. 内存存储 数...
程序百科的头像-程序百科程序百科37天前
0308

面试题: 如何处理重复消息?

处理重复消息是分布式消息队列中的一个常见问题,通常是由于网络重传、生产者重试或消费者重复消费等原因导致的。为了保证系统的正确性,需要设计合理的机制来处理重复消息。以下是处理重复消息...
程序百科的头像-程序百科程序百科44天前
0288