面试真题与回答讲解 第 49 页,共 52 页
浏览 OfferCC 面试真题与回答讲解第 49 页,查看解题思路、实现细节、追问和公开来源。
后端面试:如何设计稳定的游标分页 API?
从并发写入下的分页语义出发,比较 offset 与游标分页,并推导复合游标、索引、双向翻页、快照边界和故障测试。
数据工程面试:如何设计 SCD Type 2 维度并保留正确历史?
用代理键、左闭右开有效区间、幂等加载、删除语义、迟到修正和不变量检查,设计时点正确的 SCD Type 2 维度。
编程面试:实现一个有界 SPSC 无锁环形队列
在单生产者、单消费者约束下实现固定容量环形队列,解释索引、满空判断、内存序和边界测试。
系统设计面试:如何设计实时协同编辑器?
从 CRDT 收敛、文档房间、持久更新日志和状态向量出发,设计支持本地即时编辑、离线重连、临时光标、权限撤销与可验证故障恢复的协同编辑系统。
PostgreSQL 慢查询面试:如何诊断并优化慢 SQL?
从真实负载、执行计划和基数估算推导复合索引与部分索引,并给出上线验证、写放大和回滚检查,避免只凭直觉加索引。
数据工程面试:如何设计变更数据捕获(CDC)管道?
从 PostgreSQL WAL、初始快照和源位置推导无缺口 CDC 管道,并处理至少一次投递、删除、Schema 演进、复制槽风险、重放与数据对账。
如何实现 Fenwick Tree,并支持动态前缀和与按权重选项?
用低位组装的单数组结构实现单点更新、前缀和、区间和与按累计权重选项,分析下标边界、复杂度和负数限制。
系统设计面试:如何设计集中式日志系统?
从本地缓冲、持久消息流、选择性索引和对象存储归档出发,设计能承受日志风暴、下游故障、高基数字段和多租户噪声的集中式日志平台。
如何防止热点缓存过期引发缓存击穿?
从软过期、请求合并和分布式租约出发,设计能够承受热点键失效、刷新者崩溃、缓存故障与延迟写回的缓存读取链路。
数据工程面试:如何诊断并修复 Kafka 热分区?
从分区级 lag 和键分布定位 Kafka 热分区,计算积压增长速度,再根据真实顺序边界选择限流、分区内并行、新分区键与安全迁移方案。
如何实现 Skip List,并解释它为何期望 O(log N)?
用随机层高构建可插入、删除和按序查找的跳表,说明期望复杂度、随机数边界、重复键和内存取舍。
系统设计面试:如何设计云文件存储与多设备同步服务?
从分片上传、不可变文件版本和游标增量同步出发,设计支持断点续传、离线编辑、冲突副本、版本恢复与安全回收的云盘服务。
PostgreSQL 事务隔离如何防止写偏斜?
用医生值班这个跨行不变量,推导 Read Committed、Repeatable Read 与 Serializable 的真实行为,并比较串行化重试、显式锁和单行条件更新三种修复方式。
A/B 测试出现样本比例不匹配时,如何诊断?
从卡方检验确认 Sample Ratio Mismatch,再沿分流、执行、日志处理和分析过滤逐层定位根因,避免用失真的显著提升做上线决定。
如何实现 Vose Alias Method 做 O(1) 加权随机采样?
用概率表和别名表把静态离散分布预处理为常数时间采样,并处理权重更新、数值精度和分布验证。
系统设计面试:如何设计分布式锁服务?
从强一致锁状态、租约续期和 fencing token 出发,设计能抵御进程暂停、网络分区、响应丢失与主节点故障的分布式锁服务。
如何设计幂等的创建订单 API,避免重试产生重复订单?
从幂等键作用域、请求指纹和数据库唯一约束出发,设计可安全重试的创建订单 API,并处理并发请求、响应丢失、键过期与下游副作用。
SQL 面试题:如何查询每个品类销售额前三的商品?
先把订单明细聚合到商品粒度,再用 DENSE_RANK 处理并列销售额并筛选每个品类的前三档,讲清窗口函数、执行顺序、边界与验证。
如何实现 Count-Min Sketch 估算数据流中的频率?
用二维计数器和多组哈希在固定内存中估算任意键的出现次数,并解释误差上界、合并与重置。
系统设计面试:如何设计一个大规模网络爬虫?
从抓取预算推导主机分片的 URL frontier,处理 robots.txt、礼貌调度、去重、重抓取与租约恢复,并用容量计算和故障不变量验证设计。
如何监控生产环境中的机器学习模型?
以网约车 ETA 回归模型为例,建立从服务健康、数据质量、分布漂移到延迟标签质量的分层监控,并把每类信号映射到可执行的告警、回滚和重训练决策。
如何用 HyperLogLog 近似估算海量数据的去重数量?
用固定内存的 HyperLogLog 估算流式数据基数,掌握寄存器更新、误差修正和分布式合并边界。
如何设计一个 Feature Flag 系统?
通过分离管理控制面与进程内求值路径,设计低延迟功能开关平台,并明确灰度分桶、陈旧数据、治理和故障恢复规则。
如何离线与在线评估推荐系统?
从时间点一致的历史日志、排序与非准确率指标、曝光偏差和随机在线实验构建上线决策,并系统排查离线胜出、线上失败的原因。