I interviewed for an SDE2 position at Uber in November . I reached out to HR on LinkedIn. The interview process consisted of four rounds.
The first round was a coding interview. The interviewer provided a problem on a coding platform and explained it. I asked clarifying questions. The problem was to verify whether a long text follows a specific order rule defined in an order string. For example, if the order string is "abcd", then "a" cannot appear after "b", "c", or "d" in the text, "b" cannot appear after "c" or "d", and "c" cannot appear after "d". I was asked to write a solution for the first problem and explain the approach for large inputs.
The second round was a design interview. I was asked to design a meeting scheduler. I discussed the approach and wrote the solution. This was more of a machine coding question.
The third round was a hiring manager round. I discussed the design of a project I worked on at my previous company. The manager asked about further optimizations and improvements that could be made to the architecture if the scale increased by 100x. The manager also asked a few behavioral questions.
The fourth round was a high-level system design interview. I was asked to design a restaurant listing system based on the user's current location. We discussed geohashing, database choice, and database architecture.
I received a response from HR the next day indicating that I had cleared all the rounds. I received the offer two days later.