面试真题与回答讲解 第 43 页,共 52 页
浏览 OfferCC 面试真题与回答讲解第 43 页,查看解题思路、实现细节、追问和公开来源。
系统设计面试:如何设计软件包与制品仓库?
设计支持发布、版本解析、内容寻址、并发下载、权限、缓存、撤回和供应链完整性的软件包与制品仓库。
前端面试:React key 如何控制状态保留与重挂载?
从可编辑列表错行和详情表单串状态出发,解释 React 如何按类型、位置与 key 判断组件身份,并给出稳定键、主动重置与状态保留的决策规则。
后端面试:如何设计支持部分失败的批量 API?
把原子批处理、部分成功、重试幂等和异步进度分开建模,让客户端能准确知道每个请求的结果而不会重复副作用。
数据工程面试:如何设计源系统与数仓的对账流水线?
围绕业务键、金额与条数校验、迟到数据、差异分级、重跑和审计,设计能定位并修复源系统与数仓不一致的对账流水线。
产品经理面试:如何改善 B2B SaaS 新用户引导与激活?
从工作区的首次真实价值出发,诊断 B2B SaaS 新用户引导的分群漏斗与摩擦类型,再用工作区级实验、长期留存护栏和发布矩阵决定上线、迭代或回退。
伪共享面试题:如何诊断并修复缓存行争用?
从八线程计数器不升反降的现象出发,用缓存一致性、HITM 与地址偏移证明伪共享,再比较隔离缓存行、线程本地聚合和分片计数的代价。
Java 并发面试:虚拟线程什么时候有用,什么时候会失效?
从阻塞 I/O、carrier 线程、pinning 和资源限流推导 Java 21 虚拟线程的适用边界,避免把它误当成更快的线程池。
系统设计面试:如何设计一个分布式限流服务?
从业务维度、算法、分布式计数、降级和可观测性出发,设计能保护依赖又不误伤正常用户的限流平台。
前端面试:JavaScript 事件循环如何工作?
从 task、microtask checkpoint 和渲染机会推导代码输出,解释微任务饥饿为何会卡住输入与绘制,并选择真正能让出主线程的拆分方案。
后端面试:如何为大规模且持续变化的列表设计稳定分页?
从 OFFSET 与 keyset 的代价出发,设计带唯一排序键、可验证游标和明确一致性语义的列表 API。
数据工程面试:如何治理指标定义、粒度与 Join?
从业务口径、实体粒度、时间窗口和安全 Join 出发治理指标,防止 DAU、收入与转化率因重复计数而失真。
产品经理面试:竞争对手推出免费版本,应该如何应对?
用证据阶梯判断竞品免费版本是否真正改变用户选择,再按威胁强度选择观察、强化定位、有限试验或调整产品与定价,并设置可逆的改判条件。
网络面试:TCP 如何检测并恢复丢包?
从字节序列、累计 ACK 和一条固定丢包时间线,推导超时重传、快速重传、SACK 与 RACK-TLP 的触发条件、拥塞代价和抓包判断方法。
Coding 面试:如何用虚拟节点实现一致性哈希环?
以公开 DoorDash 面试题为背景,实现 addNode、removeNode、getNode,推导碰撞处理、虚拟节点、不变量、复杂度和对抗测试。
系统设计面试:如何设计安全的 Leader Election 服务?
设计带租约、fencing token 和故障转移的 leader election,避免 split-brain 与旧 leader 继续写入。
前端面试:如何防止 Web 应用中的 XSS?
沿着不可信数据到浏览器注入点的路径排查风险,按产品意图选择文本渲染或 HTML 净化,并用 CSP、Trusted Types 和对抗测试补齐纵深防御。
后端面试:PUT 与 PATCH 应该如何选择?
从完整替换、部分修改、幂等性、并发条件与字段语义出发,设计一个不会静默覆盖数据的资源更新 API。
数据工程面试:如何设计可审计的分布式数据删除流水线?
覆盖数据发现、删除请求编排、下游传播、备份与保留例外,并用可证明的状态和审计记录避免“主库删了但数据仍在”。
产品经理面试:如何决定是否下线一个功能?
用依赖用户分层、机会成本、迁移门槛和分阶段退出计划,判断一个低使用率功能应该继续投入、进入维护模式,还是安全下线。
Linux 面试:epoll 的水平触发与边缘触发有什么区别?
从就绪语义、非阻塞读写和 EAGAIN 出发,解释 epoll 的 LT/ET、EPOLLONESHOT、写事件管理、公平性与停滞排查。
如何用 split 和 merge 实现 Treap?
从二叉搜索树与堆双重不变量推导 Treap,覆盖旋转替代、重复键、子树信息和期望复杂度。
系统设计面试:如何设计防篡改审计日志服务?
设计具备追加写入、完整性证据、租户隔离、留存、检索、导出和故障恢复能力的审计日志服务。
前端面试:浏览器 HTTP 缓存如何工作?
用一次静态资源发布故障讲清 HTTP 缓存的存储、新鲜度、协商验证与缓存键,并为 HTML、哈希资源、公共 API 和用户数据设计可验证的响应头。
后端面试:如何安全可靠地接收并处理 Webhook?
设计安全的入站 Webhook 接收器:基于原始请求验签并阻止重放,在确认前持久接收事件,去重重试,并安全处理乱序事件。