面试真题讲解
逐题讲清解题思路、关键实现与常见追问。
系统设计面试:设计一个集中式授权决策服务
从主体、动作、资源和上下文推导授权模型,处理策略一致性、缓存失效、租户隔离和可审计验证。
行为面试:如何回答一次在安全与易用性之间做取舍的经历?
用 STAR 讲清风险门槛、用户摩擦、替代控制和结果验证,避免把安全与体验写成空泛二选一。
编码面试:实现一个工作窃取调度器
从每个 worker 的双端队列出发,实现本地 LIFO、远端 FIFO 窃取,并处理关闭、空闲和重复执行边界。
编码面试:实现按键请求合并(Singleflight)
用按键级 in-flight 去重处理并发请求,覆盖共享结果、失败重试、清理竞态与取消语义。
系统设计面试:如何设计多租户向量检索服务?
围绕近似最近邻索引、租户过滤、新鲜度目标和召回评估,设计一个支持一亿文档的语义检索服务。
产品经理面试:如何为 SaaS 制定可访问性合规路线图?
考察产品经理如何把 WCAG 要求转成用户研究、风险分级、工程排期、验收指标和持续治理。
行为面试:请讲一次你处理职业伦理困境的经历
考察候选人如何识别伦理红线、保护相关方、升级决策并在压力下保持事实和责任边界。
通用面试:ECH 如何隐藏 TLS 握手中的站点名称?
从 TLS ClientHello、ECH 配置发布、外层与内层握手到失败回退,考察隐私边界、部署依赖与可观测性取舍。
前端面试:如何用 FedCM 设计隐私友好的联合登录?
围绕浏览器中介的身份联合流程,考察 FedCM、OAuth/OIDC、第三方 Cookie 限制、回退和前端状态设计。
前端面试:如何设计安全可恢复的 Passkey 登录?
从 WebAuthn 的注册和断言流程出发,推导前端能力探测、挑战值、RP ID、错误处理与账号恢复方案。
数据工程面试:如何设计 Apache Iceberg REST Catalog?
从多引擎访问和并发提交的约束出发,推导 Iceberg REST Catalog 的 API、认证、提交冲突、缓存和可观测性方案。
后端面试:如何用 DPoP 设计防令牌重放的 API?
从 Bearer 令牌被窃取的威胁出发,推导 DPoP 的密钥绑定、请求证明、重放检测和渐进迁移方案。
产品经理面试:主指标上涨但护栏指标下降时是否发布?
建立实验决策规则,区分真实回归、统计噪声和数据质量问题,并决定暂停、回滚、迭代或扩大实验。
系统设计面试:如何设计可验证的防篡改审计日志?
设计追加写入、哈希链、外部锚定、查询索引和权限隔离,明确日志完整性与事件真实性的边界。
编程面试:如何设计能错误恢复的表达式解析器?
实现词法与语法分析、同步点恢复、错误位置报告和增量输入,避免一个语法错误让整份文档失效。
数据工程面试:如何设计 Apache Arrow 跨语言数据交换层?
设计列式内存布局、零拷贝边界、类型兼容、IPC 传输和内存治理,判断何时使用 Arrow 而不是 JSON 或 Parquet。
后端面试:如何用 HTTP Message Signatures 保护 API 完整性?
设计覆盖组件、签名基线、时间窗口、nonce、密钥轮换和代理边界,避免把 TLS 或 HMAC 误当成完整方案。
通用面试:什么时候选择 WebTransport 而不是 WebSocket?
比较可靠流、不可靠数据报、连接语义、部署兼容性与安全边界,做出可验证的实时通信选型。
前端面试:如何安全设计 Speculation Rules 导航加速?
设计预取与预渲染策略,处理副作用、隐私、缓存、兼容性、取消和真实用户性能指标。
系统设计面试:如何设计可验证的软件供应链 Provenance 服务?
设计覆盖构建、签名、分发和部署准入的 provenance 服务,绑定制品摘要与证明,处理密钥轮换、撤销、重放、CI 信任边界和验证失败。
产品经理面试:如何决定 AI 助手何时回答、澄清或转人工?
用产品判断、风险分层和可验证指标设计 AI 助手的回答、澄清、拒答与人工升级策略,避免把置信度分数直接当成用户安全信号。
编程面试:如何实现可取消的优先级任务调度器?
实现带截止时间、优先级、重复任务去重和取消语义的单机任务调度器,重点处理堆中失效条目、并发上限与关闭竞态。
产品经理面试:SaaS 是否应该引入按用量计费?
从客户价值、计量单位、账单可预测性、收入风险与工程成本判断 SaaS 是否引入按用量计费,并设计分阶段验证和迁移护栏。
后端面试:如何设计可执行的 429 与 Retry-After 契约?
从 RFC 语义、限流维度和客户端退避出发,设计可行动的 429 响应,处理时间格式、幂等边界、并发重试、配额说明与监控。