岗位
通用工程
这些题与问题库里的是同一批,这里按各自主要考察的能力分组。
1313 道问题
本页为第 151–200 题,共 1313 题。
A · 专业解题与实现13
- 构建仓库需要清理多年积累的镜像,但线上仍有服务依赖旧版本回滚。你会如何确定保留策略和制品可恢复要求?
- 两个线程通过一个标志位传递“数据已准备好”的信号。为什么仅把标志位声明为原子类型仍可能不足以保证数据可见?
- 管理后台需要保留不可随意修改的操作记录,既支持按操作者和对象查询,也要应对数据量逐年增长。你会怎样设计写入、索引和保留策略?
- 消费者处理速度低于生产者,消息队列持续增长,但上游仍显示请求成功。你会怎样确定控制上游发送速度应作用在哪一层,并保护系统恢复能力?
- API 延迟升高时数据库 CPU 很低,但应用日志出现等待连接。你会如何区分连接泄漏、池容量不足和慢事务占用?
- 支付创建接口需要支持安全重试。你会怎样定义防止重复扣款的请求标识,包括它的作用范围、保存期限和冲突处理规则?
- 订单写入数据库后需要发布事件给下游;进程可能在任一步骤崩溃。你会怎样设计持久化发布机制,并说明如何处理重复与顺序?
- 管理后台按创建时间翻页时,新增和删除会让用户看到重复或漏项。你会比较 offset 与游标分页,并定义何种一致性预期?
- 一个 API 部署在多个实例后,单机请求限制使总额度随实例数增加。你会根据突发容忍度、精度和故障策略设计请求速率限制,并说明状态放在哪里?
- 某存储服务从读多写少变成持续高写入,团队在 B 树和 LSM 路线间评估。你会根据哪些负载特征比较两者,并关注哪些读写放大代价?
- 多核程序中两个线程各自修改不同字段,性能却随核心数增加而下降。请解释缓存行共享可能怎样造成这种现象,以及代码层面如何验证。
- 组织要把多个仓库从旧的自动构建与检查平台迁到新平台,但团队不能同时停下交付。你会怎样分批迁移,并判断哪些仓库可以进入下一批?
- 客户端需要上传大文件,但系统可能随时暂停或终止后台任务。你会如何拆分任务、保存进度并保证重复调度不会破坏结果?
当前目标在这里暂无匹配题。 ·
B · 业务理解与领域建模37
- 涉及钱的系统,账务和计费应该怎样设计才能算得清、对得上?账户、流水、冻结、结算和对账分别怎样建模,出现差错时怎样追溯和更正?
- 金额、币种、舍入和时区,在交易和结算的模型里应该怎样表达?哪些做法看上去没问题,其实会在对账时出问题?
- 一笔订单可能同时使用会员折扣、渠道优惠和优惠券,适用商品、地区和合同也有例外。你会怎样设计规则,让金额算得一致、用户看得懂,退款后也能核对?
- 平台与创作者的分成比例随月度流水按阶梯变化。你会怎样表达这条结算规则,使产品、研发和财务三方都能独立核对?
- 业务提出“必须实时”的数据需求,但目前没人能说清楚晚十五分钟会造成什么损失。你会如何判断架构和时效目标?
- 产品、财务和增长团队都在报“活跃用户”,但每个数字都不同。你会先问哪些问题,才能确定要不要统一定义?
- 以订单、合同、结算这类商业概念为例,它们是怎样映射到数据模型里的?哪些概念被拆成了多个实体,哪些被合并了,为什么?
- 一个用户曾同意用于产品分析,后来撤回授权;部分派生指标已进入报表、实验和模型训练数据。你会怎样建模授权状态、用途范围与传播关系?
- 数据生产方准备重命名字段并改变枚举含义,下游有十几个团队依赖当前 schema。你会怎样推动这次变更?
- 业务对象会迁移到不同团队,负责人和组织归属也会变化。审计要求按历史日期还原责任人,日常报表则关注当前归属。你会怎样建模这两种查询?
- 用户要求删除个人数据,但财务审计仍需要保留交易记录。你会怎样划定删除、匿名化和可追溯性的边界?
- 一张行为事件表里,“一行”究竟代表什么?请说明你怎样确定它的粒度,以及粒度不清会让哪些统计出错。
- 月结报告已发送给管理层,几天后收到迟到退款和一笔价格更正。业务希望更新当前数字,财务还需要解释上次报告为何不同。你会如何建模?
- 你们业务内部的模型,和行业或合作方通用的模型是怎样交互的?字段、定义或概念对不上时,你怎么处理?
- 移动端事件可能离线数天后才上传,报表又需要按事件发生时间统计。你会怎样建模和处理迟到、更正及重复事件?
- 订单、支付和退款经常被放进同一张表。你会怎样区分它们的业务身份、生命周期和数量关系?比较将它们分别建模与合并存储的条件、代价及验证方式。
- 同一关键数据集被多个产品和报表复用,却没人能说明它的来源、负责人和敏感字段。你会如何补齐治理信息而不阻断现有使用?
- 客户账户在月中从销售转交客户成功团队,月度绩效既要体现当月结果,也要还原每个时点的负责人。你会怎样定义归属事件和统计规则?
- 费用规则今天修改为新规则,但争议订单发生在旧规则生效期间。你会如何保存规则版本与交易事实,让财务能够重现当时的计算?
- 一家公司购买了 100 个席位,实际使用者分属多个子公司;合同由总部签署,部分子公司要求独立账单和权限管理员。你会怎样区分客户、合同、组织、账号、成员和席位,并确保权限与计费规则一致?
- 客户主数据在 CRM、计费和产品系统中各有一套标识和状态,下游报表因此不一致。你会怎样建立可解释的事实来源?
- 一个质量检查偶尔误报,导致下游任务停摆;取消检查又曾让错误数据进入结算。你会怎样设计分级处置?
- 同一账号可能同时拥有基础套餐、临时试用、活动权益和客服补偿。各系统对优先级的实现不一致,客户看到的权限偶尔反复变化。你会怎样定义资格与冲突规则?
- 一个模型特征将停止生产,但多个在线模型和历史报表仍依赖它。你会怎样安排退役与替代?
- 一个在线特征需要每秒更新,但它只影响少量请求,且维护成本持续上涨。你会怎样判断是否继续实时计算?
- 一个风险模型使用后续违约作为训练标签,但许多交易在观察窗口结束前没有最终结果。你会怎样处理标签成熟度、样本纳入和回溯评估?
- 为一个预测用户次日是否流失的模型构造“近 7 天活跃天数”特征。你怎样定义这个特征的时间语义,使训练时和线上预测时拿到的是同一个含义?
- 订单上有一个 status 字段,同时表示履约进度和支付结果,多个团队都在读它。你会怎样把它拆成两个概念,并让旧数据和旧使用方平稳过渡?
- 一个服务资格判断从“当前账户状态”改为“申请时的账户状态加风险审核结果”。客服需要解释历史拒绝原因,审计也要求复现当时的判断。你会怎样演进规则和数据模型,避免新旧结果混为一谈?
- 重复注册导致两个客户实体后来被确认属于同一家公司。合并后报表要统一展示,但历史合同、审批、权限和个人操作仍需保留原始责任。你会怎样设计合并关系?
- 客服工单关闭后,客户补充新证据时可以重新打开,有时还会拆成多个跟进事项。你会怎样设计状态与事件,让关闭、重开和拆分都可追溯?
- 业务规则发生追溯更正,报表需要显示修正后的结果,但决策者还要查看当时依据的旧结果。你会怎样管理两种历史视图?
- 生产者新增一个订单状态后,旧消费者因严格枚举校验拒绝整条消息。团队认为应由消费者更新,但多个消费者由不同组织维护。你会怎样设计兼容性和发布顺序?
- 企业合同分别约定首次响应、恢复服务和最终解决时间,暂停计时条件也不同。客服系统只记录一个计时器,导致争议。你会怎样分别记录这些承诺及其计时规则?
- 请为你长期负责的方向画一份业务地图:用户要完成什么任务、流程中主要障碍在哪里、你的模块能影响什么又影响不到什么?
- 请为一位刚加入的同事写一页产品概览。你会怎样标记哪些陈述是事实、哪些是推断、哪些只是尚未回答的问题?
- 你做的项目在整体业务里处在什么位置?谁给它提供输入,谁使用它的结果?如果它延后或做错了,谁会受影响?
当前目标在这里暂无匹配题。 ·