面试题:Java 的 CMS 垃圾回收流程是怎样的?
CMS(Concurrent Mark-Sweep)垃圾收集器是为了解决老年代垃圾回收问题而设计的一种低延迟的垃圾收集器。它的主要目标是在执行垃圾收集时尽量减少“Stop the World”事件的发生,从而降低应用的...
面试题:什么是 1px 问题?如何解决 1px 问题?
这是一个经典的移动端 Web 开发面试题,涉及到物理像素、CSS 像素和设备像素比(DPR)的概念。 一、什么是 1px 问题? 1px 问题是指在高分辨率的移动设备(如 Retina 屏幕)上,使用 CSS 设置 b...
面试题:CSS 优化和提高性能的方法有哪些?
这是一个非常经典的前端性能优化问题。CSS 虽然看似简单,但不当的写法会严重影响页面渲染性能。以下是一些关键的 CSS 优化和性能提升方法,按类别进行组织: 一、选择器优化 避免使用通配符和...
面试题: 为什么 HashMap 在 Java 中扩容时采用 2 的 n 次方倍?
在 Java 的 HashMap 中,扩容时采用 2 的 n 次方倍 的设计是出于 性能优化 和 算法效率 的考虑,主要基于以下几个核心原因: 1. 索引计算的高效性:位运算替代取模 索引计算公式: HashMap 通过...
面试题:为什么说:在 React 中,一切都是组件?
“在 React 中,一切都是组件” 这句话是 React 设计哲学的高度概括,它体现了 React 以组件为核心的开发模式。这里的“一切”并非字面意义上的所有事物,而是指用户界面(UI)的构建单元和逻辑...
面试题:MySQL 的 Change Buffer 是什么?它有什么作用?
MySQL 的 Change Buffer 是什么?它有什么作用? 1. 定义与核心作用 Change Buffer 是 MySQL InnoDB 存储引擎 中的一个关键优化机制,主要用于缓存对 非唯一二级索引(如普...
面试题:栈和队列在 Java 中的区别是什么?
栈(Stack)和队列(Queue)是两种常见的数据结构,它们在处理元素的添加和移除时遵循不同的原则。在Java中,这两种数据结构的区别主要体现在以下几个方面: 操作规则: 栈是一种后进先出(LIFO...
面试题:JavaScript 如何判断一个对象是不是空对象?
这是一个常见的 JavaScript 面试题,考察对对象属性遍历和 Object API 的掌握。判断一个对象是否为空对象(即不包含任何自身可枚举属性),有多种方法。 ✅ 方法一:Object.keys()(推荐,简洁...
面试题:ES Module 与 CommonJS 模块方案有什么异同?
ES Module (ESM) 和 CommonJS (CJS) 是 JavaScript 中两种主流的模块化方案。它们都旨在解决代码组织、依赖管理和命名空间污染的问题,但在设计理念、语法和行为上存在显著差异。 一、 核心相同...
面试题:什么是 Java 泛型的上下界限定符?
在Java中,泛型的上下界限定符用于对类型参数进行约束,使得类型参数只能是某个特定类型或其子类型(上界),或者只能是某个特定类型或其父类型(下界)。这种机制增强了代码的灵活性和类型安全...











