面试题:什么情况下会触发 Java 的 Full GC?
在Java中,Full GC指的是对整个堆(包括年轻代、老年代和永久代/元空间)进行垃圾回收的过程。触发Full GC的情况有多种,以下是一些常见的触发条件: 1. 老年代空间不足 当老年代没有足够的空间...
面试题:Java 线程安全的集合有哪些?
在Java中,线程安全的集合类主要分为两类:传统线程安全集合和现代并发集合。以下是常见的线程安全集合及其特点: 1. 传统线程安全集合 这些集合通过 synchronized 关键字或全局锁实...
面试题:CSS 如何快速选取同组兄弟元素的偶数序号元素?
这是一个考察对 CSS 选择器,特别是结构性伪类掌握程度的面试题。 最快速、最直接的方法是使用 :nth-child(even) 伪类选择器。 核心答案 /* 选取父元素下所有偶数位置的同组兄弟元素 */ .parent...
面试题:为什么 G1 垃圾收集器不维护年轻代到老年代的记忆集?
G1垃圾收集器的设计初衷是为了高效管理大堆内存,同时提供可预测的停顿时间。 为了实现这些目标,G1引入了分区(Region)的概念,并且在不同代之间使用记忆集(Remembered Set, RS)来跟踪跨代...
面试题:React Router 中的 Link 标签和 HTML 的 a 标签有什么区别?
在 React 应用中,<Link> 标签(来自 React Router)和原生的 HTML <a> 标签虽然都用于导航,但它们在工作原理、用户体验和性能上有本质区别。 核心区别总结 特性<Link> (Rea...
面试题:在 MySQL 中存储金额数据,应该使用什么数据类型?
在 MySQL 中存储金额数据时,推荐使用 DECIMAL 数据类型。这是金融领域和精确数值计算的行业标准选择,原因如下: 1. 为什么选择 DECIMAL? 精确性保障DECIMAL 是定点数类型,能够避免浮点型(F...
面试题:如果 React 的 Consumer 组件在上下文树中找不到 Provider,如何处理?
这是一个很好的问题,涉及到 React Context API 的健壮性设计。 当一个 Consumer 组件在组件树中找不到对应的 Provider 时,React 会使用在 createContext 时定义的 defaultValue(默认值)。 1...
面试题:MySQL 的 Doublewrite Buffer 是什么?它有什么作用?
1. Doublewrite Buffer 的定义 Doublewrite Buffer(双写缓冲区)是 MySQL InnoDB 存储引擎 中的一个关键机制,用于解决 部分页写入失败(Partial Page Write) 问题。 内...
面试题: 为什么在 Java 中需要使用 ThreadLocal?
在Java中,ThreadLocal 提供了一种线程局部变量的机制,这意味着每个使用某 ThreadLocal 变量的线程都有自己独立初始化的副本。这种机制有几个关键的应用场景和优势,解释了为什么在某些情况下...
面试题:如何判断网页元素是否到达可视区域?
这是一个非常实用的前端面试题,常用于实现懒加载、无限滚动、埋点曝光等场景。判断元素是否进入可视区域有多种方法,从简单到高级逐步演进。 ✅ 方法一:使用 getBoundingClientRect()(兼容性...









