面试真题讲解
逐题讲清解题思路、关键实现与常见追问。
行为面试:讲一次你带同事完成第一次生产变更的经历
用 STAR-L 说明如何通过拆解任务、代码评审、渐进授权和反馈,让同事安全完成生产变更并形成可复用能力。
数据面试:如何设计 OpenTelemetry 指数直方图管道并控制成本?
围绕指数桶、合并语义、负值、重采样和基数预算,设计从采集到 Prometheus 查询的 OpenTelemetry 指数直方图数据管道。
产品经理面试:SaaS 是否应提供凭证轮换控制台?
从泄露风险、权限边界、双凭证重叠和审计需求出发,评估为 API key 与服务令牌提供轮换控制台的产品方案。
前端面试:如何安全使用 fetchpriority 优化 LCP 图片?
围绕 fetchpriority、loading、preload 与响应式图片,设计可验证的 LCP 优化方案,避免高优先级资源争抢带来的回归。
产品经理面试:SaaS 是否应把安全公告与事故复盘分开发布?
从受影响版本、修复时间、客户行动和披露风险出发,设计安全公告与公开事故复盘的边界、节奏和衡量指标。
行为面试:讲一次你因可靠性风险暂停发布并用证据重启的经历
用 STAR-L 讲清如何在交付压力下暂停高风险发布、建立共同事实、完成验证并安全重启,同时避免把团队成员变成责任对象。
系统设计面试:如何设计可审计的 DNSSEC 密钥轮换控制平面?
设计跨注册商、权威 DNS 与验证器的 DNSSEC KSK/ZSK 轮换控制平面,覆盖预发布、TTL、并发、回滚和证据链。
网络面试:如何安全迁移 HTTPS/SVCB DNS 记录并验证客户端兼容性?
围绕 RFC 9460 的 AliasMode、ServiceMode、优先级、缓存传播与 HTTP/3 灰度,设计可回滚的 HTTPS DNS 记录迁移。
后端面试:如何设计安全的 stale-while-revalidate 缓存合同?
用 HTTP 缓存指令、请求合并、隐私边界和新鲜度指标,在不隐藏危险过期数据的情况下降低延迟。
前端面试:如何用 Storage Access API 设计嵌入式登录?
围绕用户激活、Permissions Policy、第一方初始化、浏览器差异和降级流程,设计嵌入式登录组件。
前端面试:如何在页面生命周期变化中保护未保存表单?
设计能应对隐藏、冻结、丢弃和 bfcache 恢复的草稿策略,不依赖 unload。
后端面试:什么时候应该返回 HTTP 202 Accepted?
从处理时长、客户端重试和可观测状态出发,设计正确的 202 Accepted 异步 API 合同。
前端面试:如何存储不可导出的 Web Crypto 密钥?
用安全上下文、不可导出的 CryptoKey、IndexedDB 边界和恢复取舍设计浏览器端加密。
编程面试:实现 HMAC Webhook 签名校验
使用精确原始负载、时间戳、恒定时间比较和有界重放窗口安全验证请求。
系统设计面试:设计多租户用量计量管道
用幂等、迟到数据、修正和租户隔离,把用量事件变成可审计的配额与账单聚合。
系统设计面试:设计 CloudEvents 事件接入网关
处理 HTTP 事件规范化、租户隔离、去重、重试、模式演进和可观测的投递语义。
产品经理面试:B2B SaaS 是否应该提供 API 使用分析?
围绕客户决策、配额风险、可靠性、隐私和可衡量的采用率定义使用分析,而不是堆砌图表。
后端面试:如何在不中断服务的情况下轮换 Webhook 密钥?
设计重叠验签、版本化发布、重放防护和回滚,确保 Webhook 密钥轮换没有验证空窗。
数据科学面试:为什么调整处理后变量会造成实验偏差?
用因果图和处理前估计量解释:过滤由处理导致的行为会破坏实验的随机化保护。
数据科学面试:如何发现实验中的幸存者偏差?
先审计分母、分配和缺失结果,再判断只在留存用户中出现的提升是否可信。
编程面试:把字符串变成回文的最少相邻交换
用双指针贪心证明、判断不可行输入,并安全实现 O(n²) 原地模拟。
通用面试:API 遇到 HTTP 414 URI Too Long 应如何处理?
定位请求目标增长来源,选择查询参数或请求体语义,并避免掩盖代理与重定向限制。
前端面试:如何用 inert 实现可访问的模态框?
解释背景交互、焦点恢复、对话框语义和模态打开时的渐进增强。
数据科学面试:如何发现并解决辛普森悖论?
解释聚合实验结果为何会与分组结果反转,并选择分层、随机化或因果调整方法。