面试题:React 中有几种构建组件的方式?它们的区别是什么?
在 React 中,构建组件主要有三种方式,随着 React 版本的演进,推荐的方式也在不断变化。以下是当前主流的组件构建方式及其区别: 1. 函数组件 (Function Components) 定义:使用 JavaScript ...
面试题:JDK 和 JRE 有什么区别?
JDK 和 JRE 是 Java 平台的两个主要组件,它们各自有着不同的用途和功能。以下是它们之间的主要区别: JDK(Java Development Kit) 定义:JDK 是 Java 开发工具包,是为开发人员提供的一个环境...
面试题:Java 中 ArrayList 和 LinkedList 有什么区别?
在 Java 中,ArrayList 和 LinkedList 都实现了 List 接口,但它们基于不同的数据结构实现,因此在性能、内存使用和适用场景方面存在显著差异。以下是它们的主要区别: 1. 数据结构基础 ArrayLi...
面试题:Redis 集群会出现脑裂问题吗?
Redis 集群确实存在脑裂问题的风险,尤其是在网络分区或主从切换过程中。以下是详细的分析和解决方案: 1. 什么是脑裂问题? 脑裂(Split-Brain) 是分布式系统中的典型故障场景,指由于网...
面试题:有哪些 CSS 选择器?请分别介绍
CSS 选择器是用于“选中”HTML元素并为其应用样式的模式。掌握各种选择器是精准控制页面样式的前提。以下是 CSS 中主要的选择器类型及其详细介绍。 一、基础选择器 1. 元素选择器(Type Selecto...
面试题:为什么 JDK 9 中将 String 的 char 数组改为 byte 数组?
在JDK 9中,String的内部表示从使用char[]数组改为使用byte[]数组,这一改变主要是为了优化内存使用和提高性能。 具体来说,之前的String实现使用的是char[]数组,每个字符占用2个字节(16位)...
面试题:什么是 Java 中的直接内存(堆外内存)?
在Java中,直接内存(也称为堆外内存)是指不位于JVM堆空间中的内存区域。它独立于Java堆之外,通常通过java.nio.ByteBuffer的allocateDirect方法或其他NIO工具类进行分配。直接内存允许数据存...
面试题:JavaScript 中 substring 和 substr 函数的区别是什么?
这是一个经典的 JavaScript 字符串操作面试题,考察对字符串截取方法的理解。 substring()、substr() 和 slice() 功能相似但有重要区别。 ✅ 核心区别总结 方法参数是否支持负数状态推荐度subst...
面试题:什么是 Java 的 Semaphore?
Java 中的 Semaphore 是 java.util.concurrent 包提供的一个资源访问控制工具类,用于限制同时访问的线程数量,从而实现对共享资源的并发控制。它是基于 AQS(AbstractQueuedSynchronizer) 实...
面试题:如何根据设计稿进行移动端适配?
移动端适配的核心目标是:让网页在不同尺寸和分辨率的移动设备上,都能呈现出与设计稿一致的视觉效果和用户体验。 以下是根据设计稿进行移动端适配的完整流程和常用方案: 一、准备工作:了解设...











