I interviewed at Uber because they are an impressive company and probably a great place to work. I didn't receive and offer. I cannot say that I was surprised. I do believe there were a few things they could have done better to increase my chances as well as to treat their candidates better.
As others have mentioned, they encourage their candidates to handle a coding challenge. While this is not unreasonable, they did not set clear expectations. Specifically, if you are invited on-site, they will carefully review your submission in person. I might have performed better at the interview if I didn't have to admit so many areas for improvement in my submission. Had I been aware that my code would be part of the interview, I probably would have done a better job. This is something to be aware of because they failed to mention it prior to my submission.
Otherwise, the interviews were tough and tiring. The questions were somewhat less structured than many other companies.
The office seemed quite disorganized. I doubt it's always like that, but it did appear that I was invited at an especially hectic time, both at the office and in the neighborhood outside. I might have benefited from them inviting me at a more reasonable time. The recruiter had rushed me through the whole process. Maybe I would have been more prepared if I hadn't allowed this to happen.
Finally, they repeatedly volunteered to pay to reimburse my transportation costs and then failed to do so. It wasn't a significant amount, but it was more than I have spent anywhere else. The only reason I splurged was that, with no suggestion of my own, the recruiter volunteered to cover the costs multiple times. Of course, after I was rejected I was not reimbursed. It's an easy empty promise to make.