面试题: Synchronized 能不能禁止指令重排序?
在 Java 中,Synchronized 关键字主要用于确保线程安全,它通过提供可见性和原子性来保证共享资源的正确访问。 关于 Synchronized 是否能禁止指令重排序,我们需要从 Java 内存模型(JMM, Java ...
面试题:如何访问 Vue 子组件的实例或子元素?
在 Vue 中,有时需要从父组件直接访问子组件的实例或其内部的 DOM 元素。Vue 提供了 ref 特性来实现这一需求。 核心方法:使用 ref 在子组件或元素上定义 ref:在父组件的模板中,为要访问的子...
面试题:从 MySQL 获取数据,是从磁盘读取的吗?(buffer pool)
1. 核心结论 不一定。MySQL 的数据读取优先从内存中的 Buffer Pool 获取,只有在 Buffer Pool 缺失时才从磁盘读取。 Buffer Pool 是 InnoDB 存储引擎的核心组件,通过缓存数据页(16KB)和索引...
面试题:说说 Java 的执行流程?
好的,我们来详细说说 Java 程序的执行流程。Java 程序的执行流程可以概括为以下几个关键步骤: 1. 编写源代码 (Writing Source Code) 操作:开发者使用文本编辑器或集成开发环境(IDE)编写 Ja...
面试题:JavaScript 数组的 map 和 forEach 函数中能否通过 break 等语法结束循环?
这是一个很好的 JavaScript 面试题,考察对数组方法底层机制的理解。 ✅ 直接答案: 不能。 map 和 forEach 是数组方法,不是普通的 for 循环,因此无法使用 break、continue 或 return 来直接...
面试题:如何用 CSS 实现一个三角形?
这是一个非常经典的 CSS 面试题,考察对 CSS 盒模型和 border 属性的深入理解。 核心原理 实现三角形的关键在于理解 CSS border 的渲染机制: 当一个元素的 width 和 height 都为 0 时,它的四...
面试题:Redis 集群会出现脑裂问题吗?
Redis 集群确实存在脑裂问题的风险,尤其是在网络分区或主从切换过程中。以下是详细的分析和解决方案: 1. 什么是脑裂问题? 脑裂(Split-Brain) 是分布式系统中的典型故障场景,指由于网...
面试题:说说你对 sticky 定位的理解
position: sticky 是 CSS 中一种非常实用的定位方式,结合了 relative 和 fixed 定位的特点。 它允许元素在滚动到特定阈值之前表现得像相对定位(relative),一旦达到该阈值,则表现得像固定定...
面试题:为什么 Java 中 CMS 垃圾收集器在发生 Concurrent Mode Failure 时的 Full GC 是单线程的?
当使用CMS(Concurrent Mark-Sweep)垃圾收集器时,'Concurrent Mode Failure' 是指在CMS尝试以并发模式执行老年代的垃圾回收时,由于老年代空间不足而无法完成该过程,导致不得不触发一次Full ...
面试题:什么是 Write-Ahead Logging (WAL) 技术?它的优点是什么?MySQL 中是否用到了 WAL?
Write-Ahead Logging (WAL) 是一种用于确保数据完整性和加速数据库恢复过程的技术。 其基本思想是在对数据进行修改之前,先将这些修改操作的日志记录写入持久存储(通常是磁盘)。 只有当日志成...










