面试真题讲解
逐题讲清解题思路、关键实现与常见追问。
算法面试:如何从未知长度的数据流中均匀抽样?
用 Reservoir Sampling 在单次扫描和 O(k) 内存限制下维护 k 个等概率样本,推导不变量、证明正确性并处理边界。
通用面试:什么是 CAS 的 ABA 问题,如何避免?
用无锁栈的并发时序解释 ABA,区分值相同与状态未变化,并比较版本戳、对象生命周期与锁方案。
行为面试:如何回答“你曾经怎样处理机密信息?”
用真实、去敏化的 STAR 故事说明权限判断、最小披露、留痕与压力下的升级路径,避免泄露前雇主信息。
算法面试:如何选择不重叠任务以获得最大收益?
用加权区间排程把排序、二分查找与动态规划串起来,讲清楚边界定义、正确性证明、复杂度和可恢复方案。
前端面试:如何使用 ResizeObserver 又不制造布局抖动?
围绕元素尺寸观察、读写分离、反馈循环和 React 生命周期,设计可控的响应式组件。
产品经理面试:如何设计企业客户升级问题的统一入口?
在保护客户关系的同时,把高风险支持问题转成可分级、可追踪、可反馈的产品流程。
后端面试:如何设计 Kubernetes 服务的优雅停机与连接排空?
从终止信号、就绪状态、preStop、连接排空到截止时间,设计可验证的发布与节点关机流程。
数据工程面试:如何用 Iceberg 快照安全回填并恢复错误数据?
用快照、时间旅行、提交冲突和保留策略设计可审计的湖仓回填流程。
后端面试:如何用幂等键让可重试命令只产生一次副作用?
围绕网络超时、并发重试和未知结果,设计可验证的幂等键存储、状态机与过期策略。
通用面试:为什么平均延迟会掩盖尾延迟?
用百分位、请求组合、排队和 SLO 解释尾延迟,说明如何测量、定位和降低 p95/p99,而不是只追逐平均值。
系统设计面试:设计自适应准入与负载削减网关
设计在突发流量和下游退化时保护核心请求的准入网关,覆盖优先级、并发预算、背压、优雅降级、租户公平与恢复验证。
系统设计面试:设计图像转换与分发流水线
设计支持裁剪、缩放、格式转换和 CDN 分发的图像处理平台,覆盖幂等键、派生缓存、资源配额、安全边界和质量权衡。
系统设计面试:设计依赖漏洞告警服务
设计一个把依赖清单匹配漏洞数据库、去重告警并驱动修复闭环的多租户服务,覆盖版本范围、撤回、通知疲劳与可追溯性。
数据工程面试:如何设计可审计的数据访问治理层?
从数据分类、细粒度授权、审批与紧急访问,到跨引擎审计和撤权证明,设计可运营的数据治理方案。
行为面试:讲一次你如何把隐性知识沉淀成可复用文档
用真实痛点、最小可行文档、共同维护和采用证据,回答知识传承与工程影响类行为题。
产品经理面试:如何设计可撤回、可审计的隐私同意中心?
用目的分层、可理解选择、同等撤回路径与证据链,把隐私同意做成可衡量的产品能力。
后端面试:Node 与 NGINX 超时不一致,为什么请求报错但工作仍完成?
从端到端时间线、代理读超时、取消传播和异步任务边界定位跨层超时,并设计可验证的修复。
通用面试:如何解释 Policy as Code、PDP 与 PEP?
从规则版本化、决策与执行分离、输入规范化和失败路径推导一套能用于平台与安全面试的 Policy as Code 回答框架。
前端面试:如何用 content-visibility 加速长页面又不制造布局偏移?
从渲染跳过、尺寸占位、可访问性和强制布局读取推导 content-visibility 的安全用法,并给出可复现的验证步骤。
编程面试:如何实现动态数组并证明 append 的摊销 O(1)?
从容量不变量、几何扩容和摊销证明出发,实现可索引的动态数组,并解释空间与最坏情况代价。
系统设计面试:如何设计多租户 API 限流器?
从租户公平性、突发流量和分布式一致性推导限流算法、部署层级与降级策略。
编程面试:如何返回出现频率最高的 K 个单词?
用哈希计数、定制最小堆和严格的频率/字典序比较器,在 O(n log k) 时间内返回 Top K 单词。
行为面试:讲一次你区分可逆与不可逆决策并推动行动的经历
用真实经历说明如何判断决策可逆性、设置信息门槛、在不确定下行动,并通过监控和复盘及时纠偏。
前端面试:如何诊断 Long Task 并改善 INP?
从浏览器主线程、PerformanceObserver、长任务定位、事件处理拆分和 Web Worker 取舍出发,系统改善交互响应。