能力域 A
专业解题与实现
能否用岗位专业知识设计、实现和验证一个解法。
查看这个能力域如何映射到阶段要求。 打开能力模型
先选一项能力。每类只预览三题,进入后按考察重点分批阅读;预览不代表重要性排名。
309 道问题 · 9 项能力
计算机基础45
算法、操作系统、网络、数据库等原理,以及它们如何解释真实现象。
- 宏和代码生成经过多层展开后,编译错误只指向生成文件,使用者无法定位原始代码。你会怎样设计诊断信息?
- 增量编译很快,但改动共享头文件后偶尔没有重新编译所有依赖目标。你会怎样定位依赖追踪缺口?
- 编译器升级改变了结构体布局或调用约定,但部分插件仍按旧 ABI 构建。你会怎样管理兼容与迁移?
- 缓存能让读取变快,也可能让用户看到过期内容。你会怎样判断一份数据适不适合缓存,出错时又怎样发现?
- 两个任务单独运行都正常,一起运行时偶尔会卡死。死锁需要满足哪些条件,你会怎样确认是不是它?
- 页面空闲一段时间后,第一次请求明显比之后的请求慢。从网络层面看,可能有哪些原因,你会怎样区分它们?
- 一条查询的过滤列上已经建了索引,却仍然很慢。请讲讲索引查找是怎么工作的,以及哪些情况会让它帮不上忙。
- 一个长时间运行的进程内存持续增长,但没人能指出明显的泄漏。你怎样区分真正的泄漏、正常的缓存增长和内存碎片?
- 服务现在用多线程处理请求,同事建议改成多进程。你会从哪些方面比较两者,什么情况下你会反对?
- 一个图片很多的页面首屏打开很慢。你会怎样从现象一步步推回原因,并说明每种改进手段的代价?
- 从你写下一行代码到 CPU 执行它,中间发生了什么?选一门你熟悉的语言,讲讲主要阶段。
- 两个事务同时修改同一批数据,可能出现哪些异常?不同的隔离级别分别防住了什么,又付出了什么代价?
- 新增索引后查询变快了,但写入延迟和存储增长明显恶化。你会怎样判断索引是否值得保留?
- 异步任务启动后,调用方立刻修改了传入对象,偶发结果因此变化。你会如何判断这是共享可变状态、复制语义还是所有权问题?
- 两个看起来相同的用户名在系统里却被判断为不同,或两个不同写法被误认为相同。你会怎样分析 Unicode 规范化与身份比较?
- 一段视频从文件或网络到画面和声音播放出来,中间经历了哪些环节?解码、音画同步、卡顿和硬件加速分别怎样影响体验?
- 两个线程通过一个标志位传递“数据已准备好”的信号。为什么仅把标志位声明为原子类型仍可能不足以保证数据可见?
- 某存储服务从读多写少变成持续高写入,团队在 B 树和 LSM 路线间评估。你会根据哪些负载特征比较两者,并关注哪些读写放大代价?
- 多核程序中两个线程各自修改不同字段,性能却随核心数增加而下降。请解释缓存行共享可能怎样造成这种现象,以及代码层面如何验证。
- 一个服务把工作线程数从 16 提到 256 后,吞吐没有提升,CPU 使用率反而更高。你会怎样解释上下文切换可能造成的影响,并用什么证据验证?
- 服务已经切到新地址,一些用户仍连着旧节点,不同网络的恢复时间也不同。你会怎样检查 DNS 缓存、客户端缓存和现有连接?
- 一个搜索框输入后界面短暂冻结,网络请求很快完成。你会如何用事件循环、任务队列和主线程占用解释现象,并确定长任务来源?
- 滚动列表时帧率下降,Performance trace 中反复出现 layout。你会如何判断代码是否触发布局抖动,并说明读写 DOM 的顺序为何重要?
- 服务平均耗时稳定,但最慢 1% 的请求会周期性变慢,时间点与内存分配高峰接近。你会如何判断垃圾回收是否是原因,并区分其他暂停来源?
- 一个请求启动了多个异步任务;客户端断开或请求超时后,部分下游工作仍占用线程和连接。你会怎样让取消信号传到相关任务,并释放资源?
- 一组异步回调打印出的循环变量总是相同或与预期不同。请用你熟悉的一种语言解释变量绑定和闭包捕获,并给出可验证的修正方向。
- 编译器可能重排或消除代码。哪些程序行为允许优化器改变,哪些外部可观察行为必须保持?请用一个并发或 I/O 例子说明。
- 某对象重写了相等判断,却仍使用默认哈希实现,放入哈希集合后出现查找失败。请解释相等与哈希接口约定,并说明如何构造测试。
- 一个库的泛型信息在运行时不可直接获得,导致反射或序列化代码无法按预期工作。请解释类型擦除会影响哪些运行时行为,并说明替代设计。
- 一台机器开始频繁发生 major page fault,同时磁盘 I/O 升高。你会怎样判断工作集变化、内存压力和应用访问模式各自的作用?
- 客户端报告请求偶发超时,但服务端处理时间正常。你会怎样利用 TCP 重传、RTT 和连接状态等信息判断延迟发生在哪一段?
- 两个进程都访问地址 0x1000,为什么通常不会读写到同一块物理内存?请从地址转换和操作系统职责解释。
- 服务部署到多路CPU机器后,线程在NUMA节点间迁移,内存访问延迟出现波动。你会如何结合CPU亲和性、内存分配和调度行为设计验证?
- 服务完成证书轮换后,短连接正常,但部分客户端在长连接断开后重新连接或恢复会话时握手失败。你会怎样区分证书链、会话恢复、连接池和客户端缓存的影响?
- 移动网络从Wi-Fi切换到蜂窝网络时,部分HTTP/3请求失败但会话仍显示在线。你会如何检查路径迁移、超时和中间网络设备的影响?
- 程序先写入数据文件再更新索引,但断电恢复后索引指向不完整内容。你会如何分析写入顺序、刷盘语义和恢复协议?
- 两个请求几乎同时检查某个业务对象不存在,然后都尝试创建,应用层的“先查再写”偶尔产生重复数据。你会从事务隔离、唯一约束和冲突处理说明如何保证业务不变量?
- 一个函数在多线程下看起来只读,但它调用的格式化库内部使用共享缓冲区,偶尔产生串扰。你会如何区分线程安全、可重入和无状态,并判断应在哪一层修复?
- 某个共享缓存读多写少,团队准备把互斥锁替换为读写锁。你会先收集什么证据,并如何判断复杂度是否值得?
- 一笔跨数百万记录的迁移无法放进单个事务。业务要求用户不能看到半完成状态。你会如何设计分批写入、可见性和恢复?
- 服务用浮点数累计金额,长期运行后对账差异逐渐扩大。你会怎样确定误差来源,并重构计算与迁移历史数据?
- 服务 CPU 平均使用率只有 35%,但请求队列持续增长,部分线程等待外部 I/O。你会怎样识别真实容量瓶颈?
- 数据库存储膨胀,清理任务反复扫描却无法回收空间;同时存在运行数小时的报表事务。你会如何定位与治理?
- 实例的健康检查只验证进程存活,但用户请求因关键依赖超时而失败。若把依赖检查都加进探针,又可能导致全量摘除。你会如何设计?
- 多个区域独立接收同一请求,请求去重记录会在一段时间后过期,机器时钟可能偏差数秒。你会怎样确保临近过期时重试不会产生重复写入?
当前目标在这里暂无匹配题。 ·
编码与抽象29
把需求写成正确、可读、可演进的代码,并选择合适的抽象。
- 写代码时,你通常怎样处理空值、空字符串、越界和非法输入?说一次你因为没做前置校验,在测试或线上出了问题的经历,你从中改变了什么习惯?
- 一个报名表单会因为重复提交和弱网重试出现状态不一致。你会怎样梳理它的状态与转换,并决定哪些逻辑抽成独立单元?
- 实现一个很小的缓存,容量满时淘汰最久未使用的条目。各操作需要什么时间复杂度,你会先写哪些测试?
- 用户正在编辑内容时,App 被系统在后台回收。用户回来后,你怎样保证内容和页面状态不丢,又不会恢复出过期数据?
- 你需要一个既能快速插入、快速查找,又能按顺序遍历的结构。你会如何在几种候选结构之间选择,又会放弃什么?
- 写代码和做代码评审时,你有哪些已经形成习惯的检查点,用来防止循环里查数据库、大对象长期不释放这类性能问题?你怎样知道它们真的有效?
- 请实现一个重试封装:调用外部服务失败时按规则重试,同时不让重试压垮对方。先说明接口,再写代码,并说明怎样让它在测试里可确定地运行。
- 需要校验一个很大的 CSV 文件,但不能把整份文件读入内存;遇到格式错误时还要报告行号并继续检查。你会怎样设计解析接口?
- 框架允许界面在后台并发更新,但慢请求的旧结果偶尔覆盖新选择。你会怎样设计并发状态更新?
- 复杂表单同时有字段校验、跨字段规则和服务端错误,用户编辑时状态彼此覆盖。你会怎样划分框架状态与业务状态?
- 多个页面共用服务端数据,框架缓存减少请求,却在用户切换账号后暴露旧结果。你会怎样设计缓存键和失效边界?
- 请实现一个支持并发读写、按条目过期并可清理过期数据的映射。你会如何定义过期语义、同步边界和确定性测试?
- 实现一个深度相等函数,输入可能包含嵌套数组、共享引用和循环引用。请先定义相等语义,再说明如何避免无限递归与错误地混淆引用结构。
- 实现一个小型任务队列,支持并发 worker、任务取消和失败重试;测试不能依赖真实 sleep。你会怎样设计调度接口和状态转换?
- 实现一个逐块接收 UTF-8 数据的增量日志解析器:输入块可能截断多字节字符、字段顺序变化,也可能包含多条记录或超长单行。请定义解析状态、错误恢复策略和内存上限,并实现可重复解析的核心逻辑。
- 第三方工具包的回调更新了数据,但界面没有刷新;手动触发刷新后又出现重复更新。你会怎样判断框架的刷新边界,并确定正确接入点?
- 一个服务被声明为单例后,不同用户请求偶尔读到彼此的临时状态。你会如何解释依赖注入生命周期与请求作用域,并设计安全的对象边界?
- 一个列表项从记录 A 更新为记录 B 后,输入框仍保留 A 的草稿。你会如何解释组件身份、key 和状态复用之间的关系,并选择修复位置?
- 一个自定义弹层鼠标操作正常,但键盘用户无法可靠进入、关闭或返回原位置。你会检查哪些焦点管理行为,并如何验证修复?
- 请设计一个可复用的长列表虚拟化组件:滚动窗口只渲染可见项,但行内选择状态不能因回收和复用 DOM 而串到其他数据。你会怎样定义接口并测试?
- 给你一组可能大于内存容量的记录,需要分批处理并允许调用方取消任务。请说明或实现一个接口,使内存占用有界、错误可定位、取消后不再启动新批次。
- 多个调用方都在读取一份不断增加字段的配置文件,旧字段可能缺省,新版本还要支持未知扩展字段。你会如何设计解析接口,让默认值、校验错误和向后兼容行为可以被调用方理解?
- 输入是一组可能重叠、端点可相接的时间区间,调用方需要查询某个时刻对应哪些记录。请说明或实现归并与查询策略,并明确边界是否包含端点。
- 接口新增了一种状态,但旧客户端可能不认识该值;部分客户端必须继续展示记录,另一些关键操作则必须拒绝未知状态。你会如何设计解析和默认行为,避免未知值被误当成有效状态?
- 事件会以流的方式到达,少量重复可能间隔数小时;程序需限制内存,并在进程重启后继续保持去重效果。你会如何说明时间窗口、持久化状态和误判边界?
- 多个产品团队通过 CSS 覆盖共享组件样式,升级后频繁回归。你会如何判断应增加配置、拆分组件还是保留例外?
- 输入包含大量带时间戳的记录,要求返回分数最高的 K 项,分数相同时保留较早项。你会怎样实现并分析边界?
- 多个数据源各自按时间排序,但总量远大于内存。请说明如何合并输出,并处理单个数据源短暂变慢或断开的情况。
- 你要为异步函数增加重试与超时,最终失败时调用方仍需知道每次尝试的错误和是否已产生副作用(重复执行、越权等额外影响)。会如何设计返回值?
当前目标在这里暂无匹配题。 ·
调试与定位24
从现象出发缩小范围、提出假设、验证并修复。
- 你的接口本地测试正常,联调时前端同学坚持说接口报错或没返回数据。你会用哪些手段去定位,又怎样拿出让对方信服的证据?
- 缓存失效后,大量请求同时回源,服务恢复时又出现第二次流量尖峰。你会怎样定位并抑制缓存击穿与预热风暴?
- 线上偶尔出现同一订单被提交两次,你在本地无法复现。你会怎样缩小范围,并决定先止血还是先补观测?
- 一个接口从昨天开始变慢,但没有任何发布记录。给你日志、监控和数据库慢查询记录,你会按什么顺序排查?
- 把一个很大的前端包拆成多个小包以后,首屏反而更慢了。你会怀疑哪些原因,怎样验证?
- 缓存键已失效,应用日志显示重新读取数据库,但部分用户仍看到旧资料;切换到主库后问题减少却没有消失。你会怎样沿缓存、副本和客户端定位?
- API 延迟升高时数据库 CPU 很低,但应用日志出现等待连接。你会如何区分连接泄漏、池容量不足和慢事务占用?
- 一个列表页面滚动卡顿,但网络指标正常、内存也未明显增长。你会如何判断是主线程计算、布局/绘制还是锁等待导致?
- 数据库字段变更完成后,只有部分下游任务间歇性失败。你会怎样找出仍在使用旧接口约定的消费者,并确定回滚还是兼容修复?
- 对账任务发现同一业务对象的事件时间顺序偶尔倒置,日志又分布在多个区域。你会如何判断是时钟偏差、异步延迟还是业务排序规则的问题?
- 月度汇总与明细报表最初一致,几周后差异逐渐扩大。你会如何把问题缩小到规则变更、迟到数据、重复处理或历史回补?
- 一个关键依赖只在某个区域间歇性超时,整体健康检查仍显示正常。你会如何判断影响面,并安全地隔离或临时关闭非核心功能?
- 消息积压经常在扩容后下降,几小时后又反弹。你会检查哪些生产者、消费者和消息特征,以判断真正瓶颈在哪里?
- 服务平均耗时基本不变,但最慢 1% 的请求连续一周变慢,投诉集中在少数大客户。你会如何定位问题并决定先验证什么?
- 某页面服务端 HTML 正常,但水合后出现内容闪动并伴随控制台警告。你会如何定位服务端与客户端渲染结果的差异来源?
- 一次跨时区交接期间,关键告警已发送,但原值班人以为新值班人会处理,新值班人又没有收到确认;故障因此延迟升级。你会怎样还原责任链,修复告警确认与交接机制,并验证改动有效?
- 一次下游抖动后,上游流量没有明显增加,但请求数和队列长度翻倍,多个服务开始超时。你会怎样判断是否出现重试放大?
- 平均耗时稳定,但最慢 1% 请求的响应时间逐步变长,且不同租户差异明显。你会怎样区分排队、锁竞争、下游调用和资源隔离问题?
- 高峰时入口记录了请求,但下游没有对应事件,重试还会放大流量。你会如何沿着请求经过的服务逐段查找丢失和重复的位置?
- 服务刚发布时耗时正常,运行数小时后最慢 1% 请求逐步变慢,重启后暂时恢复;CPU 平稳,但连接数和堆内存缓慢增长。你会怎样拆解假设并设计低风险验证?
- 某功能在公司网络和多数家庭网络正常,但在特定运营商或弱网环境下请求经常超时;服务端错误率没有同步上升。你会如何定位客户端、网络路径、协议和重试策略之间的原因?
- 客户端只看到一次提交,但服务端偶尔出现两条相同记录;问题通常发生在请求超时后重试,且日志没有明显异常。你会如何重建调用时间线并验证重复写入发生在哪一层?
- 页面默认语言下布局正常,切换到另一种语言后少数按钮溢出、表格错位;错误只出现在窄屏和系统字体放大时。你会如何缩小问题范围并建立回归验证?
- 新安装设备正常,但升级过多个版本的用户报告本地草稿消失;问题无法稳定复现,服务端没有对应删除记录。你会如何保护现场并调查迁移、缓存清理和生命周期回调?
当前目标在这里暂无匹配题。 ·
系统设计74
澄清需求与约束,设计组件、权衡容量与故障。
- 用户更新账户设置后立即刷新,服务从只读副本读取到旧值。切主读会增加数据库负载,等待同步又可能超时。你会怎样设计一致性体验?
- 新字段需要补算数亿行历史数据,首轮脚本运行后线上锁等待和复制延迟都上升。你会怎样决定暂停、分批、限速或改用在线迁移?
- 服务把读请求切到副本后,写入成功的用户偶尔读不到刚才的修改。你会怎样界定并处理这种陈旧读取?
- 生产者日志显示事件已发布,Broker 也返回确认;消费者没有报错,但业务对象未变化。你会如何区分确认语义、处理失败的消息、过滤、反序列化和重复处理问题?
- 用户请求依次调用四个下游,每个服务都使用完整的 2 秒超时,导致整体尾延迟很高,客户端还会在响应失效后继续计算。你会如何传递截止时间和预算?
- 分片后总体容量充足,但少数租户的热点键仍持续超载。你会怎样重新评估分区策略?
- 两个服务都直接写同一张业务表,短期内不能停机改造,你会怎样逐步建立单一数据所有者?
- 订单已成功更新,但跨服务报表数分钟后才反映变化,产品要求展示“实时状态”。你会怎样定义并实现一致性预期?
- 跨服务流程包含扣款、库存预留和发货。后续步骤失败时,你会怎样确定哪些操作可以补偿、哪些难以撤回?
- 故障在服务交界处反复发生,每个团队都能证明自己的服务健康,但无人负责完整流程恢复。你会怎样修复责任链?
- 多个服务由不同团队维护,但一次小改动常需要三四个团队同步发布,你会怎样判断服务边界是否失效?
- 新功能增加了启动依赖,低端设备的冷启动明显变慢,但高端设备指标正常。你会怎样确定优化顺序?
- 用户离线编辑并排队了多条变更,恢复网络时登录令牌已过期,且部分请求可能已经被服务端处理。你会怎样设计重新登录、避免重复提交和冲突处理?
- 系统用预签名 URL 让用户直接下载私有文件,链接可能被转发或长期留存。你会怎样设计授权与失效边界?
- 一个大型运营后台的权限系统应该怎样设计?角色、数据范围、审批和审计怎样组织,权限越来越多时怎样不失控?
- 怎样设计一个文章编辑和发布系统?草稿、审核、定时发布、多渠道分发和事后修改,状态和数据应该怎样组织?
- 付款后发券原本是同步执行,现在要改成异步队列加重试。请审查这个改动:你最担心哪些失败过程,上线前要演练什么?
- 怎样设计一个音频或视频的在线编辑器?时间线、素材、非破坏性编辑、预览和最终导出,各自应该怎样设计?
- 怎样设计一个让运营自己搭建活动和玩法的平台?活动、玩法、规则和特征怎样抽象成可配置的组件,又怎样保证配置上线后的正确性?
- 在画任何架构图之前,你会用哪几个数字来判断一个服务要不要拆分、要不要加缓存?请用一个你熟悉的服务来说明。
- 怎样设计一个多人实时协同编辑的文档系统?多人同时修改同一段文字时,怎样保证最终一致,离线编辑后又怎样合并?
- 从工程角度,你怎样估算一个系统的整体成本?存储、计算资源这些成本分别怎么算,哪些会随规模线性增长,哪些不会?
- 业务要在多个国家和地区运营,用户数据要跨境流动。你怎样在系统和流程上解决数据合规,遇到规则不明确的灰色地带时,你怎么判断和决策?
- 本地数据库已更新,但缓存同步或下游消息发送失败。你会如何确保状态最终一致,并设计重试、补偿或人工处理?
- 明年大促或业务出海,预期增长五倍。从你现在的系统架构出发,你怎样检查网关、核心请求流程、存储和机器资源中的瓶颈?你打算分几个阶段、投入多少人力提前准备,又怎样验证判断?
- 怎样设计一个人和 AI 一起写作的产品?AI 的修改怎样呈现给用户、怎样接受或拒绝,人和 AI 同时编辑时怎样处理冲突?
- 怎样设计一个沉浸式的音视频信息流,让上下滑动时几乎没有等待?预加载、播放器复用、内存和流量怎样平衡?
- 请设计一个支持大文件上传的产品能力。你会先澄清哪些约束,再怎样逐层展开?
- 怎样设计一个大模型对话系统?流式输出、多轮上下文、历史记录、中断和重试分别怎么处理,成本和延迟怎么控制?
- 一个推荐系统的各项成本是怎么构成的,包括召回、排序、特征服务、存储和实验?你会怎样在效果和成本之间取舍?
- 怎样设计一个邀请裂变类的营销活动?邀请关系、奖励发放、防刷和效果评估分别怎样设计?
- 要做一个类似 Doc、PPT 或 PS 的在线编辑器,核心的数据模型和渲染怎么设计?撤销重做、选区和大文件的性能分别怎么处理?
- 怎样设计一个实时的风控系统?规则、特征、模型和人工审核怎样配合,误杀和漏放之间怎样取舍?
- 怎样设计一个搜索系统?索引、召回、排序怎样分工,中文分词和特征怎样构造,怎样评估搜索的好坏?
- 流媒体的加载和请求策略应该怎么设计,才能既起播快又不卡?分片、码率自适应、预加载和缓存之间怎样取舍?
- 讲一个你做过的项目:当时为什么选这个技术方案,而不是别的?这个决定是怎么做出来的,利弊分别是什么?
- 在交易系统里,优惠券、满减和秒杀应该怎样接入,才不会拖慢核心交易流程?优惠怎样计算、叠加和对账?
- 管理后台需要保留不可随意修改的操作记录,既支持按操作者和对象查询,也要应对数据量逐年增长。你会怎样设计写入、索引和保留策略?
- 消费者处理速度低于生产者,消息队列持续增长,但上游仍显示请求成功。你会怎样确定控制上游发送速度应作用在哪一层,并保护系统恢复能力?
- 支付创建接口需要支持安全重试。你会怎样定义防止重复扣款的请求标识,包括它的作用范围、保存期限和冲突处理规则?
- 订单写入数据库后需要发布事件给下游;进程可能在任一步骤崩溃。你会怎样设计持久化发布机制,并说明如何处理重复与顺序?
- 管理后台按创建时间翻页时,新增和删除会让用户看到重复或漏项。你会比较 offset 与游标分页,并定义何种一致性预期?
- 一个 API 部署在多个实例后,单机请求限制使总额度随实例数增加。你会根据突发容忍度、精度和故障策略设计请求速率限制,并说明状态放在哪里?
- 用户通过外部链接直接打开需要登录的订单详情页。你会怎样设计路由解析、登录回跳和权限校验,避免深链绕过应用内流程?
- 设计一个供多个业务团队提交“在某个时间之后执行”的任务服务,任务可能被取消、改期或重复提交。你会怎样划分数据模型和执行组件?
- 多个服务在请求路径中读取功能开关和分群规则。如何设计控制面与本地求值,让控制服务故障时线上行为仍然可预期?
- 加入鉴权、日志和异常处理中间件后,部分错误没有 trace id,且未授权请求仍触发昂贵的解析逻辑。你会如何分析执行顺序并重新安排边界?
- 页面的 HTML 很快返回,但用户仍长时间看不到主要内容。你会怎样沿着资源发现、下载、解析、执行和绘制过程定位阻塞点?
- 一个高流量服务需要把关键表从旧结构迁移到新模型,期间不能暂停读写。你会怎样组织迁移阶段并验证切换安全?
- 一个多人协作工具需要展示成员在线状态和正在编辑的位置;短暂延迟可以接受,但离线成员不能长期显示为在线。你会怎样设计状态更新和过期机制?
- 产品要向数千万用户发送事务通知和可选营销通知,用户可以随时调整渠道偏好。你会如何设计通知发送流程?
- 一个全球服务需要按地区启用不同功能和数据保留规则,同时总部仍要观察整体运行情况。你会怎样划分配置、执行和汇总边界?
- 一个搜索服务需要调整分词和排序特征,同时不能让重建过程造成长时间结果缺失或明显增加写入延迟。你会怎样安排索引演进?
- 一个订阅产品有试用、续费、宽限期、退款和家庭共享。如何设计权益判定,使多个业务服务读取到一致且可追溯的结果?
- 一个按用量计费的 API 产品需要把不同地区的请求事件汇总成客户账单,并允许事后纠错。你会如何设计计量数据处理流程?
- 一个多租户平台要向客户系统发送事件通知(Webhook)。你会如何设计发送和重试流程,并处理客户端长期不可用的情况?
- 多个客户共享异步作业平台,有的租户会提交大量长任务。你会怎样设计调度、隔离、配额,以及用日志、指标和调用记录了解队列运行情况?
- 某些对象成为热点,读取延迟恶化而写入又必须保持顺序。你会怎样划分缓存、分区和写入协调策略?
- 业务要求追溯每次状态变化,并在必要时安全地重新处理历史消息;但部分旧事件格式不完整。你会怎样设计事件版本、保留期限和重新处理范围?
- 跨区域服务需要在区域故障时维持关键功能,但部分数据不能接受冲突覆盖。你会怎样选择故障期间保留哪些功能、如何复制数据,以及如何恢复?
- 实时协作服务有大量长连接,慢客户端会积压更新。你会如何选择丢弃、合并、限制慢客户端接收和重新同步策略?
- 创建、编辑和审核由不同团队负责,表单反馈逐渐不一致。你会如何决定哪些模式统一、哪些保留差异?怎样检查加载、空白、错误和恢复状态?
- 用户可在手机离线修改资料,同时也可能在网页端编辑;设备恢复联网后必须同步,且不能静默覆盖有价值的更改。你会如何设计版本、冲突检测、合并和用户确认机制?
- 一个入口服务同时调用多个下游,其中一个非核心依赖偶尔变慢,导致请求线程耗尽并拖累其他功能。你会如何设计超时、并发隔离、必要时关闭非核心功能和恢复策略?
- 移动端上传大文件时网络可能中断,用户会重复点击重试;系统还按成功处理量计费。你会如何设计分片、校验、续传状态、最终提交和计费时点?
- 一次业务规则修正要求重算多个服务产生的历史记录,但部分消费者已经发送通知或执行外部动作。你会如何列出影响范围,决定哪些历史数据需要重新处理,并防止重复触发外部操作?
- 某依赖服务变慢后,多个调用方同时增加重试,流量反而翻倍并使故障范围扩大。你会如何设计重试预算、退避、抖动和跨服务协调?
- 线上索引需要改变分片键,数据量增长很快且写入不能停止。你会如何规划新旧索引并判断何时切换?
- 多租户查询平台使用共享数据库连接池,某个租户提交大量复杂报表后,其他租户请求延迟明显增加。你会如何隔离和计量?
- 某管理接口能批量改变客户状态,原本只供人工使用,后来被自动化脚本直接调用并造成大范围变更。你会如何重新设计权限和操作保护?
- 用户启动大型数据导出后断开连接,期间其访问权限又被收回。任务需要能续传,但不能继续泄露已无权访问的数据。你会如何设计?
- 产品信息同时存在于应用缓存、CDN 和客户端缓存,价格更新后不同用户看到不同值。你会怎样定义刷新、版本和失效语义?
- 实时仪表盘使用事件时间窗口,财务日报按结算时间汇总并排除未结账交易。负责人认为其中一个报表一定错了。你会怎样解释并治理?
- 每个读请求都写审计日志,成本迅速增加;合规团队又要求保留敏感操作证据。你会如何设计采集和保留分层?
当前目标在这里暂无匹配题。 ·
工程体系49
构建、发布、仓库协作与质量保障等工程基础设施。
- 值班人员每天收到大量告警,但用户投诉和服务目标违约仍会漏报。你会如何重新整理告警?
- 老系统持续叠加新业务,代码越来越难维护。你会如何在新旧系统之间建立适配边界,避免旧规则和数据模型渗入新业务?请说明迁移步骤,以及必须接受的妥协和风险。
- 说一次架构升级。为什么当时必须升级,而不是继续修补?迁移中遇到了哪些挑战,怎样保证业务不中断,最后收益是否兑现?
- 一项能力,你怎样决定是自研、采用开源,还是购买?自研和开源在成本、可控性、维护和风险上分别有什么差异,什么时候该从一种换成另一种?
- 仓库允许外部贡献者提交代码,自动检查与构建流程会读取测试凭证并构建发布包。你会怎样检查流水线中的信任边界和凭证暴露风险?
- 云成本连续上升,财务要求削减开支;与此同时,团队正处于可靠性改善阶段。你会怎样找出可削减成本且不转嫁风险的方案?
- 技术债怎样识别、记录,并在不停下业务交付的前提下还掉?哪些债值得还,哪些可以一直留着,你怎么判断?
- 你的方案依赖一个底层服务或库。如果它发生重大变化,你会怎样迁移、回退到保留核心功能的方案,或替换它?
- 一次故障还没有找到根因,但业务方要求你给出恢复时间。你会如何更新进展、表达不确定性并避免承诺误导?
- 你所在的技术方向,行业正在怎样发展?你的方案是在适配这个趋势,还是在逆着它走?
- 生产环境中的部分资源与代码声明不一致,其中一些差异来自未记录的紧急手工修复。你会怎样区分有意变更与无法解释的配置差异,评估覆盖风险,恢复可信状态并减少复发?
- 一次发布需要覆盖数千个运行节点,但节点版本和网络状态并不一致。你会怎样设计分批发布、健康验证和暂停条件?
- 一次发布后出现问题,团队说“我们可以回滚”。你会怎样检验这句话是真的,而不只是方案里写了回滚?
- 公司的多个前端项目分散在不同仓库,有人提议合并成 monorepo。你会怎样判断该不该做,又怎样分步验证?
- 应用发布可以回滚,但数据库迁移已经删除旧字段,旧版本因此无法启动。你会怎样重新设计发布顺序和回退策略?
- 这个项目带来了哪些技术上的收益?你怎样衡量它们,又为此付出了什么复杂度和维护成本?
- 升级前端框架后没有编译错误,但渲染时机、默认缓存或副作用顺序改变。你会怎样验证升级不会改变产品行为?
- 用户在一个子应用完成登录后,切换到另一个应用却丢失权限或会话状态。你会如何设计认证上下文的共享边界?
- 一个子应用发布“订单已完成”事件,其他模块各自解释不同,导致重复请求和页面状态分叉。你会怎样定义跨应用事件接口约定?
- 用户报告跨子应用跳转后页面空白,但各团队监控都没有异常。你会怎样补齐日志、指标和调用链,让团队可以跟踪用户从跳转到页面加载的完整过程?
- 独立开发的子应用集成后出现样式覆盖、主题不一致和弹层被裁剪,你会如何选择样式隔离策略?
- 多个前端模块都能独立构建,但上线仍必须同步协调。你会用什么证据判断它们是否真正具备独立交付边界?
- 一个大型前端难以并行交付,但一次性拆成多个子应用风险很高。你会怎样规划渐进迁移并判断每一步有效?
- 一个子应用启动异常会阻塞整个工作台,用户无法访问其他模块。你会怎样隔离故障,并在必要时关闭非核心功能、保住其他模块?
- 多个子应用依赖不同版本的 React 和组件库,重复下载与运行时冲突同时出现,你会怎样治理共享依赖?
- 多个子应用共享浏览器地址栏,浏览器前进后退、深链和登录重定向行为不一致。你会怎样定义路由接口约定?
- 代码改动后,构建系统有时漏掉受影响应用,有时又重建整个仓库。你会怎样验证依赖图和缓存失效规则?
- 一个仓库包含多个团队和生产部署配置,代码所有者规则无法覆盖临时管理员和自动化账号。你会怎样审视权限与审查边界?
- 两个产品包形成依赖环,拆分后又需要共享领域类型。你会怎样调整边界,避免用新公共包掩盖循环?
- 团队决定把一个大型仓库拆成多个仓库,但代码历史、自动检查与构建流程、包发布和代码所有权都有关联。你会怎样安排迁移顺序?
- monorepo 中公共包经常由某个团队顺手修改,使用方却在升级后才发现行为变化。你会怎样建立包所有权与兼容接口约定?
- 不同包发布节奏差异很大,但共享版本号让无关团队被迫同步发版。你会怎样设计版本与发布策略?
- 仓库有数百个包,完整自动检查与构建耗时很长,团队准备只测试受变更影响的部分。你会怎样证明选择性测试没有漏掉关键依赖?
- 构建仓库需要清理多年积累的镜像,但线上仍有服务依赖旧版本回滚。你会如何确定保留策略和制品可恢复要求?
- 组织要把多个仓库从旧的自动构建与检查平台迁到新平台,但团队不能同时停下交付。你会怎样分批迁移,并判断哪些仓库可以进入下一批?
- 客户端需要上传大文件,但系统可能随时暂停或终止后台任务。你会如何拆分任务、保存进度并保证重复调度不会破坏结果?
- 数百个仓库都锁定了不同版本的第三方依赖,安全团队发现高危漏洞时很难知道影响范围。你会怎样建立依赖更新和风险处置机制?
- 一个缺陷只在线上出现,开发和预发环境都无法复现。你会如何判断问题来自环境差异、流量形态还是数据特征,并改进环境设计?
- 用户更新后偶尔加载到新 HTML 和旧 JavaScript,页面因此报错。你会怎样设计静态资源命名、缓存策略和发布顺序来降低不一致?
- 多个团队共享仓库却有不同发布节奏,公共包变更经常阻塞无关团队。你会如何设计边界、影响分析和发布约定?
- 同一版本在不同集群表现不同,配置变更又没有完整审计。你会如何建立配置来源、差异检测和回滚能力?
- 多个团队复制共享组件并增加自有变体,产品体验逐渐不一致。你会如何判断哪些差异应进入共享设计系统,哪些应保留为团队特例?怎样让团队参与规则维护?
- 一个共享库发布了向后兼容的版本,但多个应用仓库因依赖锁定、生成代码或发布窗口不同,无法及时升级;安全修复因此被长期阻塞。你会如何设计兼容策略和依赖升级流程?
- 同一提交在开发者本地稳定通过,但自动构建与检查流程偶尔因时区、随机顺序、共享缓存或并行竞争而失败。你会如何分类、复现并减少这类不稳定问题?
- 一个功能已全量发布,但多年未清理的开关仍控制多个代码分支;团队不清楚哪些开关可删除,回滚时也依赖人工记忆。你会如何建立开关生命周期和清理责任?
- 多个团队可独立发布微前端模块,但页面加载、导航、错误提示和无障碍行为开始不一致。你会如何决定哪些能力由平台统一、哪些留给业务团队?
- 后端 API 同时生成 TypeScript、Java 和 Swift SDK,各语言的可空类型、枚举和错误模型逐渐不一致。你会如何设计接口约定源、生成流程和跨语言兼容测试?
- 生产环境发现一个依赖包与仓库标签对应的构建产物校验值不一致,团队无法确认来源是否经过预期的自动检查与构建流程。你会如何建立构建追溯、制品校验和发布授权?
- 新客户端已切到新版 API,但用户长期不升级,旧版本仍占有明显流量;继续兼容又限制服务端演进。你会如何确定支持窗口、能力探测、迁移提醒和停止服务的条件?
当前目标在这里暂无匹配题。 ·
AI 工程47
评估、检索、代理与模型应用的工程实现和边界。
- AI 助手可以代表用户创建工单、退款或修改账户。它发起退款时发生超时,系统不知道退款是否已经完成;自动重试可能造成重复退款。你会怎样确认操作结果、控制重试,并确保操作仍在用户授权范围内?
- 两个评审者对同一批 AI 输出的好坏经常意见相反,你会怎样判断这是标注分歧、评价标准含糊,还是模型本身不稳定?
- 你做了一个客服问答原型。怎样设计一组评估样本,来决定它只能作为辅助检索,还是可以直接对外回复?
- 一个算法模型和它依赖的特征,真正的成本包括哪些?训练、推理、特征计算与存储、数据标注和维护分别怎么算,怎样判断某个特征值不值得保留?
- 文档助手在多数场景下可以自动提交,但不同错误的后果差异很大。增加人工复核后,错误减少了,待审核任务却持续积压。你会怎样决定哪些任务自动处理、哪些交给人工,并让审核量不超过团队处理能力?
- 一个生成式功能的回答质量不错,但高峰时延和单次成本都超过产品约定。你会如何判断问题出在模型、上下文、检索还是调用链?
- 更换基础模型后,核心任务平均分数提高了,但少数重要客户的结果明显变差。你会如何决定是否发布、分批发布或回退?
- 公司要做一个内部知识问答助手,而文档权限会随人员变动。你会怎样让它既答得有依据,又不泄露不该看到的内容?
- 简历里写"用 AI 提升研发效率"信息量很低。你会怎样把它改写成别人能追问、能核验的一段经历?
- 知识问答助手的用户满意度下降,但离线检索指标没有变化。你会从哪些环节拆查这次退化?
- 让 AI 帮你审核一段配置,或生成一段代码,你怎样决定它能不能上线?
- 一份内部文档被撤回或改为限权后,检索索引、缓存和已生成的引用可能仍保留旧内容。你会怎样设计更新与验证机制?
- 线上回答出现了错误引用,但当时的提示词、模型版本和检索结果都没有完整记录。你会补哪些观测信息,才能既排查问题又控制敏感数据暴露?
- 新模型把总体准确率从 91% 提高到 94%,但错误仍集中在少数会影响客户权益的场景。团队希望按总体分数发布。你会如何定义发布判断?
- 知识问答助手引用了内部文档,但文档所属团队已更新流程,新版本还没有进入检索范围。你会怎样确定内容更新时限、更新流程,以及更新完成前该怎样回答?
- 一个多步骤 Agent 在开始时读取了项目权限,执行到第三步时用户被移出项目,但任务仍持有已签发的工具令牌。你会如何设计权限检查和取消语义?
- 更换嵌入模型后,新旧向量不可直接比较,但重建全量向量需要数天。你会怎样设计迁移和查询切换?
- 团队发现模型可能在公开语料或微调数据中见过部分内部评测题。你会如何判断离线成绩还能说明什么,并重建可信评测?
- 团队混合使用用户反馈、人工标注和合成样本做微调,之后收到部分来源数据需要删除的请求。你会如何追踪数据影响并判断需要重训到什么范围?
- 新模型离线评测提升,但少数高价值用户的回答质量可能下降。你会怎样安排小范围发布、观察结果,并判断何时扩大使用?
- 产品依赖外部模型接口,供应商可能限制调用频率或调整可用模型。你会如何设计切换规则和非核心功能的临时关闭方式,让切换后的质量变化可以被发现?
- 用户反馈答案听起来合理,却漏掉文档中的关键限制条件。你会怎样定位问题发生在解析、切分、召回、排序还是生成阶段?
- 离线评估持续提升,线上却出现特定用户群退化。你会检查哪些数据泄漏、切片覆盖和部署差异?
- 一个 AI 助手在少数请求上会反复调用搜索、数据库和外部 API,最终耗时和费用远高于平均值。你会如何设计单次任务的预算、停止条件、避免重复操作的保护和审计记录?
- AI 助手会从多个业务系统检索文档,而用户在不同系统中拥有不同权限。你会如何确保检索、缓存、摘要和引用都遵循原文权限,并处理权限撤销?
- AI 功能依赖的模型服务耗时波动很大,导致用户请求超过整体时限。你会如何为检索、模型调用和后处理分配时间,并设计超时后的核心功能保障方案?
- 用户提交长时间运行的 AI 分析后关闭页面,稍后又从另一设备查看进度;任务可能触发多个工具并产生部分结果。你会如何设计任务状态、取消、重试和结果可见性?
- 分析助手可以把自然语言转换为 SQL 查询业务库,用户提出的请求可能诱导它读取敏感列或执行昂贵查询。你会如何设计只读权限、查询校验、资源限制和结果脱敏?
- 一个模型开始返回结构化 JSON,移动端、服务端和分析任务按不同节奏升级;新字段可能缺省或改变枚举值。你会如何定义输出接口约定、校验失败处理和版本兼容?
- AI 助手会读取用户上传的文档,其中可能包含要求模型忽略既有规则并调用外部工具的文本。你会如何区分数据与指令,限制工具权限并验证防护效果?
- 模型已经向用户流式输出部分内容,随后连接中断或安全校验失败;客户端可能误以为答案完整。你会如何设计完成标记、撤回或补充提示和重试行为?
- 新模型的总体任务成功率持平,但不同语言、设备和使用经验的用户表现差异扩大。你会如何划分评估群体、控制样本量风险并决定是否继续扩量?
- 知识库中两份仍有效的政策给出不同要求,检索分数也接近。助手不能自行选择对用户最方便的一条。你会设计什么回答和升级路径?
- 新助手让用户给出的满意度评分提高,但实际任务完成率和重复咨询没有变化。你会如何判断这是否是真实改进?
- 模型响应可能回显客户身份信息,线上排障又依赖请求与结果日志。你会如何设计采集、脱敏、访问和保留策略?
- 用户看到响应时间翻倍,但模型推理耗时指标没有明显变化。你会怎样拆解请求处理的各个阶段,定位瓶颈并确定止损措施?
- 团队每周根据同一套固定评测集修改提示词和模型配置,分数持续上升,但新用户反馈没有改善。你会怎样重建评估可信度?
- 某模型在主要市场通过评测,在新地区因语言、术语和服务规则不同而表现不稳定。你会如何设定发布范围和后续门槛?
- 为降低推理成本,团队按问题文本缓存答案。但用户权限、知识库版本和地区规则可能不同。你会如何确定缓存键与失效机制?
- 评测集题目数量增加了,但很多题来自同一模板的轻微改写,模型分数因此显得稳定。你会怎样审查样本质量?
- 用户的自然语言请求缺少金额上限和目标账户,Agent 可以直接调用会转账或修改账户的工具。你会如何决定澄清、只给建议或要求确认?
- 模板只改了格式和示例,但影响了模型输出长度与工具调用频率。团队想跳过完整回归。你会如何建立风险分级?
- 新的安全策略减少了误拒答,同时让少数边界案例出现敏感信息泄露。产品团队希望保留总体满意度提升。你会如何评估?
- 托管模型没有提前通知就升级,常规健康检查仍通过,但分类边界和输出长度发生变化。你会如何建立保护?
- 安全策略上线后人工接管率增加一倍,但高风险错误减少。运营团队容量有限。你会如何判断结果并调整阈值?
- 模型把部分账户标记为高风险并自动拒绝服务,错误决定会影响客户权益。你会怎样设置验证、申诉和人工复核?
- 业务把“流失”从 60 天未登录改成 30 天未付费,历史训练集和模型仍按旧定义。你会怎样管理版本与比较?
当前目标在这里暂无匹配题。 ·
产品发现与体验设计16
通过用户研究、原型与体验设计澄清问题并验证方案。
- 工作台里有数百个对象,用户会按客户、状态、负责人或时间查找。现有导航按组织架构分组,用户常找不到目标。你会如何重新设计分类,并验证查找效果?
- 团队委托研究验证新仪表盘需求,但多数用户表示当前报表已经够用,只有少数高阶用户提出新需求。项目负责人希望突出支持改版的访谈。你会如何总结?
- 一次新功能研究中,少数高频用户强烈支持方案,但新手测试者普遍无法完成核心任务,分析数据也没有明显差异。你会怎样判断这些证据各自能说明什么,并决定继续、调整还是补做研究?
- 一次可用性测试里,主持人多次问“这个设计是不是更清楚”,用户都回答是。录像还显示他们完成任务时反复犹豫。你会如何处理数据和后续研究?
- 产品团队的访谈参与者几乎都是活跃用户和社区成员,最新改版评价很好,但留存仍然下滑。你会怎样重新设计招募和研究问题?
- 用户访谈中,对方不断建议增加按钮、筛选和提醒,却很少讲具体目标或受阻情境。你会如何调整问题顺序和措辞,区分真实经历、偏好表达与设计方案?
- 团队认为新流程更简单,但用户测试中只有熟悉产品的人能顺利完成;新手会停在权限说明和下一步入口。你会如何设计招募、任务和观察标准判断是否真的易用?
- 研究团队只能招募到活跃用户,却需要判断偶尔使用或已经流失的人为什么离开。你会如何识别样本偏差、调整招募方式,并限制结论可推广的范围?
- 一张运营表用红黄绿区分风险,部分用户无法分辨颜色,屏幕阅读器也只读出数值。你会如何改造信息表达?
- 新功能目标包括从未使用过产品的客户,但测试参与者都来自核心用户群。你会如何判断当前证据能支持哪些设计决策?
- 用户提交表单后看到“验证失败”,页面没有标明字段,也没有保留已填内容。你会怎样重新设计错误与恢复路径?
- 管理后台桌面表格包含 14 列,移动端用户需要现场处理异常。你会如何确定保留、隐藏或改为详情页的内容?
- 仪表盘标出指标异常,却没有显示变化范围、改动前的参照数据和关联事件。用户只能导出数据再自行解释。你会如何改善诊断能力?
- 评审意见集中在“看起来不够高级”或“我不喜欢这个颜色”,但团队没有统一用户目标。你会如何主持下一次评审?
- 运营人员、经理和审计人员共用一个工作台,各自需要不同信息与操作权限。你会如何设计默认视图和个性化?
- 产品面向专业用户,流程必须出现行业术语,但新用户常因此中断或选择错误。你会如何设计理解支持?
当前目标在这里暂无匹配题。 ·
质量、安全与防护13
设计质量验证、可靠性、安全、隐私与风险防护。
- 一个长期凭证被多个服务共享,安全要求尽快轮换,但无法一次性停掉所有依赖方。你会怎样推进?
- 你接手一个即将上线、测试覆盖率很低的模块,时间有限。你会怎样决定先补哪些测试,并向团队解释这个顺序?
- 核心流程只通过鼠标测试通过,键盘或屏幕阅读器用户无法完成操作,你会怎样把无障碍要求纳入交付门禁?
- 一项跨多个页面和服务的关键用户流程经常回归,你会怎样确定自动化测试的边界和优先级?
- 用户要求删除个人数据,但部分记录进入了备份、分析仓库和下游系统,你会怎样设计可验证的删除流程?
- 一个广泛使用的依赖被披露存在高危漏洞,但升级可能带来兼容性问题,你会怎样安排处置顺序?
- 服务故障已超过目标允许范围,但业务又有明确的功能交付承诺。你会怎样调整发布节奏和可靠性投入?
- 备份任务显示成功,但团队从未验证过恢复后的数据完整性和恢复时间,你会怎样建立可证明的恢复能力?
- 新接入的外部服务会接触用户数据并触发内部操作,你会怎样做轻量但有效的威胁建模?
- 一个关键完整流程测试偶尔失败,团队开始重跑直到通过。你会怎样确定它是否真实暴露产品风险,并改进测试流程?
- 多个团队把脱敏数据复制到开发、预发和性能环境,数据刷新频率各不相同。你会怎样设计测试数据的权限、生命周期和可复现性?
- 核心服务的月度可用性仍达到目标,但故障额度消耗速度突然加快,且错误集中在一个新发布的功能。你会如何判断是否暂停发布或回滚?
- 用户可上传压缩包供系统解析,历史事故显示恶意文件会耗尽资源或越权访问路径。你会如何设计隔离、解压限制、内容检测和安全失败策略?
当前目标在这里暂无匹配题。 ·
AI 评估与治理12
为 AI 系统建立评估、权限、风险监控、人工介入与责任边界。
- 模型在公开基准上持续提升,但内部任务表现停滞,你会如何排查评估失真?
- 产品希望 AI 给出看似确定的结论,但证据只能支持概率性判断,你会怎样设计表达与追溯?
- AI 输出造成实际用户损害后,产品、模型、运营和审核团队都参与了处理。你会怎样划分处置和改进责任?
- 更换基础模型后,整体指标相近但部分用户反馈明显变差。你会怎样发现模型行为发生了哪些变化,并判断是否需要回退?
- 需要抽查线上 AI 对话来发现新风险,但对话含有个人或商业敏感信息,你会怎样设计?
- 第三方模型服务的训练、留存或跨境条款发生变化,哪些情况需要暂停调用或重新审批?
- AI 功能的平均质量达标,但少数高风险错误仍会造成损害,发布门槛怎么定?
- AI 助手可以调用内部工具,但不同任务需要不同权限,你会怎样设计授权与审计?
- 模型无法确认答案时,产品应该拒答、给出低置信结果还是转人工?你会依据什么区分?
- AI 功能总体准确率合格,但某类语言或用户群的错误率更高,你会怎样判断和处理?
- 新模型在离线测试集上的总体得分明显提高,但上线小流量后,某类真实用户的任务完成率下降,投诉也增加。你会如何判断评估集、指标和发布决策哪里失真?
- 团队需要保留真实用户对话来复现模型错误,但日志包含个人信息和敏感业务内容。你会如何设计最小采集、脱敏、访问授权和保留期限,同时保留足够的调试价值?
当前目标在这里暂无匹配题。 ·