面试题:为什么在 MySQL 中不推荐使用多表 JOIN?
在 MySQL 中,并不是绝对不推荐使用多表 JOIN,而是需要谨慎对待,尤其是在处理大规模数据集或性能要求较高的场景下。JOIN 操作如果使用不当可能会导致一些问题: 1. 性能问题 复杂度增加:随着...
面试题:MySQL 索引的最左前缀匹配原则是什么?
MySQL 索引的最左前缀匹配原则(Leftmost Prefix Principle) 核心概念 最左前缀匹配原则 是 MySQL 使用联合索引(复合索引)时的一个重要规则。它要求查询条件必须从联合索引的最左侧列开...
面试题:如何使用 Redis 快速实现排行榜?
在 Redis 中实现排行榜(Leaderboard)是一个常见的应用场景,得益于 Redis 的高效性和丰富的数据结构支持,特别是有序集合(Sorted Set),我们可以非常方便地创建和管理排行榜。下面将介绍如...
面试题:HTML 中,label 标签的作用是什么?如何使用?
<label> 标签是 HTML 中一个非常重要的表单辅助元素,它的主要作用是为表单控件(如 <input>、<textarea>、<select>)提供一个可点击的标签(标题),从而提升表单的可...
面试题:说说 CSS 中 position: absolute 与 fixed 的共同点和区别
这是一个考察 CSS 定位机制核心知识的经典面试题。理解 absolute 和 fixed 的异同,是掌握页面布局的关键。 共同点 脱离文档流 (Removed from Normal Flow): 两者都会使元素完全脱离正常的文档...
面试题:为什么有时候用 translate 来改变位置而不是定位?
这是一个关于 CSS 性能优化和渲染机制 的核心问题。使用 transform: translate() 而不是传统的 position(如 top/left)来改变元素位置,主要是出于性能和渲染效率的考虑。 下面详细解释原因: ...
面试题:为什么 JavaScript 函数的 arguments 参数是类数组而不是数组?如何遍历类数组?
这是一个很好的问题,它触及了 JavaScript 语言设计和历史演变的细节。 为什么 arguments 是类数组(Array-like),而不是真正的数组? arguments 对象是函数内部的一个特殊对象,它包含了函数...
面试题:说说你对 ES6 中 rest 参数的理解?
ES6(ECMAScript 2015)引入的 Rest 参数(Rest Parameters)是一种非常实用的语法特性,它允许我们将一个不确定数量的参数表示为一个数组。它的核心思想是“收集剩余的参数”。 1. 基本语法 Re...
面试题:为什么 Vue 要求组件模板只能有一个根元素?
这个问题在 Vue 2 和 Vue 3 中有不同的答案,因为 Vue 3 引入了 Fragment(片段)支持,已经不再强制要求组件模板必须只有一个根元素。 一、在 Vue 2 中:为什么必须有且仅有一个根元素? 在 Vu...
面试题:在 Vue 中,如果变量名以 _ 或 $ 开头,会有什么问题?如何访问到这些值?
在 Vue 中,以 _ 或 $ 开头的变量名确实会有特殊行为,这源于 Vue 的设计决策。 🚫 问题:自动代理排除 Vue 会自动跳过以 _ 或 $ 开头的属性,不会将它们设置为响应式数据,也不会代理到 Vue 实...










