排序
面试题:Redis 事务与关系型数据库事务的主要区别是什么?
Redis 事务和关系型数据库事务(如 MySQL、PostgreSQL 等)在设计和实现上有显著的区别。以下是它们的主要区别: 1. 事务的原子性 Redis 事务: Redis 的事务是通过 MULTI、EXEC、DISCARD...
面试题:Redis 数据过期后的删除策略是什么?
Redis 中的数据过期后,并不会立即被删除,而是通过 惰性删除 和 定期删除 两种策略来清理过期数据。这两种策略共同作用,确保过期数据能够被及时清理,同时避免对 Redis ...
面试题:Java 写入文件到磁盘会经历哪些过程?
在 Java 中,将数据写入文件到磁盘的过程涉及多个步骤,包括 Java 应用层、JVM、操作系统和磁盘硬件等。以下是详细的过程: 1. Java 应用层 创建文件输出流:通过 FileOutputStream、BufferedOu...
面试题: 说一下 AMQP 协议?
AMQP(Advanced Message Queuing Protocol,高级消息队列协议)是一个开放标准的应用层协议,用于消息中间件的通信。它定义了消息的格式、传输方式以及消息队列的行为,使得不同厂商的消息队列...
面试题:Redis 中的 Geo 数据结构是什么?
Redis 的 Geo 数据结构是一种基于 Sorted Set(有序集合)实现的地理位置存储和查询功能。它允许存储经纬度坐标,并支持计算两个位置之间的距离、查找某个位置附近的其他位置等...
面试题:HashMap 是不是线程安全的?如果让你来实现一个线程安全的 HashMap 你要怎么设计?如果不用加锁你要怎么设计?
1. HashMap 是不是线程安全的? 回答:HashMap 不是线程安全的。在多线程环境下,多个线程同时操作 HashMap 可能会导致数据不一致或死循环等问题。例如,当一个线程在扩容时,另一个线程同时进...
场景题:如果没有内存限制,如何快速、安全地将 1000 亿条数据插入到 HashMap 中?
在没有内存限制的情况下,快速、安全地将 1000 亿条数据插入到 HashMap 中,可以从以下几个方面进行优化和考虑: 1. 选择合适的 HashMap 实现 HashMap 的默认容量和负载因子:...
面试题:消息队列设计成推消息还是拉消息?推拉模式的优缺点?
在设计消息队列时,推模式(Push)和拉模式(Pull)是两种常见的消息传递方式。它们各有优缺点,适用于不同的场景。以下是对推模式和拉模式的详细分析: 1. 推模式(Push) 在推模式中,消息队...
面试题:Redisson 看门狗(watch dog)机制了解吗?
在分布式系统中,Redisson 是一个常用的 Redis 客户端,它提供了分布式锁的实现。Redisson 的分布式锁中有一个“看门狗”(Watch Dog)机制,你能解释一下这个机制的作用以及它是如何工作的吗?...
面试题:Redis 的订阅发布功能是什么?你了解吗?
在面试中,如果被问到 Redis 的订阅发布功能,可以从以下几个方面进行回答: 1. 订阅发布(Pub/Sub)的概念 Redis 的订阅发布(Pub/Sub)是一种消息通信模式,允许客户端之间通过频道(Channel...