面试题:Canvas 和 SVG 有什么区别?
<canvas> 和 <svg> 都是 HTML5 中用于在网页上绘制图形、创建动态视觉效果的技术,但它们在底层原理、使用方式、性能特点和适用场景上有着根本性的区别。 以下是 Canvas 和 SVG 的...
面试题:React 中有几种构建组件的方式?它们的区别是什么?
在 React 中,构建组件主要有三种方式,随着 React 版本的演进,推荐的方式也在不断变化。以下是当前主流的组件构建方式及其区别: 1. 函数组件 (Function Components) 定义:使用 JavaScript ...
面试题:️ES6 箭头函数能当构造函数吗?
不能,ES6 箭头函数不能用作构造函数。 如果你尝试使用 new 操作符来调用一个箭头函数,JavaScript 引擎会抛出一个 TypeError 错误。 1. 直接结果 const MyArrow = () => { console.log('I am a...
面试题:为什么 Java 中某些新生代和老年代的垃圾收集器不能组合使用?比如 ParNew 和 Parallel Old
在Java中,某些新生代和老年代的垃圾收集器不能组合使用的原因主要在于它们的设计理念、工作方式以及相互之间的兼容性问题。 以ParNew(并行的新生成代收集器)和Parallel Old(并行的老年代收...
面试题:Java 中如何判断对象是否是垃圾?不同实现方式有何区别?
在Java中,判断对象是否为垃圾(即不再被使用的对象)主要是通过垃圾收集器来完成的。垃圾收集器会自动追踪哪些对象是可达的,并回收那些不可达的对象所占用的内存空间。 判断对象是否为垃圾的...
面试题:Java 的 CMS 垃圾回收流程是怎样的?
CMS(Concurrent Mark-Sweep)垃圾收集器是为了解决老年代垃圾回收问题而设计的一种低延迟的垃圾收集器。它的主要目标是在执行垃圾收集时尽量减少“Stop the World”事件的发生,从而降低应用的...
面试题:JavaScript 数组的遍历方法有哪些?
JavaScript 提供了多种遍历数组的方法,每种方法都有其特定的用途和特点。以下是主要的数组遍历方法: 1. 传统循环 (Traditional Loops) 这些是最基础、性能通常最好的方法。 for 循环: 最灵活...
面试题:什么是 Vue 的生命周期?生命周期的作用是什么?
什么是 Vue 的生命周期? Vue 的生命周期指的是一个 Vue 组件从创建、挂载、更新到最终销毁的整个过程。在这个过程中,Vue 框架会在特定的时间点自动调用一些预先定义好的函数,这些函数被称为...
面试题:MySQL 的乐观锁和悲观锁是什么?
在 MySQL 中,乐观锁和悲观锁是两种处理并发控制的方法,它们分别适用于不同的场景,并以不同的方式来保证数据的一致性和完整性。 悲观锁(Pessimistic Locking) 概念:悲观锁假设会发生并发冲...
面试题:CSS3 中的 transform 有哪些属性?
面试题:CSS3 中的 transform 有哪些属性? transform 是 CSS3 中用于对元素进行变形的强大属性,它可以在不改变文档流的情况下,对元素进行平移、旋转、缩放、倾斜等操作,广泛应用于动画、交...











