Uber·Software Engineer·Onsite - System Design / Architecture
May 2026
Uber advertising team interview for a senior software engineer role. The question was a system design problem I'd never seen anywhere in my prep, which was both annoying and kind of refreshing. Solved it, felt decent about the communication, still got rejected.
- Design a last-click attribution system. There are two event types: a click event (with timestamp, userId, campaignId) and a conversion event (with timestamp, userId). For each conversion, attribute it to the most recent click from the same user where the click falls within a fixed time window before the conversion. Implement recordClick, recordConversion, getCampaignConversions, and getUserAttribution. You also need to write and run your own tests.
“None of my prep covered this.” The rest of the author's notes on Software Engineer interview at Uber, Onsite - System Design / Architecture round, covers how they worked through the question, what the panel pushed back on, and what they would do differently.
View Post