Pular para o conteúdo
Hireaan

21 perguntas · Python júnior

Perguntas de entrevista para Desenvolvedor Python júnior

Perguntas de Python para contratar pessoas em início de carreira: estagiários, juniores, egressos de bootcamp e pessoas em transição de carreira. Avaliam fundamentos e instinto para resolver problemas, não decoreba.

Ao contratar um desenvolvedor Python júnior, você não está comprando experiência profunda. Está comprando fundamentos, curiosidade e capacidade de aprender rápido. O objetivo da entrevista é confirmar que o básico foi entendido de verdade, e não só decorado, e que a pessoa consegue raciocinar diante de um problema desconhecido sem travar.

As perguntas abaixo começam leves e vão subindo. As primeiras confirmam que o candidato fala com segurança sobre os tipos de dados e o controle de fluxo do Python; as seguintes mostram se ele entende o porquê dos padrões mais comuns e se consegue depurar o próprio raciocínio.

Com juniores, a reação diante do que não sabem importa tanto quanto o que sabem: procure quem diz “não tenho certeza, mas é assim que eu descobriria”. Misture três ou quatro perguntas de fundamentos com um problema pequeno e mantenha o tom de conversa. Um júnior nervoso que se solta numa boa conversa muitas vezes vira a sua melhor contratação.

Fundamentos de Python7 perguntas

  1. Qual é a diferença entre uma lista e uma tupla, e quando você usaria cada uma?

    O que observar: Lista mutável e tupla imutável, com um uso coerente, como coordenadas ou registros fixos em tuplas e coleções que mudam em listas.

  2. O que significa dizer que strings são imutáveis em Python? Mostre com um exemplo.

    O que observar: Que operações como replace ou concatenação criam uma string nova, e que tentar alterar um caractere por índice gera erro.

  3. Explique a diferença entre == e is.

    O que observar: Igualdade de valor versus identidade do objeto, e o uso de is para comparar com None.

  4. O que é um dicionário, e que tipos de chave ele aceita?

    O que observar: Pares chave-valor com busca rápida e chaves imutáveis (hashable), como strings, números e tuplas, mas não listas.

  5. Qual é a diferença entre um for e um while, e quando você usaria cada um?

    O que observar: O for para percorrer uma sequência conhecida e o while para repetir até uma condição mudar, com cuidado para não criar loop infinito.

  6. O que a função len() faz, e em que tipos você pode usá-la?

    O que observar: Que devolve o tamanho de sequências e coleções (strings, listas, tuplas, dicionários, conjuntos) e não funciona com números.

  7. O que é uma list comprehension, e você consegue reescrever um for simples como uma?

    O que observar: A sintaxe correta, com um filtro opcional, e o bom senso de não usá-la quando a lógica fica complicada de ler.

Funções e orientação a objetos básica5 perguntas

  1. Qual é a diferença entre argumento e parâmetro?

    O que observar: Parâmetro é o nome na definição da função e argumento é o valor passado na chamada. Uma explicação simples basta.

  2. O que *args e **kwargs permitem fazer na assinatura de uma função?

    O que observar: Receber um número variável de argumentos posicionais (tupla) e nomeados (dicionário), com um exemplo de uso.

  3. O que é uma classe, e qual é a diferença dela para um objeto?

    O que observar: Classe como modelo e objeto como instância, com atributos e métodos explicados num exemplo próprio.

  4. O que significa o parâmetro self num método?

    O que observar: Que é a referência à instância que chamou o método, usada para acessar os próprios atributos.

  5. Qual é a diferença entre uma função que retorna um valor e uma que imprime o valor?

    O que observar: Que return devolve o valor para ser reaproveitado no código, enquanto print só mostra na tela e a função devolve None.

Armadilhas comuns e depuração4 perguntas

  1. O que acontece se você usar um argumento padrão mutável, como def f(x=[]), e por que isso surpreende?

    O que observar: Que a lista é criada uma única vez e compartilhada entre as chamadas, e a correção com x=None e criação da lista dentro da função.

  2. Você recebeu um IndentationError. O que isso costuma significar e como você corrige?

    O que observar: Que a indentação define os blocos em Python, e causas como mistura de tabs e espaços ou bloco vazio.

  3. Como você descobriria por que um trecho de código está devolvendo o resultado errado?

    O que observar: Um método: reproduzir com uma entrada pequena, imprimir valores intermediários ou usar o debugger e testar uma hipótese por vez.

  4. Qual é a diferença entre um erro e uma exceção, e como você trata uma com try/except?

    O que observar: Erros de sintaxe versus exceções em tempo de execução, e capturar exceções específicas em vez de um except genérico que esconde problemas.

Resolução de problemas e atitude5 perguntas

  1. Escreva uma função que diga se uma string é um palíndromo. Me conte o seu raciocínio.

    O que observar: Uma solução simples (como comparar com s[::-1]) e atenção a maiúsculas, espaços e acentos quando você provocar.

  2. Como você contaria quantas vezes cada palavra aparece numa frase?

    O que observar: Separar as palavras, normalizar e contar com um dicionário ou com collections.Counter.

  3. Me conte sobre algo que você construiu em Python. O que foi difícil?

    O que observar: Um projeto real, mesmo que pessoal ou de curso, com uma dificuldade concreta e o que a pessoa aprendeu ao superá-la.

  4. Quando você trava num bug que não consegue resolver, o que faz?

    O que observar: Persistência com método e a maturidade de pedir ajuda depois de tentar, explicando o que já investigou.

  5. Qual conceito de Python você aprendeu recentemente, e como aprendeu?

    O que observar: Curiosidade genuína e capacidade de explicar o conceito com as próprias palavras.

Dicas para a entrevista de Desenvolvedor Python júnior

  • Comece leve para acalmar os nervos. Um júnior em pânico rende abaixo do que sabe e não mostra nada útil.
  • Valorize o “não sei, mas eu descobriria assim”. Nesse nível, abertura para aprender vale mais do que decoreba.
  • Deixe a pessoa consultar a documentação no problema prático. Isso reflete o trabalho real.
  • Preste atenção na curiosidade genuína ao perguntar o que ela aprendeu recentemente.
  • Não dê peso demais a erros de sintaxe. Foque em saber se o raciocínio está certo.

FAQ

Perguntas frequentes

O que esperar de um desenvolvedor Python júnior?

Fundamentos sólidos (tipos de dados, funções, orientação a objetos básica), capacidade de raciocinar sobre um problema pequeno e boa abertura para feedback. Experiência profunda com frameworks ou arquitetura não é realista nesse nível.

Como avaliar a resolução de problemas sem intimidar um júnior?

Use um problema pequeno e concreto, como o do palíndromo, e apresente como um exercício de pensar em voz alta juntos. Deixe a pessoa consultar a documentação. Você está observando o processo, não testando memória sob pressão.

Estas perguntas servem para estágio, bootcamp e transição de carreira?

Servem. Elas focam em fundamentos e raciocínio, e não em anos de experiência em produção, o que as torna justas para estagiários, egressos de bootcamp e pessoas autodidatas ou vindas de outras áreas.

Um júnior precisa saber decorators, generators ou async?

É um bônus, não um requisito. Se um júnior explica bem esses conceitos, isso indica uma profundidade acima da média, mas não elimine bons candidatos por ainda não conhecerem recursos avançados.

Como fazer a triagem de candidatos Python júnior com eficiência?

Um teste de habilidades curto na candidatura filtra quem tem fundamentos reais antes de você investir tempo de entrevista. Na Hireaan, os testes são corrigidos pela IA e os candidatos aparecem ranqueados por aderência, o que ajuda muito em vagas júnior com grande volume de inscrições.

Abriu a vaga de Desenvolvedor Python júnior? Rode o processo na Hireaan.

A IA ranqueia os candidatos, você agenda as entrevistas, aplica testes de habilidades e envia a proposta, com um preço fixo para o time inteiro.

  • 14 dias grátis
  • Sem cartão de crédito
  • Cancele quando quiser
  • Conforme a LGPD