Yihui’s Blog

The Journal

Notes on frontend development, engineering, and everyday ideas. Find a subject and start reading.

783 articles

两百万个生产者发送消息,仅一个消费者,如何高效设计锁?

日期:2026-07-11 标签:#面试 #八股 #后端 #并发 #队列 #场景题 一句话答案 这应设计为 MPSC 有界队列,而不是让两百万线程竞争一把锁;生产者通过原子序号领取槽位,单消费者顺序读取,并用分段、批量和背压控制竞争。 面试口语版 我会先质疑“两百万生产者”是否指两百万线程,如果是,线程模型本身不…

Read article

每次进入订单列表页面都会触发全量同步,怎么优化?

日期:2026-07-11 标签:#面试 #八股 #后端 #同步 #线程问题排查 #场景题 一句话答案 页面查询不应耦合全量同步,应将同步改为事件驱动加增量补偿,页面只读取本地可查询模型,必要时触发异步刷新。 面试口语版 每次进页面全量同步会造成重复 I/O、线程堆积、上游压力和长尾延迟。我会先拆开“同步”和“查…

Read article

商家如何查看店铺卖得最好的 Top 50 商品?

日期:2026-07-11 标签:#面试 #八股 #后端 #系统设计 #TopN #场景题 一句话答案 按明确统计口径消费订单事件,实时需求用流处理维护店铺窗口聚合和 Top N,离线报表用数仓聚合;退款和取消通过可撤回事件修正。 面试口语版 先确认“卖得最好”按销量、销售额还是支付订单数,以及时间范围和是否扣除…

Read article

线上数据库连接池爆满问题排查

日期:2026-07-11 标签:#面试 #八股 #后端 #数据库 #线上问题排查 一句话答案 连接池爆满通常是连接使用时间变长或请求量超过数据库承载,排查应区分慢 SQL、长事务、连接泄漏、数据库阻塞和流量突增,不能直接扩大连接池。 面试口语版 我先确认是单实例还是全局、活跃连接满还是等待队列满,并对齐流量、发…

Read article

MySQL 中使用索引一定有效吗?如何排查索引效果?

日期:2026-07-11 标签:#面试 #八股 #后端 #MySQL #索引 #场景题 一句话答案 索引不一定被使用,也不一定比全表扫描快;应通过真实参数、执行计划、实际行数、回表次数和运行指标验证效果。 面试口语版 优化器基于成本选择访问路径。查询返回大比例数据、索引选择性差、统计信息不准或 SQL 写法破坏…

Read article