面试真题讲解
逐题讲清解题思路、关键实现与常见追问。
编程面试:如何用 Li Chao Tree 支持动态直线区间最小值?
从朴素枚举到 Li Chao Tree,推导任意斜率插入、离散值域查询和线段插入的正确性、边界与复杂度。
数据工程面试:如何设计可审计的数据质量隔离通道?
设计一条把无效记录隔离、计量、修复并安全重放的数据管道,区分丢弃、强制落库和 quarantine,并说明幂等、版本与发布门禁。
编程面试:如何用回文树(Eertree)在线统计不同回文子串?
从两个根节点、最长回文后缀与 suffix link 出发,在线构建 Eertree,统计不同回文、出现次数和回文分割,并说明边界与复杂度。
通用技术面试:大型仓库应如何选择 Partial Clone 与 Sparse-Checkout?
区分浅克隆、部分克隆和稀疏检出,按工作区、网络和 CI 约束选择可验证的 Git 仓库加速方案。
数据科学面试:如何用双重差分评估一次产品改动?
从处理组、对照组、平行趋势和分期上线条件出发,判断双重差分能否支持产品因果结论,并设计稳健性检查。
产品经理面试:B2B SaaS 是否应该提供用量计费价格计算器?
用客户决策任务、计量可信度、估算假设和护栏判断用量计费价格计算器是否值得上线。
C++ 面试:std::inplace_vector 的固定容量如何影响设计?
围绕 C++26 std::inplace_vector 讨论原地存储、容量溢出、对象生命周期、迭代器失效和与 vector 的取舍。
数据面试:如何用 PostgreSQL 扩展统计信息修复基数误估?
从执行计划和相关列分布出发,设计 PostgreSQL CREATE STATISTICS、采样、验证与维护策略。
系统设计面试:如何设计尊重 PDB 与拓扑分布的维护编排器?
设计一个跨节点维护编排器,在驱逐 Pod 前同时满足 PodDisruptionBudget、拓扑分布、容量和回滚安全。
行为面试:事实不完整时,你如何在事故中沟通?
用一个真实经历说明如何区分已确认事实、假设和未知,建立更新节奏,保护客户信任并推动技术处置。
后端面试:如何设计 PostgreSQL 逻辑复制故障切换?
围绕 PostgreSQL 18 的 failover logical replication slot,设计 CDC 消费者在主库提升后的连续性、就绪检查与回退方案。
产品经理面试:SaaS 是否应该提供 OpenTelemetry 日志导出?
用客户问题、互操作性、隐私、成本和采用指标评估 OpenTelemetry 日志导出,而不是把标准支持当成默认产品路线。
数据工程面试:如何把遗留日志迁移到 OpenTelemetry Logs Data Model?
围绕 Timestamp、ObservedTimestamp、Resource、Attributes、Body 与 Trace Context,设计可回放、可验证且不丢语义的日志迁移。
编程面试:如何用 Wavelet Matrix 支持区间第 k 小?
从稳定划分和位向量 rank 出发,实现静态数组的区间第 k 小、频次与值域计数,并说明压缩坐标、边界和复杂度。
系统设计面试:如何设计基于 MASQUE 的 CONNECT-UDP 代理?
从 RFC 9298 的 CONNECT-UDP、HTTP Datagrams 与 Capsule Protocol 出发,设计可观测、可限流且能安全回退的 UDP over HTTP 代理。
通用面试:如何设计 Oblivious HTTP 的 Relay 与 Gateway?
基于 RFC 9458 设计 OHTTP 的客户端、Relay、Gateway 与目标服务边界,覆盖 HPKE 封装、重放防护、流量分析、密钥轮换和可观测性。
编程面试:如何用 Link-Cut Tree 维护动态森林?
从 Sleator–Tarjan 动态树出发,实现 link、cut、makeroot 与路径聚合,说明 access、辅助 Splay、摊销复杂度和边界验证。
通用面试:如何部署 TLS Encrypted ClientHello 并处理兼容性?
从 RFC 9849 的 inner/outer ClientHello、ECHConfig 与重试机制出发,设计保护 SNI 隐私、可观测且可回退的部署方案。
后端面试:如何用 HTTP Priority 设计资源调度策略?
从 RFC 9218 的 urgency 与 incremental 出发,设计跨 HTTP 版本、代理和缓存的响应优先级策略,并用指标证明它没有制造饥饿。
C++ 编程面试:如何用 C++26 std::execution 组合可取消的异步流水线?
围绕 sender、receiver、scheduler、值错误停止三条完成通道和生命周期,设计可取消的异步流水线,并处理工具链降级。
后端面试:PostgreSQL 18 的虚拟生成列与存储生成列怎么选?
用 PostgreSQL 18 的 generated columns 解释读时计算、写时存储、表达式限制、索引和逻辑复制迁移边界。
数据工程面试:如何用 PostgreSQL 时间约束防止有效期重叠?
围绕 PostgreSQL 18 的 WITHOUT OVERLAPS 与 PERIOD,解释时间主键、外键、并发写入、迁移和历史数据校验。
前端面试:CSS zoom 与 transform: scale 如何选择?
比较 CSS zoom 和 transform 缩放对布局、溢出、坐标测量与无障碍的影响,并说明如何用 currentCSSZoom 调试嵌套缩放。
行为面试:如何安全废弃一份过时的事故运行手册?
用证据、临时保护措施和迁移验证处理过时 runbook,展示在高压运维环境中改善流程而非指责个人。