面试题: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 位双精度浮点数来表示数字。这种格式无法...
面试题:Java 中的注解原理是什么?
Java 中的注解(Annotation)是一种元数据(Metadata),它通过标记代码元素(类、方法、字段等)来提供额外的信息,这些信息可以被编译器、框架或运行时工具解析和处理。以下是注解原理的详细...
场景题:如果组长要求你主导项目中的分库分表,大致的实施流程是?
主导分库分表的实施流程 1. 需求分析与方案设计 明确目标 解决单库单表性能瓶颈(如查询延迟、写入吞吐不足)。 支持未来3-5年的业务增长(预估数据量、并发量)。 是否需要支持高可用、弹性扩...
面试题:使用 HashMap 时,有哪些提升性能的技巧?
在使用 HashMap 时,为了提升性能可以采取多种策略和技巧。以下是一些关键点: 1. 初始化容量(Initial Capacity) 合理设置初始容量:HashMap 的容量是哈希表的桶数。如果预先知道将要存储多少...









