面试题:Java 中 HashMap 的扩容机制是怎样的?
在 Java 中,HashMap 的扩容机制是为了在键值对数量增加时,动态调整数组容量以减少哈希冲突并保持高效的查询和插入性能。以下是其核心原理和流程的详细解析: 1. 扩容触发条件 当 Ha...
面试题:Java 线程池中 shutdown 与 shutdownNow 的区别是什么?
在 Java 的 ExecutorService 接口中,shutdown() 和 shutdownNow() 都是用来关闭线程池的方法,但它们的行为和效果有所不同。理解两者之间的差异对于正确管理线程池的生命周期至关重要。 shutdo...
面试题:Vue Router 支持哪几种路由模式?它们有什么区别?
Vue Router 支持两种主要的路由模式,用于在单页面应用(SPA)中实现无刷新的页面切换: Hash 模式 (默认模式) History 模式 1. Hash 模式 实现方式:使用 URL 的 hash(#)部分来模拟一个完整...
面试题:常见的 DOM 操作有哪些?
DOM (Document Object Model) 操作是前端开发的核心技能之一。常见的 DOM 操作可以分为以下几大类: 1. 查找/获取元素 (Selecting/Getting Elements) 这是所有操作的前提。 document.getElement...
面试题:MySQL 中 InnoDB 存储引擎与 MyISAM 存储引擎的区别是什么?
MySQL中的InnoDB和MyISAM是两种常用的存储引擎,它们各自具有不同的特点和适用场景。以下是这两种存储引擎的主要区别: 事务支持 InnoDB:支持事务处理(ACID兼容),提供提交、回滚和崩溃恢复...
面试题:CSS 中可继承与不可继承属性有哪些?
在 CSS 中,属性的继承(Inheritance) 是指子元素自动从父元素“继承”某些样式属性的机制。理解哪些属性可继承、哪些不可继承,对于高效编写 CSS 和避免样式混乱至关重要。 一、什么是继承? ...
面试题:在 Vue 组件中如何访问根实例?
在 Vue 应用中,根实例(Root Instance)通常指的是通过 new Vue()(Vue 2)或 createApp()(Vue 3)创建的最顶层的 Vue 应用实例。 在组件中访问根实例是一种不推荐的实践,因为它破坏了组件的...
面试题:MySQL 的覆盖索引是什么?
MySQL 的覆盖索引是什么? 覆盖索引(Covering Index) 是 MySQL 中一种优化技术,指查询所需的所有字段都包含在某个索引中,使得 MySQL 可以直接通过索引获取数据,而无需回表查询实际的...
面试题:如何优化 Java 中的锁的使用?
在 Java 中优化锁的使用可以显著提高应用程序的性能,尤其是在高并发场景下。以下是一些优化锁使用的策略: 减少锁的作用域:尽量缩小同步代码块的范围,只锁定必要的代码段,而不是整个方法。...
面试题:常用的 HTML meta 标签有哪些?
<meta> 标签位于 HTML 文档的 <head> 部分,用于提供关于网页的元数据(Metadata),这些数据不会直接显示在页面上,但对浏览器、搜索引擎和社交平台至关重要。以下是常用的 HTML &...










