面试题:Redis 中的 Big Key 问题是什么?如何解决?
Redis 中的 Big Key(大 Key)问题,是 Redis 使用过程中常见的性能隐患之一。它指的是某个 Redis Key 存储的数据量过大,远远超过常规 Key 的大小,从而引发一系列性能和稳定性问题。 一、什么...
场景题:如果组长要求你主导项目中的分库分表,大致的实施流程是?
主导分库分表的实施流程 1. 需求分析与方案设计 明确目标 解决单库单表性能瓶颈(如查询延迟、写入吞吐不足)。 支持未来3-5年的业务增长(预估数据量、并发量)。 是否需要支持高可用、弹性扩...
面试题:说说你对 BFC 的理解,如何创建 BFC?
你对 BFC 的理解,以及如何创建 BFC? BFC(Block Formatting Context),即 块级格式化上下文,是 CSS 渲染中一个重要的概念。它是页面中的一块独立的渲染区域,规定了内部块级元素如何布局,...
面试题:JavaScript 中 || 和 && 操作符的返回值是什么?
在 JavaScript 中,||(逻辑或)和 &&(逻辑与)操作符的返回值并不总是布尔值。它们会返回实际参与比较的操作数之一,而不是简单的 true 或 false。 这是由 JavaScript 的短路求值(Sh...
面试题:什么是 Java 的 Integer 缓存池?
Java中的Integer缓存池是指在JVM启动时预先创建的一系列Integer对象,这些对象代表了一定范围内的整数值。这一机制是为了提高性能和减少内存使用而设计的。具体来说,在Integer类中有一个名为In...
面试题: Java 线程池核心线程数在运行过程中能修改吗?如何修改?
在 Java 的 ThreadPoolExecutor 中,核心线程数(core pool size)默认情况下是在创建线程池实例时设定的,并且在运行期间通常是固定的。 然而,在某些情况下你可能需要动态调整核心线程数以适...
面试题:Java 里的对象在虚拟机里面是怎么存储的?
在 Java 虚拟机(JVM)中,对象的存储主要涉及几个关键部分:堆内存、方法区以及栈内存。以下是关于 Java 对象在 JVM 中如何存储的详细说明: 堆(Heap) 对象实例数据:几乎所有的对象实例数据...
面试题:Redis 中有哪些内存淘汰策略?
Redis 提供了 8 种内存淘汰策略,用于在内存不足时自动删除数据,以腾出空间容纳新数据。这些策略分为 4 类:LRU(最近最少使用)、LFU(最不经常使用)、Random(随机) 和&nbs...
面试题:JavaScript 如何判断一个对象是不是空对象?
这是一个常见的 JavaScript 面试题,考察对对象属性遍历和 Object API 的掌握。判断一个对象是否为空对象(即不包含任何自身可枚举属性),有多种方法。 ✅ 方法一:Object.keys()(推荐,简洁...
面试题:MySQL 中的数据排序是怎么实现的?
MySQL 中的数据排序主要通过 排序算法 和 索引的有序性 实现,具体逻辑与存储引擎(如 InnoDB)、查询语句、数据量密切相关。以下是其核心实现原理和流程: 一、核心逻辑:...










