Skip to content

Uber L5 Software Engineer电话面试经验

发表于 2026-06-02
更新于 2026-06-10
阅读量 加载中...

基本信息

  • 面试日期:近期
  • 岗位:广告组 Software Engineer
  • 岗位等级: L5
  • 面试形式:Phone Screen
  • 申请渠道:猎头联系
  • 候选人背景:硕士,在职跳槽
  • 面试结果:未通过

面试详情

电话面试

面试官来自广告相关团队(Ads),是一位女性工程师。

本次面试题目并非高频LeetCode题或常见面经题,而是一道偏业务场景设计与数据处理的题目,提前准备的大量面经题目并未直接覆盖。

题目描述

设计一个支持 Last Click Attribution(最后点击归因)的系统。

系统中存在两类事件:

text
click(timestamp, userId, campaignId)
conversion(timestamp, userId)

对于每一次 conversion,需要将其归因到同一用户最近的一次 click,要求满足:

  1. click 时间必须早于或等于 conversion 时间;
  2. click 必须发生在固定的 conversion window 内;
  3. 如果不存在满足条件的 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