Melhor resposta
Eu entrevistei algumas semanas atrás para um estágio. Eles geralmente fazem uma tela de telefone, mas aparentemente a ignoraram para mim. Fui convidado a ir ao escritório deles para entrevistas no local.
A primeira entrevista foi com um gerente de engenharia que se concentrava em conversas técnicas, então conversamos sobre as tecnologias com as quais trabalhei, prós e contras de cada uma, como eu escolheria uma pilha de tecnologia, etc. Eu senti que isso foi feito para avaliar o quanto você sabe fora do currículo escolar. Depois disso, recebi uma pergunta sobre algoritmos modelados em servidores de balanceamento de carga.
A segunda entrevista foi totalmente sobre codificação. As perguntas eram simples, mas meu entrevistador disse que está procurando como eu escreveria o código de produção. Resolvi cerca de 3-4 questões ao longo da entrevista.
A última foi a mais difícil e se concentrou muito em script de shell, fundamentos do sistema operacional, depuração de falhas de segurança etc. e também fui solicitado a codificar uma solução funcional para um problema NP-difícil. Parecia que o entrevistador estava tentando me pressionar para ver o quanto eu posso fazer em cada área. No final disso, eu ainda não tinha certeza de como isso foi.
(Eu ganhei um moletom Uber de graça quando estava saindo do escritório: D)
Meu recrutador ligou dentro de alguns dias e disseram que queriam me fazer uma oferta. Mas antes disso, o Uber tem uma entrevista com o gerente da equipe específica. Tive uma chamada pelo Skype com ele que era principalmente sobre minhas experiências anteriores e áreas de interesse, bem como uma pergunta de codificação moderadamente difícil sobre combinações.
Recebi uma oferta formal pouco depois. Espero que isso ajude 🙂
Resposta
Fiz uma entrevista há um mês para um cargo de engenheiro de software em tempo integral no Uber. Tive a oportunidade de entrevista por indicação de um amigo.
A primeira vez que fui agendado para uma rodada de triagem por telefone foi dada por um gerente de engenharia do Uber. Foi questionado sobre minha formação técnica, meu trabalho, bem como dois problemas de codificação. Correu muito bem e fui convidado para uma entrevista no local uma hora após o telefonema.
A entrevista no local ocorreu 2 semanas depois e durou cerca de 4,5 horas. 4 pessoas me desafiaram com muitas questões técnicas, como codificação do quadro branco e questões de design de sistema. Todos foram muito amigáveis e entraram na hora certa, então não houve muito intervalo entre eles. A última entrevista técnica foi prática – me pediram para resolver um problema do mundo real e implementá-lo posteriormente. Antes do trabalho de codificação real, o entrevistador teve uma discussão completa comigo sobre os detalhes de todos os níveis para se certificar de que era uma solução razoável que poderia ser feita em questão de minutos. O problema não era muito difícil e a solução poderia ser abaixo do ideal, mas você precisa fazê-la funcionar. Portanto, é melhor ser um engenheiro prático no trabalho e escrever código real de maneira eficiente (escolha do editor, pesquisa de API, habilidades de depuração, etc). Para mim, eu uso o Vim todos os dias e isso me ajudou muito. Após a 4ª rodada de entrevista técnica, também tive a chance de falar com o recrutador e gerente de contratação para várias questões e preocupações, que eles abordaram muito bem.
Recebi uma oferta no dia seguinte após a entrevista no local que, após algumas negociações, aceitei com satisfação. Uma coisa que gostaria de salientar é que fiquei impressionado com a eficiência da empresa durante todo o processo de contratação. O gerente de contratação e alguns recrutadores com quem trabalhei sempre responderam muito prontamente em poucos minutos. A propósito, eu moro em South Bay e o deslocamento de / para San Francisco foi coberto com o Uber, tornando a experiência da entrevista ainda mais agradável:)