Uber L5 Software Engineer电话面试经验
基本信息
- 面试日期:近期
- 岗位:广告组 Software Engineer
- 岗位等级: L5
- 面试形式:Phone Screen
- 申请渠道:猎头联系
- 候选人背景:硕士,在职跳槽
- 面试结果:未通过
面试详情
电话面试
面试官来自广告相关团队(Ads),是一位女性工程师。
本次面试题目并非高频LeetCode题或常见面经题,而是一道偏业务场景设计与数据处理的题目,提前准备的大量面经题目并未直接覆盖。
题目描述
设计一个支持 Last Click Attribution(最后点击归因)的系统。
系统中存在两类事件:
text
click(timestamp, userId, campaignId)
conversion(timestamp, userId)对于每一次 conversion,需要将其归因到同一用户最近的一次 click,要求满足:
- click 时间必须早于或等于 conversion 时间;
- click 必须发生在固定的 conversion window 内;
- 如果不存在满足条件的 click,则该 conversion 为 unattributed。
Conversion Window
text
conversion_window_seconds = 300对于某次 conversion,需要寻找同一用户在:
[conversion_time - 300, conversion_time]
时间范围内最近发生的一次 click 作为归因结果。
需要实现的 API
text
recordClick(userId, campaignId, timestamp)
recordConversion(userId, timestamp)
getCampaignConversions(campaignId)
getUserAttribution(userId)其中:
- recordClick 用于记录广告点击事件;
- recordConversion 用于记录转化事件;
- getCampaignConversions 返回指定广告活动获得的转化数量;
- getUserAttribution 返回用户的归因结果。
题目考察点
题目主要考察:
- 数据结构设计;
- 时间窗口查询;
- 用户维度事件管理;
- Attribution逻辑实现;
- API设计能力;
- 单元测试编写能力。
需要自行编写测试用例,并现场运行验证实现结果。
面试体验
题目属于较新的业务场景题,与常见LeetCode算法题区别较大,更偏向真实广告系统中的数据处理逻辑; 沟通过程比较顺畅。最终完成了题目实现,并编写测试进行了验证。
尽管整体交流体验较好,代码实现也完成,但最终仍未通过本轮面试。
面试结果反馈
- 最终结果:Fail
- 候选人感受:题目新颖,偏业务场景设计,传统面经覆盖有限。
引用来源
黑车店面海外面经
来源:一亩三分地
作者:匿名用户-HLSM6
发布时间:2026-05-29
