题目重点:先问清在登录还是交易时预测,再设计成熟标签、在线特征、时间回放评估与误伤成本。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 训练版假设在高风险登录或敏感动作前给风险分并决定放行、补充验证或阻止;实际决策点由面试官确认。
- ATO 正例需要可追溯的账号所有者确认/调查结果,标签有延迟和选择偏差;仅凭被拦截或验证码失败不能直接当真实 ATO。
- 高风险动作决策需低延迟,但具体 SLA、吞吐、隐私约束题目未明确,只能先估算并追问。
解题路线
- 先问预测目标与处置动作:登录前、会话中还是支付前?将误放过的损失、误拦正常用户的摩擦和人工审核容量转换为阈值选择,而不只优化 AUC。
- 构造事件时点可用特征:设备/会话新颖度、IP/地理突变、失败登录速率、历史行为偏差等;严格按决策时刻截断,未来调查结果只作为标签,不能进入特征。敏感特征要按合规与保留期约束处理。
- 做按时间的 train/validation/test,并按用户/账号隔离重复实体或使用时间向前回放。标签需等待成熟窗口;先定训练截止、验证期、测试期与观察截止。过采样/SMOTE 仅在训练集应用,评价时恢复真实基率并看 PR-AUC、召回@固定误伤率、校准与分群表现。
- 在线服务分两级:便宜稳定特征低延迟计算,高成本画像预聚合缓存;特征版本与模型版本一同记录。超时/fallback 走可配置策略,如补充验证而非无条件拒绝;异常峰值时保护用户与服务容量。
- 上线做 shadow、受控试点、分层指标和人工复核闭环;监测标签延迟、数据漂移、特征缺失、挑战通过率及已确认 ATO 漏检。
手动走一遍
虚构训练例:模型在登录时给 0.8 风险,账户新设备且十分钟内失败登录频繁。若阈值 0.7 的动作是二次验证而非硬封,用户完成验证后需记录该结果,避免把挑战过关简单标为‘肯定非 ATO’。离线测试必须模拟当时可见的设备/频次,不可用数日后调查数据。
规模与取舍
非单一算法复杂度。在线路径由特征读取、模型计算与决策日志构成,p99 总延迟需分段预算;离线按事件 E 与特征维 F 的训练成本依模型而异。标签成熟期决定最早可信评测时间。
易错点与追问
容易失分的边界
- 没确认预测使用点就直接设计支付风控 pipeline。
- 随机拆同账号相邻事件,历史统计和设备 ID 泄漏到测试。
- 在验证/测试上做 SMOTE 或以过采样后的基率报告 precision。
- 只谈 AUC 不谈固定误伤率、挑战容量和用户恢复。
- 在线特征依赖未来事件或慢表 join,无法满足实时处置。
继续深挖
- 新的攻击策略导致标签还没成熟,如何早期发现漂移?
- 用户被挑战后不完成,这个样本的标签如何处理选择偏差?
- 如果调用方在不同国家且网络不稳定,如何设置超时与安全降级?
