面试题:CSS 中是否存在父选择器?其背后的原因是什么?
这是一个非常深入且经典的 CSS 面试题,触及了 CSS 选择器的核心设计原理。 核心答案 在标准的、广泛支持的 CSS 中,不存在真正的“父选择器”或“祖先选择器”。 你不能直接通过一个子元素的存...
面试题:MySQL 的索引类型有哪些?
MySQL 的索引类型可以从多个维度进行分类,以下是常见的索引类型及其特点、适用场景和创建方式的总结: 一、按数据结构分类 B-Tree 索引(默认索引类型) 特点: 基于平衡多路搜索树(B+树)实...
面试题:Vue 的 template 标签有什么用?
在 Vue.js 中,<template> 标签是一个非常关键且用途广泛的语法元素。它本身不会被渲染为真实的 DOM 元素,而是一个包裹/分组内容的容器,用于组织和控制内部内容的渲染逻辑。 核心作用 &...
面试题:Vue Router 的 hash 模式和 history 模式有什么区别?
Vue Router 的 hash 模式 和 history 模式 是两种实现单页面应用(SPA)路由的机制,它们在 URL 结构、工作原理、服务器配置要求 和 用户体验 上有显著区别。 以下是它们的核心区别: 1. URL 结...
面试题:栈和队列在 Java 中的区别是什么?
栈(Stack)和队列(Queue)是两种常见的数据结构,它们在处理元素的添加和移除时遵循不同的原则。在Java中,这两种数据结构的区别主要体现在以下几个方面: 操作规则: 栈是一种后进先出(LIFO...
面试题:z-index 属性在什么情况下会失效?
z-index 是 CSS 中用于控制元素堆叠顺序(stacking order)的重要属性,数值越大,元素越“靠前”。但 z-index 并非在所有情况下都生效。以下是 z-index 失效的常见场景及其原理,适合在面试中...
面试题:JavaScript 其他值到布尔值的转换规则是什么?
在 JavaScript 中,当一个非布尔值被用于需要布尔值的上下文(如 if 语句、while 循环、逻辑运算符 ||/&&/! 等)时,JavaScript 会自动将其转换为布尔值。这个过程称为隐式类型转换或强...
面试题:为什么 Netty 不使用 ThreadLocal 而是自定义了一个 FastThreadLocal ?
Netty 使用 FastThreadLocal 而不是标准的 Java ThreadLocal,主要是为了提高性能和优化内存使用。 虽然 ThreadLocal 提供了线程本地存储的能力,允许每个线程拥有其变量的一个独立初始化的副本...
面试题:Java 中的 HashMap 和 Hashtable 有什么区别?
在 Java 中,HashMap 和 Hashtable 都是基于哈希表实现的集合类,用于存储键值对(key-value pairs)。尽管它们有相似之处,但在多个方面存在显著差异。以下是两者的主要区别: 1. 线程安全性 H...
面试题:为什么需要清除浮动?清除浮动的方式有哪些?
这是一个经典的 CSS 布局问题,涉及到文档流、浮动特性以及高度塌陷等核心概念。以下是全面且结构清晰的回答。 一、为什么需要清除浮动? 浮动(float)最初设计用于实现文字环绕图片的效果,但...










