场景题:如何实现数据库的不停服迁移?
实现数据库的不停服迁移是许多企业系统升级或架构调整时的核心需求,以下是几种成熟的解决方案: 一、主流迁移方案对比 方案适用场景停机时间复杂度数据一致性保证主从复制版本升级、机房迁移秒...
面试题:MySQL 中的事务隔离级别有哪些?
MySQL 中的事务隔离级别用于控制事务之间的可见性,确保数据库在高并发场景下的数据一致性。MySQL 支持四种事务隔离级别,从低到高依次为: 1. 读未提交(Read Uncommitted) 定义:允许一个事...
面试题:flex-shrink 和 flex-grow 的默认值是多少?作用是什么?
这是一个深入考察 CSS Flexbox 布局核心机制的面试题。理解 flex-grow 和 flex-shrink 的默认值及其作用,是掌握弹性布局的关键。 默认值 flex-grow 的默认值是 0。 flex-shrink 的默认值是 1。...
面试题:说说 Redisson 分布式锁的原理?
Redisson 是一个基于 Redis 的 Java 客户端,它封装了分布式锁的实现,解决了传统 SETNX 等方法的局限性。其核心原理围绕 原子性、安全性 和 自动续期 设计,以...
面试题:在 React Router 中如何获取历史对象?
在 React Router 中,“历史对象”(history object)用于导航和管理浏览器的历史记录栈。获取历史对象的方式随着 React Router 版本的演进而变化,尤其在 v5 和 v6 之间有重大差异。 以下是不...
面试题:怎么实现网页三栏布局?
三栏布局是前端开发中常见的经典布局模式,通常指左右两栏固定宽度,中间一栏自适应(圣杯布局或双飞翼布局)。以下是多种实现方式,从传统到现代,全面覆盖。 一、什么是三栏布局? 左侧栏:固...
面试题:为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
这是一个经典的 JavaScript 浮点数精度问题。 一、为什么 0.1 + 0.2 !== 0.3? 根本原因:二进制浮点数的精度限制 JavaScript 使用 IEEE 754 标准的 64 位双精度浮点数来表示数字。这种格式无法...
面试题:Java 中的 CMS 和 G1 垃圾收集器如何维持并发的正确性?
CMS(Concurrent Mark-Sweep)和 G1(Garbage First)垃圾收集器在Java中通过不同的机制来维持并发操作的正确性,即确保在应用程序线程与垃圾收集器线程同时运行时不会导致数据不一致或错误。 ...
面试题:说说你对 CSS Sprites 的理解
说说你对 CSS Sprites 的理解 CSS Sprites(CSS 雪碧图、CSS 精灵图)是一种将多个小图片合并成一张大图,然后通过 CSS 的 background-image、background-position 等属性来显示其中特定部分的...
面试题:什么是 Java 的 CyclicBarrier?
Java 中的 CyclicBarrier(循环屏障)是 java.util.concurrent 包提供的一个同步工具类,用于协调多个线程在某个“屏障点”(Barrier Point)等待彼此,直到所有线程都到达后再一起继续执行。它...










