Senior Software Engineer applicants have rated the interview process at Uber with 3.4 out of 5 (where 5 is the highest level of difficulty) and assessed their interview experience as 43% positive. To compare, the company-average is 49.4% positive. This is according to Glassdoor user ratings.
Candidates applying for Senior Software Engineer roles take an average of 20 days to get hired, when considering 91 user submitted interviews for this role. To compare, the hiring process at Uber overall takes an average of 24 days.
Common stages of the interview process at Uber as a Senior Software Engineer according to 91 Glassdoor interviews include:
Phone interview: 40%
One on one interview: 20%
Group panel interview: 10%
Presentation: 10%
Skills test: 9%
Background check: 4%
Personality test: 2%
IQ intelligence test: 2%
Drug test: 2%
Other: 1%
Here are the most commonly searched roles for interview reports -
The coding round was a slightly modified LeetCode-style problem. It felt fair overall, but it wasn’t a graph problem or a typical Uber-style question, which made it somewhat unexpected. The problem required careful thinking, but it was still approachable and reasonable within the given time.
No offer
Negative experience
Difficult interview
Application
I applied online. The process took 2 weeks. I interviewed at Uber (Sunnyvale, CA) in Mar 2026
Interview
Graph problem, topological sort and other dsa questions were core to the process. Brush up on Leetcode hard and try to solve it in 45 mins. Overall, if you have seen it before, you get hired.
RH - validação de experiência, background e informação de salário - Tech Challenge - Coding and questions - System Design - designing and streaming service and questions
Stakeholder - cultural
Proposing
Interview questions [1]
Question 1
7. Qual a desvantagem de usar segmentos (chunks) muito curtos no HLS?
Resposta: Aumento no overhead de requisições HTTP. Embora reduza a latência, o player precisa pedir novos arquivos com muito mais frequência, o que gera uma carga excessiva de processamento de metadados na rede e no servidor.
8. Por que usar UDP (via QUIC ou WebRTC) em vez de TCP para tempo real?
Resposta: Para evitar o Head-of-Line Blocking. O TCP garante a entrega de cada pacote e espera por retransmissões se algo falhar, o que causa "travamentos". No streaming em tempo real, é preferível perder um pequeno frame do que atrasar a transmissão inteira esperando um dado antigo.
9. Qual a função do Apache Kafka em um pipeline de ingestão?
Resposta: Desacoplamento e Resiliência. O Kafka atua como um buffer que recebe os fluxos de dados e permite que os serviços de transcoding e análise processem as tarefas de forma assíncrona, lidando melhor com picos repentinos de tráfego.
10. Diferença entre arquitetura "Push" e "Pull" na ingestão?
Resposta: * Push: O encoder envia (empurra) os dados ativamente para o servidor (ex: RTMP).
• Pull: O servidor de destino solicita e busca os dados da fonte original quando necessário (comum em redes de distribuição de conteúdo).
Gostaria que eu desenvolvesse um guia de estudo