面试题:当 Java 的 synchronized 升级到重量级锁后,所有线程都释放锁了,此时它还是重量级锁吗?
当一个 Java 对象的锁通过 synchronized 升级到重量级锁之后,即使所有线程都释放了这个锁,该对象的锁仍然保持为重量级锁的状态。 这是因为锁膨胀(Lock Escalation)在 JVM 中是单向的,一旦...
面试题:Redis 中的内存碎片化是什么?如何进行优化?
Redis 中的内存碎片化是指 Redis 内存中存在大量无法被有效利用的空闲内存块,导致内存利用率下降。其核心问题在于 内部碎片 和 外部碎片: 一、内存碎片化的定义 内部碎片(Int...
面试题:JavaScript 如何判断一个对象是否属于某个类?
在 JavaScript 中,判断一个对象是否属于某个类(或更准确地说,是否由某个构造函数创建或在其原型链上)有多种方法,各有优缺点和适用场景。 1. instanceof 操作符 作用:检查一个对象在其原型...
面试题:第一次加载 Vue 页面时会触发哪些生命周期钩子?
在第一次加载 Vue 页面时,会依次触发以下生命周期钩子(以 Vue 2 和 Vue 3 大体一致的流程为准): beforeCreate实例刚被创建,数据观测 (data observer) 和事件配置尚未开始,data、methods ...
面试题:如何在网页中画一条 0.5px 的线?
这是一个与“1px 问题”紧密相关的经典移动端 CSS 面试题,考察对高分辨率屏幕渲染和 CSS 技巧的理解。 核心答案 在现代浏览器中,可以直接使用 border 或 height 设置为 0.5px 来绘制一条 0.5p...
面试题:CSS 中 display 属性的值及其作用
display 是 CSS 中最核心、最常用的属性之一,它决定了元素的布局类型和在文档流中的表现形式。理解 display 的各种取值是掌握网页布局的基础。 一、主要取值分类 display 属性的值可以分为几大...
面试题:什么是 Vue 的 v-model?有什么作用?
v-model 是 Vue 中一个非常强大且常用的指令(Directive),它本质上是语法糖,用于在表单元素或组件上创建双向数据绑定(Two-way Data Binding)。 一、什么是 v-model? v-model 可以看作是:...
面试题:Java 并发库中提供了哪些线程池实现?它们有什么区别?
Java 并发库(java.util.concurrent 包)提供了多种线程池实现,这些实现通过 Executors 工厂类提供便捷的创建方法。以下是几种常见的线程池类型及其特点和适用场景: 1. FixedThreadPool 创建...
面试题:说说你对 CSS 工程化的理解
CSS 工程化是指将 软件工程的思想和方法 应用于 CSS 开发中,以解决传统 CSS 开发中存在的维护困难、命名冲突、复用性差、性能问题和团队协作障碍等痛点。 其核心目标是提升 CSS 代码的 可维护...
面试题:Vue 2.0 支持哪个版本以上的 IE 浏览器?
Vue 2.0 官方支持 IE9 及以上版本的浏览器。 详细说明 最低支持版本: Vue 2.x 需要浏览器支持 ES5 的特性(如 Object.defineProperty)。 IE9 是第一个对 ES5 提供了基本完整支持的 Internet E...








