如何实现数据库的不停服迁移?
日期:2026-07-11 标签:#面试 #八股 #后端 #MySQL #数据库 #场景题 一句话答案 通过全量迁移、增量 CDC、持续校验、灰度切读、短期双写或写转发、最终切写和回滚窗口,实现业务不停服迁移。 面试口语版 先冻结表结构变更并建立迁移任务,在不阻塞业务的快照点做全量复制,同时记录 binlog 位…
Read articleThe archive
Notes on frontend development, engineering, and everyday ideas. Find a subject and start reading.
日期:2026-07-11 标签:#面试 #八股 #后端 #MySQL #数据库 #场景题 一句话答案 通过全量迁移、增量 CDC、持续校验、灰度切读、短期双写或写转发、最终切写和回滚窗口,实现业务不停服迁移。 面试口语版 先冻结表结构变更并建立迁移任务,在不阻塞业务的快照点做全量复制,同时记录 binlog 位…
Read article日期:2026-07-11 标签:#面试 #八股 #后端 #地理位置 #系统设计 #场景题 一句话答案 使用地理空间索引先按空间网格快速召回附近候选,再计算精确球面距离并取 Top 5;可选 Redis GEO、MySQL Spatial、PostGIS 或 Elasticsearch geodistance。 …
Read article日期:2026-07-11 标签:#面试 #八股 #后端 #并发 #队列 #场景题 一句话答案 这应设计为 MPSC 有界队列,而不是让两百万线程竞争一把锁;生产者通过原子序号领取槽位,单消费者顺序读取,并用分段、批量和背压控制竞争。 面试口语版 我会先质疑“两百万生产者”是否指两百万线程,如果是,线程模型本身不…
Read article日期:2026-07-11 标签:#面试 #八股 #后端 #同步 #线程问题排查 #场景题 一句话答案 页面查询不应耦合全量同步,应将同步改为事件驱动加增量补偿,页面只读取本地可查询模型,必要时触发异步刷新。 面试口语版 每次进页面全量同步会造成重复 I/O、线程堆积、上游压力和长尾延迟。我会先拆开“同步”和“查…
Read article日期:2026-07-11 标签:#面试 #八股 #后端 #消息队列 #线上问题排查 一句话答案 核心原则是生产不丢、业务可降级、恢复可控:用本地 Outbox/持久缓冲接住关键事件,非核心消息降级丢弃,并在 MQ 恢复后限速回放和对账。 面试口语版 先按消息重要性分级。交易类消息发送失败时,业务事务内写 Out…
Read article日期:2026-07-11 标签:#面试 #八股 #Java #后端 #线上问题排查 一句话答案 先根据异常区分不可序列化、版本不兼容、类加载和性能安全问题,再核对对象图、serialVersionUID、运行包版本和字节流来源。 面试口语版 如果是 NotSerializableException,沿对象引用图…
Read article日期:2026-07-11 标签:#面试 #八股 #后端 #系统设计 #TopN #场景题 一句话答案 按明确统计口径消费订单事件,实时需求用流处理维护店铺窗口聚合和 Top N,离线报表用数仓聚合;退款和取消通过可撤回事件修正。 面试口语版 先确认“卖得最好”按销量、销售额还是支付订单数,以及时间范围和是否扣除…
Read article日期:2026-07-11 标签:#面试 #八股 #后端 #数据库 #线上问题排查 一句话答案 连接池爆满通常是连接使用时间变长或请求量超过数据库承载,排查应区分慢 SQL、长事务、连接泄漏、数据库阻塞和流量突增,不能直接扩大连接池。 面试口语版 我先确认是单实例还是全局、活跃连接满还是等待队列满,并对齐流量、发…
Read article日期:2026-07-11 标签:#面试 #八股 #后端 #MySQL #数据库 #场景题 一句话答案 优先使用基于稳定排序键的游标分页,让数据库从上次位置继续扫描;必须随机跳页时可先用覆盖索引定位主键,再回表查询目标行。 面试口语版 LIMIT 1000000,20 仍要扫描并丢弃前一百万行,Offset 越大…
Read article日期:2026-07-11 标签:#面试 #八股 #后端 #MySQL #索引 #场景题 一句话答案 索引不一定被使用,也不一定比全表扫描快;应通过真实参数、执行计划、实际行数、回表次数和运行指标验证效果。 面试口语版 优化器基于成本选择访问路径。查询返回大比例数据、索引选择性差、统计信息不准或 SQL 写法破坏…
Read article日期:2026-07-11 标签:#面试 #八股 #后端 #JVM #线上问题排查 一句话答案 先区分 Java 堆、元空间、直接内存、线程栈和本地内存,再结合 GC、类直方图、NMT、线程数与堆转储定位;OOM 类型不同,分析工具和根因也不同。 面试口语版 在线分析先看进程 RSS、容器 limit、堆已用/提…
Read article日期:2026-07-11 标签:#面试 #八股 #后端 #MySQL #数据库 #场景题 一句话答案 很可能造成数据库、网络和客户端内存及资源压力,但是否一次性飙升取决于执行计划、排序临时表、驱动缓冲方式和应用是否流式消费;无论如何都不应无界查询千万行。 面试口语版 MySQL 执行全表扫描时 InnoDB 主…
Read articleTry another keyword or reset your filters.