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

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

编程题困难

编码面试:如何用后缀数组搜索字符串模式?

把固定文本的子串查询转化为后缀数组上的两次二分,并说明构建、复杂度与边界。

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

系统设计面试:如何隔离多租户服务中的噪声租户并实现公平调度?

从租户身份、资源预算和隔离层级出发,设计可承受突发流量的多租户服务,并用配额、公平队列和 shuffle sharding 限制噪声租户的爆炸半径。

查看问题与回答
前端中等

如何手写 JavaScript EventEmitter,正确处理 on、off、once 和 emit?

从事件契约出发手写 JavaScript EventEmitter,处理重复注册、派发中增删监听器、once 重入和异常传播,并用边界用例验证语义。

查看问题与回答
后端困难

后端面试题:如何保护服务避免过载?

从饱和信号、有界并发、选择性卸载、降级和恢复闭环设计过载保护,在流量超过容量时保住有效吞吐与关键请求。

查看问题与回答
数据困难

SQL 面试:按 30 分钟无活动间隔划分用户会话

用 PostgreSQL 的 LAG、边界标记和窗口累计和划分用户会话,讲清 30 分钟临界值、稳定排序、时间范围、迟到事件与验证方法。

查看问题与回答
产品中等

如何回答‘你最喜欢什么产品,会怎样改进’产品经理面试题?

用产品论点、用户旅程和取舍说明你为什么喜欢一款产品,再从一个可验证的用户问题推导改进方案、成功指标与风险护栏。

查看问题与回答
通用困难

Linux 面试:进程被 OOM Kill 时如何诊断?

从退出状态、cgroup 事件和内核日志确认 OOM 范围,再拆分内存构成,区分泄漏与限额不足并完成安全治理。

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

编程面试:实现单调整数优先队列 Radix Heap

利用已弹出键单调递增的不变量,用按最高不同位分桶实现整数优先队列,并解释重分布与摊销复杂度。

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

系统设计面试:如何设计订阅计费系统?

从订阅状态机、账单快照、幂等扣款和 Webhook 事件出发,设计支持试用、升级降级、按比例计费与失败重试的订阅计费系统。

查看问题与回答
前端中等

如何手写 Promise.all,并正确处理顺序与失败?

从可迭代输入的契约出发,实现支持普通值、thenable、空输入、顺序保持和快速失败的 Promise.all,并用边界用例验证语义。

查看问题与回答
后端困难

后端面试:如何解决数据库与消息队列的双写一致性问题?

设计事务型发件箱,让事件意图可靠落库,并分析中继崩溃、重复投递、按聚合顺序、消费幂等与故障注入验证。

查看问题与回答
数据困难

数据科学面试:如何无泄漏地验证时间序列预测模型?

从真实预测时点反推滚动回测,处理特征可用时间、预测步长、城市聚合和指标选择,并用最终留出集验证选出的模型。

查看问题与回答
产品困难

产品经理面试:DAU 突降 15%,你会如何排查?

用指标口径核验、绝对贡献分解、嵌套漏斗和时间线证据定位 DAU 异常,并根据用户影响决定修数据、暂停发布还是回滚。

查看问题与回答
通用困难

Linux 面试:Load Average 很高但 CPU 使用率很低,如何解释和排查?

从 Linux 的可运行任务与不可中断睡眠计量出发,用 R/D 状态、PSI、wchan 和子系统指标解释高负载低 CPU,并形成可验证的排查闭环。

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

Coding 面试:如何用可回滚并查集处理离线动态连通性?

从只能合并的并查集出发,推导时间线段树加 rollback 的离线动态连通性方案,覆盖删除边、状态恢复、不变量与复杂度。

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

如何设计一个多区域 API 网关?

为 300 个服务和每秒 50 万峰值请求设计 API 网关,覆盖路由、认证、配置发布、区域故障、过载保护与可观测性。

查看问题与回答
后端困难

后端面试:如何安全存储密码并迁移旧哈希?

从离线破解威胁出发,设计 Argon2id 参数、版本化凭据、登录时渐进迁移、旧账户处置、pepper 轮换和容量保护。

查看问题与回答
数据中等

SQL 面试:计算滚动 7 日活跃用户数

通过日期脊柱、按时区去重的用户日粒度和每个滚动窗口的去重并集,准确计算滚动 7 日活跃用户,并处理日期缺口、迟到事件与规模问题。

查看问题与回答
产品中等

产品经理面试:如何为冲突的功能需求排优先级?

用目标、硬约束、证据强度、延迟成本和机会成本比较冲突需求,作出单一选择,并写清承诺、降级方案与重新决策的触发条件。

查看问题与回答
通用中等

网络面试:HTTP/3 如何解决 HTTP/2 的队头阻塞?

用丢包时间线讲清 HTTP/2 的 TCP 跨流阻塞、HTTP/3 的 QUIC 多流隔离,以及单流重传、拥塞控制、流控与 QPACK 仍会带来的等待。

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

编程面试:实现支持区间相交查询的区间树

用增强平衡树维护区间最大右端点,在线回答相交查询并解释旋转、删除与复杂度。

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

系统设计面试:设计附近地点搜索服务

从查询圆推导地理空间候选集、精确距离复核和稳定分页,设计能处理边界、热点区域、缓存失效与分片故障的附近地点搜索服务。

查看问题与回答
后端困难

PostgreSQL 面试:MVCC 与 VACUUM 如何协同工作?

从 MVCC 快照与行版本可见性出发,解释清理边界、自动清理、磁盘复用、膨胀诊断、HOT 更新和 XID 冻结。

查看问题与回答
数据困难

数据工程面试:什么时候该用批处理、微批处理或流处理?

从业务行动时限推导批处理、微批处理与连续流处理的选择,并用时延预算、结果修订、成本和灰度验证证明方案。

查看问题与回答