面试题:MySQL 索引的最左前缀匹配原则是什么?
MySQL 索引的最左前缀匹配原则(Leftmost Prefix Principle) 核心概念 最左前缀匹配原则 是 MySQL 使用联合索引(复合索引)时的一个重要规则。它要求查询条件必须从联合索引的最左侧列开...
面试题:CSS 中 display、float、position 的关系是什么?
这是一个深入理解 CSS 布局机制的高级面试题。display、float 和 position 都能影响元素的盒模型生成和布局,它们之间存在复杂的优先级和相互覆盖关系。 核心原则 CSS 规范定义了当一个元素同时...
面试题:CSS display 属性值 block、inline 和 inline-block 的区别
这是一个非常基础且重要的 CSS 面试题,考察对盒模型和元素布局行为的理解。 核心区别总结 这三种 display 值决定了元素在页面流中的布局行为,主要体现在以下几个方面: 是否独占一行 能否设置...
面试题:什么是 JavaScript 的类数组对象?如何转化为数组?
什么是 JavaScript 的类数组对象? 类数组对象(Array-like Object) 指的是一个普通对象,它具备以下两个关键特征,使其行为类似于数组,但不是真正的 Array 实例: 具有 length 属性:这个属...
面试题:你使用过 Java 中的哪些阻塞队列?
在 Java 中,阻塞队列(BlockingQueue) 是 java.util.concurrent 包下的一个接口,它是线程安全、支持阻塞操作的队列,常用于生产者-消费者模型等并发场景。 我在项目中使用过以下几种常见的 ...
面试题:CSS 预处理器 / 后处理器是什么?为什么要使用它们?
这是一个很好的前端工程化问题。下面是对 CSS 预处理器和后处理器的详细解释: 1. CSS 预处理器 (CSS Preprocessor) 是什么?CSS 预处理器是一种扩展 CSS 语法的工具,它允许你使用更强大、更灵...
面试题:为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
这是一个经典的 JavaScript 浮点数精度问题。 一、为什么 0.1 + 0.2 !== 0.3? 根本原因:二进制浮点数的精度限制 JavaScript 使用 IEEE 754 标准的 64 位双精度浮点数来表示数字。这种格式无法...
面试题:Redis 中的 Big Key 问题是什么?如何解决?
Redis 中的 Big Key(大 Key)问题,是 Redis 使用过程中常见的性能隐患之一。它指的是某个 Redis Key 存储的数据量过大,远远超过常规 Key 的大小,从而引发一系列性能和稳定性问题。 一、什么...
面试题:Vue Router 有什么作用?它有哪些组件?
这是一个关于 Vue 生态系统核心库 Vue Router 的基础但重要的面试题。以下是全面的解答: Vue Router 有什么作用? Vue Router 是 Vue.js 官方的路由管理器(Routing Library)。它为 Vue.js 单...
面试题:什么是 Java 的 TransmittableThreadLocal?
TransmittableThreadLocal 是阿里巴巴开源的 transmittable-thread-local 库中提供的一个类,它扩展了 Java 标准库中的 InheritableThreadLocal,旨在解决在使用线程池等会复用线程的技术时,父...









