面试真题讲解
逐题讲清解题思路、关键实现与常见追问。
算法面试:如何 K 个一组反转链表?
用哑节点、完整分组预检和区间内指针反转解决 K 个一组反转链表,并用循环不变量证明尾部不足 K 个节点时保持原序。
工程经理行为面试:请讲一次你处理团队成员绩效不达预期的经历
用 STAR(R) 讲清经理如何基于可观察证据确认持续绩效差距,校正自身和系统因素,设定有支持与检查点的改进计划,并在保护团队和客户的同时作出公平后续决定。
产品经理面试:如何制定 API 产品策略并提升开发者采用?
从客户工作流制定 API 产品策略,追踪从沙盒访问到生产留存的采用路径,并治理产品包装、接口契约、迁移成本与规模化决策。
前端面试:浏览器往返缓存如何工作,怎样排查未命中?
区分 bfcache、HTTP 缓存与路由缓存,让页面生命周期代码可安全恢复,并用浏览器测试和线上证据定位未命中。
系统设计面试:如何设计一个全球内容分发网络?
从流量路由和分层缓存出发,设计全球 CDN 的清除竞态、源站保护、租户隔离、故障处理、容量与验证方案。
算法面试:如何求柱状图中的最大矩形?
从左右第一个更矮柱推导柱状图最大矩形算法,实现单次扫描的单调栈,并证明正确性与线性复杂度。
PostgreSQL 面试:MVCC 与 VACUUM 如何协同工作?
从 MVCC 快照与行版本可见性出发,解释清理边界、自动清理、磁盘复用、膨胀诊断、HOT 更新和 XID 冻结。
Linux 面试:容器如何隔离进程与资源?
把 Linux 容器讲成一棵受约束的进程树:namespace 决定能看到什么,cgroup v2 控制能消耗多少,多层安全机制降低共享内核风险。
数据工程面试题:设计一个可信的数据血缘系统
从稳定标识、运行事件、时态图物化、受限遍历和覆盖率证据出发,设计真正能支持影响分析且可信的数据血缘系统。
前端面试:如何在 CSR、SSR、SSG 和 ISR 之间选择?
从可索引性、个性化、新鲜度、页面规模和故障语义出发,为不同路由选择渲染策略,并用缓存失效与生产指标验证取舍。
后端面试:如何为长时间运行的任务设计异步 API?
从 HTTP 202、操作资源和状态机出发,设计支持幂等提交、受控轮询、取消、错误、结果保留与故障恢复的长任务 API。
产品经理面试:大客户以流失为由要求定制功能,应该做吗?
用流失反事实、通用需求证据、全生命周期成本和商业承诺判断大客户定制需求,并在通用产品、付费适配与拒绝开发之间作出可执行选择。
行为面试:请讲一次你错过重要截止时间的经历
用一段真实经历讲清截止时间为何失守、你何时发现风险、怎样承担责任并带着选项升级,以及恢复交付后如何用后续项目证明流程改变有效。
操作系统面试:优先级反转如何发生,优先级继承能保证什么?
用单核固定优先级调度的 H/M/L 时间线,算清无界优先级反转,并比较优先级继承、优先级上限、锁设计与可验证的截止时间边界。
数据工程面试:如何在不破坏事件消费者的前提下演进 Schema?
从 writer/reader 兼容方向出发,设计事件 Schema 的注册门禁、扩展式发布、破坏性版本迁移、历史重放与回滚验证。
系统设计面试:如何设计多租户 Secrets 管理服务?
从威胁边界、工作负载身份、信封加密、不可变版本、轮换工作流、租约、访问审计和跨地域恢复,完整设计一套多租户 Secrets 管理服务。
算法面试:如何用动态规划计算编辑距离?
从字符串前缀推导编辑距离递推式,证明三种状态转移,并用 TypeScript 滚动数组实现 O(mn) 时间、O(min(m, n)) 空间的解法。
行为面试:请讲一次你带领团队处理重大生产事故的经历
用 STAR 展示真实权限、客户优先级、明确的事故角色、信息不全时的可逆决策、克制的沟通和可验证的后续改进,避免把行为题答成故障排查流水账。
产品经理面试:A/B 测试主指标提升但护栏指标变差,要上线吗?
先验证实验,再用置信区间对照预设的成功门槛与伤害上限,定位指标冲突的机制,最终选择全量上线、定向复测、迭代或回滚。
数据工程面试:如何为关键数据管道设计数据质量 SLO?
把财务数据管道中模糊的质量要求转成面向消费者的 SLI、可执行的发布门禁、责任边界、错误预算动作和低误报上线方案。
前端面试:如何实现高性能且无障碍的虚拟列表?
设计一个包含 100,000 条数据的虚拟信息流,系统处理动态高度、增量加载、状态归属、滚动锚定、键盘焦点、读屏语义与性能验证。
伪共享面试题:如何诊断并修复缓存行争用?
从八线程计数器不升反降的现象出发,用缓存一致性、HITM 与地址偏移证明伪共享,再比较隔离缓存行、线程本地聚合和分片计数的代价。
算法面试:如何用二分查找求最长递增子序列?
从 O(n²) 动态规划推导最小尾值不变量,再用二分查找、前驱索引和属性测试实现并证明 O(n log n) 的最长递增子序列算法。
产品经理面试:如何制定产品三倍增长策略?
用 ARR 驱动树检验三倍增长目标,按客户分群定位约束,再以证据、增量收益和阶段门槛选择两项产品下注。