面试真题与回答讲解 第 48 页,共 52 页

浏览 OfferCC 面试真题与回答讲解第 48 页,查看解题思路、实现细节、追问和公开来源。

后端困难

后端面试:超时、重试与熔断器应该如何配合?

用端到端截止时间、失败语义矩阵和重试预算设计同步下游调用,再通过熔断器、有界探针与故障注入控制级联失败。

查看问题与回答
数据困难

数据工程面试:如何安全回填大规模历史数据?

把 180 TB 历史重算拆成可恢复分区,用确定性输入、独立资源、增量追平、验证门禁和版本切换保护当前生产管道。

查看问题与回答
编程题困难

编码面试:实现一个工作窃取调度器

从每个 worker 的双端队列出发,实现本地 LIFO、远端 FIFO 窃取,并处理关闭、空闲和重复执行边界。

查看问题与回答
系统设计困难

系统设计面试:如何设计个性化信息流?

从候选内容生成、混合扇出、分层排序、稳定分页、权限过滤和故障恢复,设计一个能应对大 V 热点与最终一致性的个性化信息流。

查看问题与回答
后端困难

后端面试:如何定位并修复 N+1 查询问题?

从随分页大小线性增长的 SQL 次数定位 N+1 查询,比较 JOIN 与 select-in 批量加载,并在不掩盖过度读取和一致性变化的前提下验证修复。

查看问题与回答
数据困难

数据工程面试:如何诊断并解决 Spark 数据倾斜?

从 Spark UI、执行计划和 key 分布证明数据倾斜,再依据语义选择 AQE、广播、热点 key 加盐或两阶段聚合,并用正确性与性能指标验证修复。

查看问题与回答
编程题困难

编码面试:实现按键请求合并(Singleflight)

用按键级 in-flight 去重处理并发请求,覆盖共享结果、失败重试、清理竞态与取消语义。

查看问题与回答
系统设计困难

系统设计面试:如何设计一致性哈希与虚拟节点?

从取模重映射推导哈希环,设计带虚拟节点、权重、副本和版本化迁移的一致性哈希方案,并明确它解决不了的热点与故障问题。

查看问题与回答
后端困难

后端面试:如何解释 OAuth 授权码流程与 PKCE?

从授权请求、回调和令牌交换推导 OAuth 授权码流程,区分 state、PKCE、客户端认证与 OIDC,并用攻击场景和失败测试验证实现。

查看问题与回答
数据困难

SQL 面试:如何准确计算第 7 日用户留存率?

用 PostgreSQL 完成精确第 7 日 Cohort 留存查询,系统处理日历日时区、成熟 Cohort 筛选、用户级去重、零回访用户保留与生产验证。

查看问题与回答
编程题困难

编程面试:如何设计能错误恢复的表达式解析器?

实现词法与语法分析、同步点恢复、错误位置报告和增量输入,避免一个语法错误让整份文档失效。

查看问题与回答
系统设计困难

系统设计面试题:如何设计电商支付处理系统?

围绕支付意图、授权与扣款、幂等重试、异步回调、不可变资金账本、退款和对账,推导一个能处理未知结果与故障恢复的电商支付系统。

查看问题与回答
后端困难

后端面试:如何防止 SQL 注入?

用服务端参数化查询分离 SQL 代码与数据,通过固定白名单映射动态标识符,同时守住租户授权边界,并验证原生查询、存储过程和二次执行路径。

查看问题与回答
数据困难

SQL 面试:查找每个用户最长的连续登录天数

用 PostgreSQL 解一道 gaps and islands 面试题:先确定业务日期粒度,再用 ROW_NUMBER 推导稳定分组键,保留并列最长记录,并覆盖时区、重复事件与夏令时边界。

查看问题与回答
编程题困难

编程面试:如何实现可取消的优先级任务调度器?

实现带截止时间、优先级、重复任务去重和取消语义的单机任务调度器,重点处理堆中失效条目、并发上限与关闭竞态。

查看问题与回答
系统设计中等

系统设计面试:如何设计短链接服务?

从明确流量假设推导短链接服务的编码空间、存储、缓存、跳转、幂等、过期和滥用治理,设计持久且低延迟的读写链路。

查看问题与回答
后端困难

后端面试:如何设置数据库连接池大小并排查连接耗尽?

从数据库总连接预算、请求并发和副本数量推导连接池上限,再用应用排队与 PostgreSQL 会话状态区分池过小、连接泄漏和数据库过载。

查看问题与回答
数据困难

数据工程面试:看板数字错误时如何排查并修复?

从指标口径和可信对照开始,沿数据血缘定位第一个错误边界,再用隔离、幂等回填、对账和数据契约恢复可信数字并防止复发。

查看问题与回答
编程题中等

编程面试:实现一个带并发上限和取消能力的异步 map

用固定 worker、结果索引、错误策略和 AbortSignal 解决异步任务调度题。

查看问题与回答
系统设计困难

系统设计面试:如何设计分布式消息队列?

从交付契约、分区日志、副本确认、消费位点和大消息旁路出发,设计一个可回放、可扩展且能隔离多租户故障的分布式消息队列。

查看问题与回答
后端困难

后端面试:如何零停机迁移 PostgreSQL Schema?

从滚动发布兼容性出发,设计可中止的扩展—回填—切换—收缩流程,并处理 PostgreSQL DDL 锁、双写、约束验证、索引和分阶段回滚。

查看问题与回答
数据困难

数据工程面试:如何设计避免训练—服务偏差的 ML 特征流水线?

以实时欺诈评分为例,用特征语义契约、双时间点连接、离线与在线存储、版本化发布及向量重放,设计可验证的 ML 特征流水线。

查看问题与回答
编程题困难

Coding 面试:实现按时间查询的版本化键值存储

用每个键的时间序列和上界二分查找实现 set/get,处理乱序时间戳、重复写入、边界查询和内存取舍。

查看问题与回答
系统设计困难

系统设计面试:如何设计指标监控与告警系统?

从时间序列与基数预算出发,设计兼顾高吞吐采集、低延迟查询、可靠告警、租户隔离和可验证故障恢复的指标平台。

查看问题与回答