40 亿 QQ 号在 1GB 内存中去重
日期:2026-07-11 标签:#面试 #八股 #后端 #系统设计 #场景题 一句话答案 若 QQ 号可映射到有限整数范围,使用位图:每个号码只占 1 bit;但 1GB 只有约 86 亿 bit,必须先确认号码上界和输入规模含义。 面试口语版 这题要先问清 QQ 号取值范围、是否只判断重复还是要输出去重结果,…
阅读全文文章归档
关于前端、工程与日常思考的记录。找到一个主题,开始阅读。
日期:2026-07-11 标签:#面试 #八股 #后端 #系统设计 #场景题 一句话答案 若 QQ 号可映射到有限整数范围,使用位图:每个号码只占 1 bit;但 1GB 只有约 86 亿 bit,必须先确认号码上界和输入规模含义。 面试口语版 这题要先问清 QQ 号取值范围、是否只判断重复还是要输出去重结果,…
阅读全文日期:2026-07-11 标签:#面试 #八股 #后端 #系统设计 #场景题 一句话答案 先用监控确定影响范围和开始时间,再沿请求链路分解耗时,结合变更、资源、依赖和数据量定位瓶颈,最后用证据验证而不是凭经验猜测。 排查顺序 1. 确认现象:P50/P95/P99 哪个变慢,全部接口还是单接口,单机房还是全局,…
阅读全文日期:2026-07-11 标签:#面试 #八股 #后端 #系统设计 #场景题 一句话答案 文件上传系统应让客户端通过临时凭证直传对象存储,并提供分片、断点续传、秒传、完整性校验、异步处理和安全扫描。 面试口语版 客户端先向业务服务申请上传任务,服务端鉴权后返回 uploadId、分片策略和对象存储预签名 URL…
阅读全文日期:2026-07-11 标签:#面试 #八股 #后端 #系统设计 #场景题 一句话答案 限流是在资源容量边界前拒绝或延迟部分请求,常见算法有固定窗口、滑动窗口、漏桶和令牌桶,其中令牌桶最适合允许一定突发的通用接口限流。 算法对比 算法 特点 问题/适用场景 --------- 固定窗口 实现简单,按窗口计数 …
阅读全文日期:2026-07-11 标签:#面试 #八股 #后端 #系统设计 #场景题 一句话答案 历史消息应使用基于 conversationId + seq/messageId 的游标分页,按游标向更早消息查询,避免 Offset 在新消息插入后产生重复、遗漏和深分页性能问题。 面试口语版 每个会话维护单调递增 se…
阅读全文日期:2026-07-11 标签:#面试 #八股 #后端 #系统设计 #场景题 一句话答案 使用两个线程以相反顺序持有两把锁,并用 CountDownLatch 保证双方都拿到第一把锁后再申请第二把锁,即可稳定形成循环等待。 Java 代码 原理拆解 两个线程分别持有 A、B;Latch 确保双方都进入临界区后才…
阅读全文日期:2026-07-11 标签:#面试 #八股 #后端 #系统设计 #场景题 一句话答案 常用方案有数据库号段、Redis 自增和 Snowflake;高吞吐场景通常用号段或 Snowflake,并针对时钟回拨、节点编号冲突和趋势递增做治理。 方案对比 方案 优点 缺点 适用场景 ------------ UU…
阅读全文日期:2026-07-11 标签:#面试 #八股 #后端 #系统设计 #场景题 一句话答案 固定时间发生的故障优先排查定时任务、批处理、备份、日志切割、缓存集中失效和外部依赖窗口,并通过时间相关性和资源曲线定位证据。 面试口语版 这种每天固定时段的问题很像周期性任务造成的资源争抢。我会先确定准确起止时间和影响范围…
阅读全文日期:2026-07-11 标签:#面试 #八股 #后端 #系统设计 #场景题 一句话答案 HashMap 不是线程安全的;可通过分段锁、桶级锁或类似 ConcurrentHashMap 的 CAS + synchronized 方案实现,并发读主要依赖安全发布和 volatile 可见性。 面试口语版 最简单方…
阅读全文日期:2026-07-11 标签:#面试 #八股 #后端 #系统设计 #场景题 一句话答案 不能仅凭一万 QPS 决定拆微服务;应根据容量瓶颈、团队边界、发布耦合、故障隔离和业务复杂度判断,能通过单体水平扩展解决时优先保持简单。 面试口语版 我会先看一万 QPS 的请求结构、峰值、延迟目标、读写比和资源利用率。如…
阅读全文日期:2026-07-11 标签:#面试 #八股 #后端 #系统设计 #场景题 一句话答案 短链系统通过唯一短码映射原始 URL,读路径使用缓存和数据库快速重定向,写路径重点解决短码生成、冲突、滥用治理和统计分析。 面试口语版 创建短链时先校验 URL 和权限,生成全局唯一 ID,再用 Base62 编码得到短码…
阅读全文日期:2026-07-11 标签:#面试 #八股 #后端 #系统设计 #场景题 一句话答案 消息队列围绕持久化日志构建,通过分区实现吞吐扩展,通过副本实现高可用,通过位点和投递协议实现至少一次等消费语义。 面试口语版 我会把 Topic 拆成多个 Partition,每个分区是磁盘顺序追加日志,分区内有序。Pro…
阅读全文试试其他关键词,或重置筛选条件。