面试题:Java 中的 wait、notify 和 notifyAll 方法有什么作用?
在Java中,wait()、notify() 和 notifyAll() 方法是用于线程间通信的关键方法,它们都定义在 Object 类中,并且必须与同步机制(如 synchronized 方法或代...
面试题:你使用过 Java 中的哪些阻塞队列?
在 Java 中,阻塞队列(BlockingQueue) 是 java.util.concurrent 包下的一个接口,它是线程安全、支持阻塞操作的队列,常用于生产者-消费者模型等并发场景。 我在项目中使用过以下几种常见的 ...
面试题:如何在 React 中阻止事件的默认行为?
在 React 中阻止事件的默认行为,需要调用事件对象(SyntheticEvent)上的 preventDefault() 方法。不能使用 return false 的方式,因为这在 React 中无效。 ✅ 正确方法:使用 event.preventDe...
面试题:React 中,父子组件如何进行通信?
在 React 中,组件通信是构建复杂应用的核心。父子组件通信是最基础、最常见的方式,其核心原则是 “数据单向流动” —— 数据从父组件流向子组件。 1. 父组件向子组件传递数据:通过 props 这...
面试题:JDK8 有哪些新特性?
JDK 8(也称为 Java 8)于2014年3月发布,引入了许多新特性和改进,这些更新极大地增强了Java语言的功能和易用性。以下是JDK 8中一些重要的新特性: 1. Lambda表达式 Lambda表达式允许将行为作...
面试题:Redis 的虚拟内存(VM)机制是什么?
Redis 的虚拟内存(Virtual Memory, VM)机制是 Redis 早期版本(2.4 及之前)中用于应对内存不足的一种解决方案。 其核心思想是将不常用的数据(冷数据)从内存交换到磁盘上,从而释放内存空间...
面试题:什么是 JavaScript 中的包装类型?
在 JavaScript 中,包装类型(Wrapper Types) 是一种特殊的对象类型,它为原始数据类型(Primitive Types)提供了方法和属性,使得我们能够像操作对象一样操作原始值。 1. 为什么需要包装类型...
面试题:什么是 Vue 的前端路由?如何实现?
Vue 的前端路由是指在单页面应用(SPA)中,通过 JavaScript 在不重新加载整个页面的情况下,实现不同“视图”或“页面”之间的切换和导航。 它利用浏览器的 History API 或 hash 模式来管理 UR...
场景题:如果组长要求你主导项目中的分库分表,大致的实施流程是?
主导分库分表的实施流程 1. 需求分析与方案设计 明确目标 解决单库单表性能瓶颈(如查询延迟、写入吞吐不足)。 支持未来3-5年的业务增长(预估数据量、并发量)。 是否需要支持高可用、弹性扩...
面试题:Redis 实现分布式锁时可能遇到的问题有哪些?
在使用 Redis 实现分布式锁时,可能会遇到一些挑战和问题。正确理解和处理这些问题对于确保分布式锁的可靠性和效率至关重要。以下是一些常见的问题及其解决方案: 1. 锁的误释放 问题描述:如果...










