岗位
AI 工程
这些题与问题库里的是同一批,这里按各自主要考察的能力分组。
1175 道问题
本页为第 151–200 题,共 1175 题。
A · 专业解题与实现49
- 构建仓库需要清理多年积累的镜像,但线上仍有服务依赖旧版本回滚。你会如何确定保留策略和制品可恢复要求?
- 两个线程通过一个标志位传递“数据已准备好”的信号。为什么仅把标志位声明为原子类型仍可能不足以保证数据可见?
- 管理后台需要保留不可随意修改的操作记录,既支持按操作者和对象查询,也要应对数据量逐年增长。你会怎样设计写入、索引和保留策略?
- 消费者处理速度低于生产者,消息队列持续增长,但上游仍显示请求成功。你会怎样确定控制上游发送速度应作用在哪一层,并保护系统恢复能力?
- API 延迟升高时数据库 CPU 很低,但应用日志出现等待连接。你会如何区分连接泄漏、池容量不足和慢事务占用?
- 支付创建接口需要支持安全重试。你会怎样定义防止重复扣款的请求标识,包括它的作用范围、保存期限和冲突处理规则?
- 订单写入数据库后需要发布事件给下游;进程可能在任一步骤崩溃。你会怎样设计持久化发布机制,并说明如何处理重复与顺序?
- 管理后台按创建时间翻页时,新增和删除会让用户看到重复或漏项。你会比较 offset 与游标分页,并定义何种一致性预期?
- 一个 API 部署在多个实例后,单机请求限制使总额度随实例数增加。你会根据突发容忍度、精度和故障策略设计请求速率限制,并说明状态放在哪里?
- 某存储服务从读多写少变成持续高写入,团队在 B 树和 LSM 路线间评估。你会根据哪些负载特征比较两者,并关注哪些读写放大代价?
- 多核程序中两个线程各自修改不同字段,性能却随核心数增加而下降。请解释缓存行共享可能怎样造成这种现象,以及代码层面如何验证。
- 组织要把多个仓库从旧的自动构建与检查平台迁到新平台,但团队不能同时停下交付。你会怎样分批迁移,并判断哪些仓库可以进入下一批?
- 请实现一个支持并发读写、按条目过期并可清理过期数据的映射。你会如何定义过期语义、同步边界和确定性测试?
- 实现一个深度相等函数,输入可能包含嵌套数组、共享引用和循环引用。请先定义相等语义,再说明如何避免无限递归与错误地混淆引用结构。
- 实现一个小型任务队列,支持并发 worker、任务取消和失败重试;测试不能依赖真实 sleep。你会怎样设计调度接口和状态转换?
- 实现一个逐块接收 UTF-8 数据的增量日志解析器:输入块可能截断多字节字符、字段顺序变化,也可能包含多条记录或超长单行。请定义解析状态、错误恢复策略和内存上限,并实现可重复解析的核心逻辑。
- 一个服务把工作线程数从 16 提到 256 后,吞吐没有提升,CPU 使用率反而更高。你会怎样解释上下文切换可能造成的影响,并用什么证据验证?
- 数据库字段变更完成后,只有部分下游任务间歇性失败。你会怎样找出仍在使用旧接口约定的消费者,并确定回滚还是兼容修复?
- 对账任务发现同一业务对象的事件时间顺序偶尔倒置,日志又分布在多个区域。你会如何判断是时钟偏差、异步延迟还是业务排序规则的问题?
- 月度汇总与明细报表最初一致,几周后差异逐渐扩大。你会如何把问题缩小到规则变更、迟到数据、重复处理或历史回补?
- 一个关键依赖只在某个区域间歇性超时,整体健康检查仍显示正常。你会如何判断影响面,并安全地隔离或临时关闭非核心功能?
- 消息积压经常在扩容后下降,几小时后又反弹。你会检查哪些生产者、消费者和消息特征,以判断真正瓶颈在哪里?
- 服务平均耗时基本不变,但最慢 1% 的请求连续一周变慢,投诉集中在少数大客户。你会如何定位问题并决定先验证什么?
- 设计一个供多个业务团队提交“在某个时间之后执行”的任务服务,任务可能被取消、改期或重复提交。你会怎样划分数据模型和执行组件?
- 数百个仓库都锁定了不同版本的第三方依赖,安全团队发现高危漏洞时很难知道影响范围。你会怎样建立依赖更新和风险处置机制?
- 服务已经切到新地址,一些用户仍连着旧节点,不同网络的恢复时间也不同。你会怎样检查 DNS 缓存、客户端缓存和现有连接?
- 一个缺陷只在线上出现,开发和预发环境都无法复现。你会如何判断问题来自环境差异、流量形态还是数据特征,并改进环境设计?
- 多个服务在请求路径中读取功能开关和分群规则。如何设计控制面与本地求值,让控制服务故障时线上行为仍然可预期?
- 一个关键完整流程测试偶尔失败,团队开始重跑直到通过。你会怎样确定它是否真实暴露产品风险,并改进测试流程?
- 一个服务被声明为单例后,不同用户请求偶尔读到彼此的临时状态。你会如何解释依赖注入生命周期与请求作用域,并设计安全的对象边界?
- 加入鉴权、日志和异常处理中间件后,部分错误没有 trace id,且未授权请求仍触发昂贵的解析逻辑。你会如何分析执行顺序并重新安排边界?
- 服务平均耗时稳定,但最慢 1% 的请求会周期性变慢,时间点与内存分配高峰接近。你会如何判断垃圾回收是否是原因,并区分其他暂停来源?
- 一个高流量服务需要把关键表从旧结构迁移到新模型,期间不能暂停读写。你会怎样组织迁移阶段并验证切换安全?
- 一个请求启动了多个异步任务;客户端断开或请求超时后,部分下游工作仍占用线程和连接。你会怎样让取消信号传到相关任务,并释放资源?
- 一组异步回调打印出的循环变量总是相同或与预期不同。请用你熟悉的一种语言解释变量绑定和闭包捕获,并给出可验证的修正方向。
- 编译器可能重排或消除代码。哪些程序行为允许优化器改变,哪些外部可观察行为必须保持?请用一个并发或 I/O 例子说明。
- 某对象重写了相等判断,却仍使用默认哈希实现,放入哈希集合后出现查找失败。请解释相等与哈希接口约定,并说明如何构造测试。
- 一个库的泛型信息在运行时不可直接获得,导致反射或序列化代码无法按预期工作。请解释类型擦除会影响哪些运行时行为,并说明替代设计。
- 一个多人协作工具需要展示成员在线状态和正在编辑的位置;短暂延迟可以接受,但离线成员不能长期显示为在线。你会怎样设计状态更新和过期机制?
- 产品要向数千万用户发送事务通知和可选营销通知,用户可以随时调整渠道偏好。你会如何设计通知发送流程?
- 一次跨时区交接期间,关键告警已发送,但原值班人以为新值班人会处理,新值班人又没有收到确认;故障因此延迟升级。你会怎样还原责任链,修复告警确认与交接机制,并验证改动有效?
- 一台机器开始频繁发生 major page fault,同时磁盘 I/O 升高。你会怎样判断工作集变化、内存压力和应用访问模式各自的作用?
- 一个全球服务需要按地区启用不同功能和数据保留规则,同时总部仍要观察整体运行情况。你会怎样划分配置、执行和汇总边界?
- 一次下游抖动后,上游流量没有明显增加,但请求数和队列长度翻倍,多个服务开始超时。你会怎样判断是否出现重试放大?
- 一个搜索服务需要调整分词和排序特征,同时不能让重建过程造成长时间结果缺失或明显增加写入延迟。你会怎样安排索引演进?
- 一个订阅产品有试用、续费、宽限期、退款和家庭共享。如何设计权益判定,使多个业务服务读取到一致且可追溯的结果?
- 客户端报告请求偶发超时,但服务端处理时间正常。你会怎样利用 TCP 重传、RTT 和连接状态等信息判断延迟发生在哪一段?
- 多个团队把脱敏数据复制到开发、预发和性能环境,数据刷新频率各不相同。你会怎样设计测试数据的权限、生命周期和可复现性?
- 一个按用量计费的 API 产品需要把不同地区的请求事件汇总成客户账单,并允许事后纠错。你会如何设计计量数据处理流程?
当前目标在这里暂无匹配题。 ·
D · 交付执行与持续运营1
当前目标在这里暂无匹配题。 ·