Terrible experience. Recruiter reached out to me online and eventually passed me onto an interview coordinator to set up a phone screen. The phone screen itself was alright -- nothing out of the norm.
Fast forward 2 weeks and no response, so I send an email to the recruiter to follow up on my status. 1 week later, still no response -- at this point I figured they were obviously not moving on with me, but at least I had hoped for the courtesy of being rejected. I emailed the interview coordinator this time to see if there was a mix-up and immediately got a dismissive email back saying they had already sent me a rejection email 4 weeks ago and I probably missed that email because it went to spam or something.
Well guess what, the phone interview was 3 weeks ago, so either they already made their mind up to reject me before I even interviewed, or they just blatantly lied to me. Either reflects very poorly on the company and given recent PR developments, can't say I didn't expect any different.
I applied through college or university. I interviewed at Uber (Monterey, CA) in Feb 2015
Interview
The entire interview process was handled by my university. On the interview day I had three different interviews with different interviewers scheduled around different times throughout the day. Each interview lasted about 45 minutes were two were coding and the last one was about design.
I applied through an employee referral. I interviewed at Uber (Pittsburgh, PA) in Feb 2017
Interview
I was given a 30-minute phone interview during which I answered most of the questions (I missed one or two). Two days later I received an email request asking me to do a "homework assignment" within 7 days. I completed and submitted it on the fifth day (took my time in doing so) and was notified the next morning that I was invited to their office for interviews. I was offered Uber credits to get me to-and-from the location but did not manage to use them successfully, as I was unfamiliar with the product before the interviews took place. I arrived at 11am and did four hour-long interviews with engineers from various teams, including one who is now my manager. Two interviewers merely wanted to get to know me and get a sense of my experience, seeing if I was a fit for their team. These interviews were mutual conversations where their experiences sold me on whether or not I wanted to work here. The other two interviews were largely conversational, but with one technical question each. After some back-and-forth work, I managed to solve both problems reasonably and left the interviews feeling confident. I was told the next day that I would be made an offer based on my experience (but had not yet been made the offer). Unfortunately, I was then told that a upper-level management felt my interviews had been not technical enough, and that I had to have one more technical interview (ugh!). Two days later, I traveled to their office again and had my final interview where I was asked the question below about defining, storing, and retrieving structs.
Ultimately I had a good experience, where it paid to know my domain thoroughly. Uber ATG's interview process was formal but with an informal/personal feeling to it, only marred by some disorganization that I am now trying to help them resolve for future interviewees.
Interview questions [1]
Question 1
(Whiteboard question, written in C): You have a homogeneous fixed-size data structure ("arena") to house structs that should do X (vague description). Define the struct, a function that stores it in the arena, and a function that retrieves it from the arena.