面试题: Synchronized 能不能禁止指令重排序?
在 Java 中,Synchronized 关键字主要用于确保线程安全,它通过提供可见性和原子性来保证共享资源的正确访问。 关于 Synchronized 是否能禁止指令重排序,我们需要从 Java 内存模型(JMM, Java ...
面试题: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) 是分布式系统中的典型故障场景,指由于网...
面试题:如何访问 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...
面试题: Java 中 ReentrantLock 的实现原理是什么?
ReentrantLock 是 Java 提供的一个显式锁实现,位于 java.util.concurrent.locks 包中。 它提供了与 synchronized 类似的同步功能,但相比 synchronized,它更加灵活,并提供了更多的特性,如公...
面试题:说说你对 sticky 定位的理解
position: sticky 是 CSS 中一种非常实用的定位方式,结合了 relative 和 fixed 定位的特点。 它允许元素在滚动到特定阈值之前表现得像相对定位(relative),一旦达到该阈值,则表现得像固定定...
面试题:为什么 Java 中 CMS 垃圾收集器在发生 Concurrent Mode Failure 时的 Full GC 是单线程的?
当使用CMS(Concurrent Mark-Sweep)垃圾收集器时,'Concurrent Mode Failure' 是指在CMS尝试以并发模式执行老年代的垃圾回收时,由于老年代空间不足而无法完成该过程,导致不得不触发一次Full ...










