I applied through an employee referral. The process took 4 weeks. I interviewed at Uber in Feb 2017
Interview
Applied through employee's referral. The recruiter contacted me after 5 months (really surprised by that; thought my resume was filtered out long time ago). Went through two rounds of technical phone interviews - each only consisted of one medium question. Got the offer after a week. Great perks for the intern program.
Interview questions [1]
Question 1
Why Uber; past internship experience; medium level questions involved common data structure
The first couple people from the team to interview me were excellent and polite. However, when I got to the final interview with the hiring manager, they were distracted or preoccupied with other work and were not listening from the very beginning of the interview before I had even started. I'm not sure if they were having an off day. At the beginning of the coding question, I suggested two possible solutions or good design choices which the interviewer didn't hear. I felt like I was talking to myself. At the time I forged ahead with one of my two approaches. Near the end of interview, the hiring manager suddenly told me I should have used the other approach and had not even heard me suggest it prior. I repeatedly had to remind the hiring manager what line of code I was referring to as they would stop paying attention for minutes at a time and had no idea what I was doing.
I applied online. The process took 3 weeks. I interviewed at Uber (New York, NY) in Sep 2015
Interview
I applied online, and was quickly emailed back about interviewing. For interns, there are two technical interviews. One is with and engineer and the second is with a more senior person, who, if you get a job, is your hiring manager. The interviews were pretty typical data structure and algorithm problems, and were actually pretty easy.
After the two technical phone interviews, there's one more behavioral interview with an HR person. I'm not sure if this even counts as an interview, because when I had my HR call, the recruiter told me that I got the job, and the call was more about logistics, such as what kind of team you want to work on, what your benefits will be like, what the decision process will be like, etc. At this point, you've pretty much got the offer.
Now the offer part is a little weird. Firstly, after they tell you they're going to give you an offer, they don't give it to you. Instead, they let you continue with whatever other interviews you're doing, and once you're ready, you tell them to send you the offer. Once they send it to you, you get one week to make your decision. This is probably to make it more difficult to compare and negotiate, but you could probably still try.
Implement a function to draw a rectangle into a buffer with lower left corner (x1, y1) and upper right corner (x2, y2). Assume you have a function to draw lines.