面试真题讲解
逐题讲清解题思路、关键实现与常见追问。
产品经理面试:如何判断功能开关、渐进发布与 A/B 实验?
用决策树区分功能开关、渐进发布和 A/B 实验,覆盖指标、分桶、回滚与旗标治理,回答产品取舍题。
系统设计面试:用 Kubernetes 服务端分片 List/Watch 扩展控制器
设计只接收所属对象分片的控制器集群,同时保持 List/Watch 正确性、降级安全和可观测的灰度发布。
后端面试:如何设计 HTTP RateLimit 响应头契约
把配额策略和剩余容量表达为可互操作的 RateLimit 响应头,同时处理缓存、中间层、动态限额、隐私与客户端退避。
前端面试:HTTP 103 Early Hints 何时真正改善 LCP?
用服务器思考时间、资源稳定性和浏览器限制推导 103 Early Hints 的适用边界,并给出可验证的性能面试回答。
数据工程面试:如何保护 Parquet 中的敏感列?
从 Parquet Modular Encryption 推导列级加密、页脚保护、AAD、KMS 密钥封装与兼容性取舍,形成可验证的数据湖安全回答。
Kafka 后端面试:Share Group 如何提供队列语义?
从 KIP-932 推导 Kafka Share Group 与传统 Consumer Group 的差异,覆盖并发上限、逐条确认、重试、顺序、事务边界和迁移验证。
Java 编程面试:原始类型模式如何改变 instanceof 与 switch?
解释 Java 25 预览版原始类型模式的转换规则、null 行为、switch 覆盖和兼容性策略,避免把预览语法误当成稳定生产能力。
后端面试:如何结合 OAuth RAR 与 DPoP 保护交易授权?
设计一条高风险支付授权链路,区分 OAuth RAR 的结构化交易同意、DPoP 的密钥绑定、重放防护、账本幂等与回滚证据。
Go 1.26 的 new 表达式如何改善可选字段建模?
围绕 Go 1.26 允许 new 接受表达式,设计可选字段初始化、泛型辅助、兼容旧版本和序列化边界的面试解答。
如何设计 Kubernetes 多可用区的 Topology Aware Routing?
围绕同区流量、EndpointSlice hints、trafficDistribution、端点不足回退与热点失衡,设计可观测且可回滚的 Kubernetes 多区流量方案。
PostgreSQL 18 如何安全治理闲置逻辑复制槽?
围绕 idle_replication_slot_timeout、WAL 保留、slot 失效观测和订阅恢复,设计避免磁盘耗尽又不误删业务复制槽的后端方案。
PostgreSQL 18 如何设计 autovacuum worker 容量治理?
围绕 autovacuum_worker_slots、autovacuum_max_workers、按表阈值、并行维护和 pg_stat_progress_vacuum,设计避免膨胀与 I/O 抖动的容量方案。
如何用 Kubernetes image volume 安全发布 OCI 数据资产?
设计以 Kubernetes image volume 挂载只读 OCI 数据资产的发布方案,覆盖摘要固定、准入校验、节点兼容、观测、回滚与垃圾回收。
如何用 PostgreSQL 18 temporal constraints 防止时间区间重叠?
通过 WITHOUT OVERLAPS 与 PERIOD 约束建模有效期、主键和外键,考察区间边界、迁移和并发写入。
PostgreSQL 18 的 B-tree skip scan 何时能替代全表扫描?
分析 PostgreSQL 18 多列 B-tree 的 skip scan 触发条件、代价估算、EXPLAIN 验证与升级风险。
如何用 Cache-Status 定位多层 HTTP 缓存的命中与回源?
通过 RFC 9211 的 Cache-Status 解释多级缓存、回源原因、TTL、请求合并与安全暴露边界。
如何用 C++26 std::execution 组合可取消的异步流水线?
围绕 sender、receiver、连接与调度器设计异步流水线,考察值、错误、停止三通道和取消传播。
如何用 scrollbar-gutter 避免滚动条引起的布局位移?
考察候选人对经典滚动条占位、根元素作用域、嵌套滚动容器与 CLS 验证的理解。
如何设计 SaaS 订阅暂停功能,减少取消又不制造账单混乱?
从用户意图、服务权益、账单状态和恢复路径设计订阅暂停,考察产品指标与边界条件。
如何用 JavaScript Temporal 正确处理跨时区预约?
用 Temporal 区分绝对时间、日历日期与本地时间,考察时区转换、DST、解析和持久化边界。
如何用 RFC 8879 压缩 TLS 证书链而不引入握手 DoS?
设计 TLS Certificate Compression 部署,考察算法协商、解压边界、回退、缓存与 QUIC 握手权衡。
如何用 TLS Delegated Credentials 降低 CDN 边缘私钥泄露风险?
基于 RFC 9345 设计 TLS Delegated Credential 部署,考察短期凭证验证、权限边界、回滚与兼容性。
如何用 Go 1.24 weak.Pointer 设计不会强行保活对象的缓存?
围绕 weak.Pointer 与 runtime.AddCleanup 设计弱引用缓存,说明可达性、竞态、非确定性和测试边界。
如何用 C++26 hazard pointer 安全回收无锁链表节点?
通过 hazard pointer 保护读者、延迟回收节点并处理扫描、内存序与线程退出,考察无锁内存回收实现。