Entrevista de pair programming: o que esperar e como se preparar

Por Aaron Cao · Atualizado em

Entrevista de pair programming: o que esperar e como se preparar
Em uma entrevista de pair programming, você escreve código real junto com um engenheiro ou engenheira, geralmente em um editor compartilhado ou no seu próprio IDE com a tela compartilhada, muitas vezes em uma pequena funcionalidade ou bug em uma base de código realista. Os entrevistadores avaliam colaboração, comunicação e hábitos como testes, não apenas se você termina a tarefa.

Em uma entrevista de pair programming, você escreve código real junto com um engenheiro ou engenheira, geralmente em um editor compartilhado ou no seu próprio IDE com a tela compartilhada, muitas vezes em uma pequena funcionalidade ou bug em uma base de código realista. Os entrevistadores avaliam colaboração, comunicação e hábitos como testes, não apenas se você termina a tarefa.

Em que uma entrevista de pair programming difere de um teste de código?

Se você se preparou principalmente com quebra-cabeças de algoritmos, uma etapa de pair programming pode parecer pouco familiar. Esta seção explica em que ela difere e como isso muda a sua preparação. A resposta curta é que você está sendo avaliado como um futuro colega de equipe, não como alguém que resolve quebra-cabeças.

A sessão geralmente ocorre de uma de três formas: um editor compartilhado baseado em navegador, o seu próprio IDE enquanto você compartilha a tela, ou uma extensão de um projeto para casa que você já fez. A tarefa costuma se parecer com o trabalho do dia a dia, como adicionar uma regra de validação, corrigir um teste que está falhando ou refatorar uma função. Algumas empresas trocam os papéis, então você passa parte da sessão como o “driver” que digita e parte como o “navigator” que orienta.

O que os entrevistadores avaliam?

  • Perguntas de esclarecimento. Se você confirma o requisito e o que significa “concluído” antes de escrever código.
  • Pensar em voz alta. Se o seu par consegue acompanhar o seu raciocínio sem precisar perguntar.
  • Progresso incremental. Pequenos passos que funcionam, em vez de uma única mudança grande no final.
  • Testes. Se você escreve ou executa um teste para provar que a mudança funciona.
  • Leitura de código. Com que rapidez você se orienta em um código que não escreveu.
  • Receber contribuições. Como você reage a uma dica ou a uma ideia diferente do seu par.

Outros formatos de entrevista de código, incluindo quadro branco, projeto para casa e algoritmos ao vivo, são comparados no hub de tipos de entrevista.

Como é uma boa sessão de pair programming?

Um engenheiro backend em processo seletivo para uma vaga de nível pleno em uma startup de logística foi convidado a adicionar uma regra de desconto a um módulo de checkout já existente. Antes de digitar, ele perguntou se os descontos podiam se acumular e o que deveria acontecer com pedidos já em andamento. Ele leu os testes existentes, escreveu um teste que falhava para a nova regra, fez o teste passar com a mudança mais simples possível e depois perguntou ao seu par se a regra deveria ficar na classe de precificação ou em um objeto de política separado. Quando o entrevistador sugeriu uma abordagem diferente, ele a experimentou e explicou o trade-off. Ele não terminou o requisito bônus, e mesmo assim o feedback continuou focado em como era fácil trabalhar com ele.

Esse fluxo de esclarecer, testar primeiro, fazer pequenas mudanças e discutir o design é exatamente o que a maioria das etapas de pair programming quer observar.

Como se preparar, e onde o SubcueAI se encaixa?

Faça pair programming com um amigo em uma tarefa pequena dentro de um repositório desconhecido e pratique narrar o que está fazendo. Configure o seu ambiente com antecedência se for usar o seu próprio IDE: o projeto deve compilar e os testes devem rodar antes de a chamada começar. A ferramenta de entrevista simulada ajuda nas partes de conversa, como explicar uma decisão de design ou um projeto anterior.

Seja realista sobre ferramentas ao vivo aqui. O pair programming depende muito de compartilhamento de tela, e tudo o que você compartilha fica visível para o seu par; o entrevistador também está vendo você programar em tempo real. O SubcueAI transcreve o entrevistador e rascunha pontos de resposta durante as partes de conversa de uma entrevista em vídeo, a partir do aplicativo de desktop ou da extensão de navegador, sem nenhum bot na chamada. A programação em si é por sua conta, e ambientes com proctoring e dispositivos gerenciados pela empresa ficam fora do escopo. Detalhes de configuração estão na página do tutorial.

FAQ

Pode-se pesquisar durante uma entrevista de pair programming?

Muitas vezes sim, para documentação e sintaxe, mas pergunte antes. Muitos entrevistadores esperam que você pesquise como faria no trabalho, e se importam mais com como você usa o que encontra.

O que fazer se eu travar em uma entrevista de pair programming?

Diga onde você travou e o que já tentou, depois faça uma pergunta específica. O pair programming deve ser colaborativo, então fazer uma boa pergunta também faz parte do que está sendo avaliado.

Preciso terminar a tarefa?

Nem sempre. Às vezes as tarefas são propositalmente maiores do que o tempo permite. Um progresso limpo e testado, com comunicação clara, costuma importar mais do que cumprir cada requisito.

Qual linguagem eu vou usar?

Depende da empresa. Se a tarefa usa uma base de código realista, a linguagem geralmente já está definida; caso contrário, você pode ter liberdade de escolha. Confira o convite e pergunte ao recrutador se não estiver claro.

Perguntas relacionadas

← Mais sobre Tipos de entrevista