题目重点:优化一个简单餐馆推荐系统,从可解释规则基线到用户偏好与实时餐馆状态。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 训练目标是发现适合当前需求的餐馆,不假定预订/配送/堂食同一任务;先问应用入口和成功动作。
- 餐馆实际营业、营业时间、地区、价格、菜系、饮食需求要有可核对来源,未知状态不当作确定可用。
- 低频用户与新餐馆历史稀疏,模型复杂度按数据选择,不一开始就依赖行为深模型。
解题路线
- 审计MVP失败:距离不合理、关门、偏好不符、评价偏差、重复推荐还是检索召回缺失。先量测availability命中和候选覆盖,别把全部问题归模型。
- 基线硬过滤营业/距离/预算约束,排序用距离、质量信息可靠度、新鲜度与菜系偏好。保留解释如“附近、符合价格、今天营业”,便于诊断与用户信任。
- label从曝光/点击/导航/收藏/预约/到店反馈构建漏斗,导航不必然到店;评价存在主动提交偏差,陈旧评分须衰减或重新审核。feature按user/context/restaurant/cross组织。
- 冷启用显式偏好、小问卷和内容/地域prior,受控探索覆盖新餐馆;升级排序模型先在固定候选评估NDCG和任务成功,再AB验证满意与可用性。
- serving使用地点检索+偏好rank+多样性,热区域缓存候选但营业状态与限流独立更新;按用餐时间、语言、预算、新老用户切片。
手动走一遍
午餐11:30用户希望15分钟内到达,评分最高但车程40分钟的餐馆不应胜过近且可靠营业的候选。两家都是川菜,列表适量加入符合预算的其他偏好菜系可减少重复。
规模与取舍
空间过滤后的M候选精排O(MC),地图路线估时比直线距离昂贵,可先直线粗筛再对TopN计算。营业信息更新速度决定“当前可用”准确性,不可用离线评分代替。
易错点与追问
容易失分的边界
- 无历史用户填零可能被判成低偏好,应提供内容prior与探索。
- 评分高不等于适合当前场景,预算/距离/营业是硬或软约束需问清。
继续深挖
- 用户明确说不喜欢某菜系如何影响召回与rank?作为当次显式约束比弱历史信号更优先。
- 如果只支持一个城市,扩到新城市缺labels怎样验证?独立城市holdout、人工样本与渐进探索,不能只评原城市。
