面试题:JavaScript 如何判断一个对象是否属于某个类?
在 JavaScript 中,判断一个对象是否属于某个类(或更准确地说,是否由某个构造函数创建或在其原型链上)有多种方法,各有优缺点和适用场景。 1. instanceof 操作符 作用:检查一个对象在其原型...
面试题:MySQL 中 INNER JOIN、LEFT JOIN 和 RIGHT JOIN 的区别是什么?
在 MySQL 中,INNER JOIN、LEFT JOIN 和 RIGHT JOIN 是常用的表连接方式,它们的核心区别在于如何处理 匹配和未匹配的记录。以下是详细对比: 1. INNER JOIN(内连接) 定...
面试题:什么是 Java 内存模型(JMM)?
Java内存模型(Java Memory Model,简称JMM)是Java语言规范中定义的一种抽象概念,它描述了程序中各个线程如何通过内存进行交互。 JMM的目标是在不同的硬件架构和操作系统之上提供一个一致的内...
面试题:说说 AQS 吧?
当然可以,AQS(AbstractQueuedSynchronizer) 是 Java 并发包 java.util.concurrent(简称 JUC)中非常核心的一个抽象类,是构建各种同步器(如 ReentrantLock、Semaphore、CountDownLatch、Re...
面试题:在 MySQL 中,你使用过哪些函数?
作为开发者,我在 MySQL 中经常使用以下各类函数: 一、字符串函数 基础处理函数: CONCAT(str1, str2,...) - 字符串连接 SUBSTRING(str, pos, len) - 提取子串 TRIM([BOTH|LEADING|TRAILING]...
面试题:当 Java 的 synchronized 升级到重量级锁后,所有线程都释放锁了,此时它还是重量级锁吗?
当一个 Java 对象的锁通过 synchronized 升级到重量级锁之后,即使所有线程都释放了这个锁,该对象的锁仍然保持为重量级锁的状态。 这是因为锁膨胀(Lock Escalation)在 JVM 中是单向的,一旦...
面试题:JavaScript 中怎么删除数组最后一个元素?
这是一个基础但高频的 JavaScript 面试题。删除数组最后一个元素有多种方法,以下是几种常用方式及其区别: ✅ 方法一:pop() —— 最常用、最推荐 const arr = [1, 2, 3, 4]; const lastElemen...
面试题:什么是无状态组件?无状态组件的应用场景有哪些?
这是一道考察React组件设计模式的经典面试题,重点在于理解函数式编程思想和组件最佳实践。 下面从定义、特点、应用场景、以及与有状态组件的对比来拆解。 一、核心定义 什么是无状态组件? 无...
面试题:Java 中 ConcurrentHashMap 的 get 方法是否需要加锁?
在 Java 的 ConcurrentHashMap 中,get 方法的设计旨在保证高效的并发读操作。为了实现这一目标,get 方法在大多数情况下是不需要加锁的。这是通过使用一种称为“无锁算法”的机制来实现的,这...
面试题:JavaScript 中 null 和 undefined 的区别是什么?
null 和 undefined 都表示“无”或“空值”,但在 JavaScript 中有明确的区别。理解它们的不同是掌握 JavaScript 类型系统的关键。 一、核心区别总结 特性undefinednull含义“未定义” —— 变...








