面试真题讲解
逐题讲清解题思路、关键实现与常见追问。
算法面试:最少需要多少间会议室?
把会议区间转化为同时占用资源数,用双数组扫描线求最少会议室,并通过重叠深度证明最优性,覆盖半开区间、同刻事件、堆解法与房间分配追问。
行为面试:讲一次你需要快速赢得信任的经历
用 STAR 讲清你如何识别信任缺口、约定有限承诺、交付可核验证据,并证明他人开始愿意依赖你的判断。
产品经理面试:如何减少通知疲劳又不影响关键任务?
设计一套通知策略,在保障限时用户任务的同时减少低价值打扰、退订和局部指标博弈。
后端面试:如何设计安全的 API Key 认证?
设计覆盖安全签发、验证、授权、轮换、吊销、限额与泄露响应的 API Key 全生命周期。
Linux 面试:硬链接与符号链接有什么区别?
通过目录项、inode、链接计数、重命名、删除和已打开文件描述符,解释硬链接与符号链接,并判断快照固定、版本切换和跨文件系统引用应该选哪一种。
SQL 面试:计算滚动 7 日活跃用户数
通过日期脊柱、按时区去重的用户日粒度和每个滚动窗口的去重并集,准确计算滚动 7 日活跃用户,并处理日期缺口、迟到事件与规模问题。
前端面试:如何设计无障碍表单验证与错误恢复?
用原生约束、字段错误、错误汇总、服务端权威校验和防竞态异步反馈组成完整恢复流程,同时避免焦点与播报互相干扰。
系统设计面试:设计附近地点搜索服务
从查询圆推导地理空间候选集、精确距离复核和稳定分页,设计能处理边界、热点区域、缓存失效与分片故障的附近地点搜索服务。
编程面试:用拓扑排序解决外星词典
从已排序词表中只提取有依据的字符先后约束,再用拓扑排序还原未知字母表。掌握无效前缀、环检测、正确性证明、多解判断和对抗性测试。
产品经理面试:设计一款多人旅行规划产品
围绕共同约束、公平决策和明确承诺点设计多人旅行规划产品。掌握如何确定 MVP、降低组织者负担、定义群组级指标,并验证规划结果是否真正可执行。
后端面试:如何设计安全的 Web 会话管理?
设计能抵御会话固定、窃取、重放、权限陈旧和撤销竞态的服务端会话。理解 Cookie 控制、轮换、超时、全端退出和攻击用例测试如何组成完整生命周期。
行为面试:讲一次你向利益相关者传达坏消息的经历
用 STAR 讲清你如何核实坏消息、尽早沟通影响与不确定性、提出可决策选项,并通过负责人和复查节点把承诺闭环。
前端面试:如何实现防抖和节流?
从明确的时间语义推导防抖与节流实现,覆盖 leading、trailing、maxWait、取消、立即执行、上下文保留和确定性时间线测试。
系统设计面试:如何设计服务发现系统?
为动态多地域服务设计注册、健康判断与端点传播,重点推导控制面和数据面解耦、陈旧性边界、滚动发布及故障验证。
数据工程面试:什么时候该用批处理、微批处理或流处理?
从业务行动时限推导批处理、微批处理与连续流处理的选择,并用时延预算、结果修订、成本和灰度验证证明方案。
Linux 面试:如何诊断并修复僵尸进程?
从僵尸进程反查未回收子进程的父进程,区分不同的 fork 限制,安全恢复服务,并给出主机与容器中的永久修复和验证方法。
算法面试:如何用迭代 DFS 计算岛屿数量?
从连通分量建模推导原地迭代 DFS,解释为何要在入栈时标记,并覆盖复杂度、正确性、边界测试与替代方案。
行为面试:讲一次你与工作方式不同的人协作的经历
用 STAR 讲清如何把工作方式差异拆成可观察行为,共同约定沟通、决策和交接接口,并用交付与合作质量两类证据验证调整有效。
前端面试:如何诊断并修复 Layout Thrashing?
解释 DOM 写入与几何读取交替执行为何会反复触发同步布局,并通过性能录制、读写分批和有针对性的渲染调整完成修复与验证。
产品经理面试:为盲人设计一款闹钟
从盲人独立完成的睡前与起床任务出发,推导触觉和语音冗余的实体闹钟 MVP,并用可访问研究、错误恢复、硬件可靠性和用户结果验证方案。
后端面试:什么时候应该选择 REST 或 gRPC?
通过公共 API、内部高吞吐调用和第三方回调三个边界,学习按消费者、通信模式、契约、失败语义和运维能力选择 REST 或 gRPC,并设计可验证的混合架构。
系统设计面试:如何设计搜索自动补全服务?
从容量估算出发,设计低延迟搜索自动补全服务,并拆清离线排序、在线前缀查询、版本发布、内容安全和故障恢复。
数据工程面试:如何设计表分区并验证分区裁剪生效?
从查询谓词、数据量、倾斜和维护成本推导分析表的分区方案,再用执行计划、扫描字节和正确性检查证明分区裁剪真实生效。
Linux 面试题:什么时候应该用单调时钟,而不是墙上时钟?
用超时、日历任务、系统休眠和跨机器排序四类场景,分清 CLOCK_REALTIME、CLOCK_MONOTONIC 与 CLOCK_BOOTTIME,并建立可测试的时钟选择规则。