面试题:为什么 Vue 中给对象添加新属性后界面不刷新?
在 Vue 2 中,当你直接给一个响应式对象添加一个全新的属性时,界面不会自动更新,这是因为 Vue 2 的响应式系统存在“属性添加/删除检测”缺陷。 这个问题在 Vue 3 中已经被彻底解决。 原因分析...
面试题:接口和抽象类有什么区别?
接口(Interface)和抽象类(Abstract Class)是 Java 中用于实现抽象概念的两种机制,它们有一些相似之处,但也存在显著的区别。以下是它们的主要区别: 定义与用途 接口:接口是一种完全抽象...
面试题:isNaN 和 Number.isNaN 函数有什么区别?
isNaN() 和 Number.isNaN() 都是 JavaScript 中用于检查一个值是否为 NaN(Not-a-Number)的函数,但它们的行为有本质区别,尤其是在处理非数字类型的输入时。 一、isNaN()(全局函数) 行为: ...
面试题:Java 中如何判断对象是否是垃圾?不同实现方式有何区别?
在Java中,判断对象是否为垃圾(即不再被使用的对象)主要是通过垃圾收集器来完成的。垃圾收集器会自动追踪哪些对象是可达的,并回收那些不可达的对象所占用的内存空间。 判断对象是否为垃圾的...
面试题:有哪些默认 display: block 元素和 display: inline 元素?你还知道哪些 display 取值?
这是一个考察 HTML 元素默认行为和 CSS display 属性知识的面试题。回答时需要清晰分类,并展示对现代布局的理解。 一、默认 display: block 的元素 这类元素在页面中独占一行,会从新行开始,...
面试题:HTML 中,i 与 em 标签的区别是什么?
<i> 和 <em> 标签在默认的视觉呈现上非常相似,通常都会将文本显示为斜体(italic)。然而,它们在 语义(Semantics)和用途 上有着根本的区别。理解这一点对于编写语义化、可访问...
面试题: 为什么 HashMap 在 Java 中扩容时采用 2 的 n 次方倍?
在 Java 的 HashMap 中,扩容时采用 2 的 n 次方倍 的设计是出于 性能优化 和 算法效率 的考虑,主要基于以下几个核心原因: 1. 索引计算的高效性:位运算替代取模 索引计算公式: HashMap 通过...
面试题:什么是 Java 中的 logging write barrier?
在Java中讨论的“write barrier”通常与垃圾回收(Garbage Collection, GC)机制相关,而不是直接与日志记录(logging)有关。一个write barrier是JVM为了支持某些类型的垃圾收集算法而实现的一...
面试题:如何给网页设置小于 12px 的字体?
这是一个关于浏览器限制和现代 CSS 特性的面试题。传统上,浏览器(特别是早期的 WebKit 内核)会对字体大小设置下限(通常为 12px),但现代解决方案已经非常成熟。 核心答案 在现代浏览器中,...
面试题:MySQL 中的索引数量是否越多越好?为什么?
在 MySQL 中,索引数量并不是越多越好。虽然索引可以显著加速查询操作,但过多的索引会带来一系列负面影响,尤其是在写操作性能、存储开销、优化器效率和维护成本等方面。以下是具体原因和优化...











