Pular para o conteúdo
cookie

Um guia para estudantes · Do outono ao inverno do penúltimo ano

Entrevistas para estágio em engenharia de software

A maioria das entrevistas para estágio em engenharia de software começa com uma avaliação de programação online, seguida por uma ou duas entrevistas ao vivo de programação. Cada uma gira em torno de um ou dois problemas, com perguntas complementares, além de algumas perguntas sobre sua experiência anterior. Os entrevistadores avaliam como você entende o problema, chega a uma solução funcional, explica sua complexidade de tempo e espaço e a testa. Eles esperam dar dicas.

As etapas

Muitas grandes empresas começam com uma avaliação online, um teste de programação cronometrado feito em casa. A Amazon, por exemplo, diz que a avaliação online para estágio leva cerca de 90 minutos e avalia programação, resolução de problemas técnicos e seus Leadership Principles, com cerca de 70 minutos dedicados à programação. Depois vêm as entrevistas ao vivo por vídeo, nas quais você resolve problemas enquanto um engenheiro observa e faz perguntas.

O guia da Meta para entrevistas de estágio, atualizado pela última vez em 2022, descreve duas etapas: uma entrevista por telefone e depois outras entrevistas, com as mesmas expectativas para ambas. Em cada entrevista, cerca de 30 a 35 minutos são dedicados a programar uma ou duas respostas. O Google diz que os candidatos podem ter que fazer um exercício de programação, que todos são avaliados com critérios claros e que não há enigmas. Os detalhes mudam, então leia a página da própria empresa quando receber o convite.

O que os entrevistadores avaliam

Principalmente, como você chega à resposta. O Google diz que o entrevistador observa seu processo de pensamento tanto quanto a resposta e fará perguntas complementares. O guia da Meta pede que você explique a complexidade big-O das suas abordagens e faça perguntas para esclarecer o problema. Também diz que é melhor ter um código funcional, mesmo que não seja ideal, do que ter apenas uma ideia. Se você ficar sem saber como continuar, comece com uma solução por força bruta e depois melhore. E receber dicas do entrevistador não é algo ruim.

Na prática, isso significa cinco coisas: entender o problema (reformulá-lo e perguntar sobre casos extremos e tamanhos de entrada), chegar a uma solução correta, explicar sua complexidade de tempo e espaço, melhorá-la se puder e testá-la percorrendo um exemplo e os casos extremos à mão. A comunicação faz parte de tudo isso, porque o entrevistador só pode avaliar o que você diz.

Exemplo resolvido: soma de dois números

Dada uma lista de números e um valor-alvo, retorne as posições de dois números cuja soma seja igual ao valor-alvo. Comece fazendo perguntas: pode haver mais de uma resposta? O mesmo número pode ser usado duas vezes? A lista está ordenada? Qual pode ser o tamanho dela? Depois, explique em voz alta a abordagem por força bruta: verificar todos os pares. É uma solução correta, mas o tempo necessário é proporcional a n ao quadrado para uma lista de n números.

Depois, melhore a solução. Percorra a lista mantendo um mapa hash de cada número que você já viu e sua posição. Para cada número novo, verifique se o valor-alvo menos esse número já está no mapa. Assim, você encontra o par em uma única passagem, com tempo proporcional a n, usando memória extra proporcional a n. Por fim, teste em voz alta com um exemplo pequeno, uma lista sem resposta e outra com números repetidos. Diga também o que mudaria se a lista já estivesse ordenada: usaria dois ponteiros, um de cada extremidade, sem memória extra.

Tópicos que você precisa conhecer e qual linguagem usar

As questões de estágio usam principalmente o conteúdo de um primeiro curso de estruturas de dados e algoritmos: arrays e strings, mapas hash e conjuntos, pilhas e filas, listas encadeadas, árvores e grafos com busca em largura e em profundidade, ordenação e busca binária, recursão e programação dinâmica simples. Saber o custo de tempo e espaço de cada operação é tão importante quanto conhecer a estrutura.

Use a linguagem que você conhece melhor. O guia de estágio da Meta diz para usar a linguagem com a qual você se sente mais à vontade, e a orientação da Amazon para a avaliação é revisar e praticar a linguagem que você pretende usar. Python é comum porque exige menos código, mas a fluência importa mais do que a escolha.

Pensar em voz alta e IA na entrevista

Diga o que está pensando, mesmo que seja “ainda não tenho certeza”, porque o silêncio não dá nada para o entrevistador avaliar nem uma forma de ajudar. Quando receber uma dica, aproveite-a e explique como ela muda sua abordagem. Praticar isso sozinho parece estranho. Por isso, praticar com um amigo ou gravar a si mesmo resolvendo e explicando um problema ajuda tanto.

As regras das empresas sobre IA são diferentes, então confira antes do dia da entrevista. O Google diz que ferramentas de IA não são permitidas durante suas entrevistas, enquanto a Meta diz que muitas de suas entrevistas agora incluem um assistente de IA integrado ao ambiente da entrevista, que os candidatos devem usar. Se não for permitido, usar IA é trapaça. Se fizer parte da entrevista, a maneira como você verifica e corrige o que ela fornece faz parte da avaliação.

Perguntas comportamentais

A maioria das entrevistas técnicas inclui algumas perguntas sobre sua experiência: um projeto do qual você se orgulha, um bug que deu trabalho para resolver ou uma ocasião em que discordou de alguém da equipe. A Amazon avalia os candidatos com base nos seus Leadership Principles, que começam com a obsessão pelo cliente: a ideia de que líderes começam pelo cliente e trabalham de trás para frente. Leia os princípios e prepare um exemplo para os principais.

Com uma conta, a Preparação para entrevistas do cookie faz uma entrevista simulada para o emprego que você indicar, com um entrevistador de IA. Ele faz uma pergunta por vez, faz perguntas de acompanhamento sobre suas respostas como um entrevistador de verdade faria e, no fim, escreve um relatório sobre cada resposta. Ela usa créditos e mostra uma estimativa primeiro.

Onde consultar

Verificado nestas páginas em . As regras mudam de ano para ano, então, se houver alguma divergência, confie nas páginas acima.

Perguntas frequentes

O que é uma avaliação online?

Um teste de programação cronometrado, feito em casa, que muitas empresas usam antes das entrevistas ao vivo. A Amazon diz que sua avaliação para estágio leva cerca de 90 minutos, principalmente com programação.

Qual linguagem devo usar em uma entrevista de programação?

A linguagem que você conhece melhor. A Meta recomenda usar a linguagem com a qual você se sente mais à vontade, e a Amazon recomenda praticar a linguagem que você pretende usar. Por isso, a fluência importa mais do que qual linguagem você escolhe.

Qual é o nível de dificuldade das questões de programação para estágio?

Geralmente, as questões se baseiam em estruturas de dados e algoritmos do primeiro ano: arrays, mapas hash, árvores, grafos, ordenação e recursão, com perguntas complementares que pedem para melhorar ou ampliar sua solução.

E se eu não souber como continuar em uma entrevista de programação?

Diga em que ponto você travou, tente primeiro uma solução por força bruta e depois melhore-a. Aproveite qualquer dica que receber. O guia da Meta diz que receber dicas do entrevistador não é algo ruim.

Posso usar IA em uma entrevista de programação?

Depende da empresa. O Google diz que ferramentas de IA não são permitidas durante suas entrevistas; a Meta diz que muitas de suas entrevistas incluem um assistente de IA integrado, que os candidatos devem usar.