Como examinar as habilidades dos desenvolvedores Python

Publicado: Última actualização:
Python: perguntas do engenheiro de software para entrevistas

Se você está procurando por uma pessoa com habilidades de desenvolvedor Python, saiba que encontrá-los é apenas metade da jornada. Então, mesmo que você possa encontrá-los, pode ser necessário algum esforço extra para realmente entender o que as habilidades Python realmente são. O verdadeiro conjunto de habilidades Python é uma coisa complexa de entender, mas aqui apresentamos um especialista na área, Wojtek Erbetowski, para trazer o tópico à luz.

1. O que é Python?

Python é uma das linguagens de programação mais populares (classificando-se em segundo lugar de acordo com a Índice TIOBE a partir de Setembro de 2021). Foi lançado pela primeira vez em 1991 e ganhou sua popularidade por ser simples de aprender, mas poderoso na resolução de problemas. A sintaxe é semelhante à da família C++, mas está equipada com uma variedade de soluções modernas.

As principais vantagens do Python são:

  • Curva de aprendizagem plana. Traz usuários com pouca experiência técnica, como acadêmicos para pesquisa, ou negócios para automação.
  • É de propriedade de uma Python Software Foundation (PSF) independente e guiada pela comunidade.
  • Poderosas ferramentas científicas (por exemplo, SciPy).
  • Boa documentação e apoio comunitário. Isto inclui muitos grupos de utilizadores locais e conferências.

2. O que é importante para um recrutador de TI saber sobre Python?

Uma vez que Python tem uma variedade de usos. Muitas vezes é difícil distinguir candidatos de académicos, através de programação de rede e aplicações web a simples scripting. No entanto, muitas vezes é mais fácil para um desenvolvedor aprender um novo Python do que mudar seu domínio (por exemplo, Data Science para Aplicações Web).

Em 2007, o Python 3.0 foi lançado. Ele foi rejeitado pela comunidade devido a incompatibilidade com o passado. Dito isto, em 2020, 94% de usuários Python mudaram para Python 3.

Python é datilografado dinamicamente, o que facilita a escrita de scripts e pequenas aplicações. Diz-se frequentemente que traz dificuldades na construção de aplicações grandes e duradouras.

3. Como verificar as habilidades do desenvolvedor Python na fase de triagem?

A triagem é cansativa, árdua e demorada. Normalmente os recrutadores de TI voltam-se para retomar a triagem, a triagem técnica (testes de codificação) e as entrevistas para avaliar as habilidades Python.

Abaixo você encontra algumas dicas úteis e práticas de recrutamento de como verificar as habilidades Python usando cada método.

3.1. Triagem técnica das habilidades do desenvolvedor Python com base no CV

Felizmente (para o recrutamento), Python tem menos bibliotecas e tecnologias para examinar do que, por exemplo, Java. No entanto, uma série de coisas podem ser confusas.

linguagem PythonVersão popular 3.7, 3.8, 3.9, 3.10
Estruturas web PythonDjango, Frasco, Garrafa, Tornado, web2py, FastAPI
ORMSQLAlchemy, Django ORM, peewee
Construir ferramentasSetup-tools, pip, tox
Estruturas de testeUnitTest, py.test
AsyncioPython 3.5, Tornado, Twisted
Ferramentas de análise de dadosNumPy, SciPy, Pandas, PySpark

Destaques:

  • Python 2 e 3 são muito diferentes. Python 2.7 é a última (e última) versão de Python 2. A versão Python 3 está evoluindo e a última versão é a 3.10.
  • Asyncio só é encontrado em Python 3.
  • Tornado, Twisted, Gevent são todas bibliotecas para programação assimétrica.
  • Django é de longe a estrutura mais popular da web.
  • A biblioteca de testes unitários está integrada no idioma, portanto raramente mencionada separadamente.

Certificação

A Python Community não oferece nenhum programa de certificação. Portanto, é raro encontrar quaisquer certificados (independentes) para a linguagem ou bibliotecas Python.

Desenvolvedores de pilha cheia

Fullstack muitas vezes significa que um desenvolvedor Python também pode criar páginas HTML com CSS e JavaScript. Habilidades de Frontend são bem-vindas e a maior parte de Conhecimento de rastreio JavaScript aplica-se aqui.

3.2. Triagem técnica das habilidades técnicas Python durante uma entrevista por telefone/vídeo

Como é bastante difícil tirar conclusões confiáveis sobre as habilidades de programação dos candidatos a partir do próprio currículo, os recrutadores de TI geralmente conduzem uma entrevista por telefone ou vídeo. Tal entrevista dá uma oportunidade de fazer perguntas sobre suas habilidades em Python. Em muitas empresas, tal entrevista técnica por telefone ou vídeo é uma base para tomar a decisão de convidar ou não alguém para uma entrevista técnica no local com a equipe de TI, então vale a pena escolher e fazer as perguntas técnicas certas.

Como as perguntas em si podem variar com base na posição para a qual você está recrutando e nas habilidades específicas que você deseja verificar, com base na minha experiência eu recomendaria seguir perguntas gerais para saber mais sobre as habilidades Python do candidato:

A. Pergunta da entrevista Python sobre a experiência do desenvolvedor

  • Q1: Com que tecnologias listadas no seu CV, você teve experiência comercial nos últimos 2 anos? Quais eram as suas responsabilidades? Qual foi a sua maior conquista?
  • Porquê perguntar Q1: Ao fazer esta pergunta, você pode saber mais sobre a experiência, responsabilidades e realizações do candidato em Python. Assim, você poderá conhecer melhor o seu candidato.

B. Pergunta da entrevista Python sobre os conhecimentos e opiniões dos desenvolvedores

  • Q2: Quais bibliotecas de código aberto Python você considera valiosas e por quê?
  • Porquê perguntar ao Q2: Esta pergunta permite ao candidato demonstrar o seu conhecimento do ecossistema Python. Além disso, o candidato pode apontar o que ele leva em conta na escolha de uma determinada tecnologia. Como perguntas complementares, você também pode perguntar quais são, na sua opinião, as vantagens das soluções comerciais em relação ao código aberto e vice-versa. Isto mostra como o candidato pensa.
  • Q3: Reparei que listaste o quadro X no teu CV. Qual é a sua opinião sobre isso? É uma boa escolha?
  • Porquê perguntar ao Q3: Uma questão tão aberta permite a um candidato demonstrar o seu conhecimento, se o tiver. Você também pode fazer de advogado do diabo com base nas suas respostas "Mas por que não usar a estrutura Y para isso?". Assim, você pode ver como os candidatos escolhem uma tecnologia, justificar suas escolhas e se suas opiniões estão de acordo com suas equipes de TI.

C. Pergunta da entrevista Python sobre a tomada de decisão do desenvolvedor em relação à tecnologia Python

  • Q4: Em que estágio você se juntou a projetos recentes? Você esteve envolvido na escolha da tecnologia ou na configuração do projeto? Se sim, que tecnologia você escolheu ou recomendou para o projeto e por quê?
  • Porquê perguntar ao Q4: Tais perguntas mostram não só como um candidato faz escolhas em relação à tecnologia, mas também se eles foram incluídos na tomada de decisões. Especialmente importante se você está procurando por alguém com experiência.

D. Pergunta comportamental para o desenvolvedor python

  • Q5: Pense na decisão de programar o projeto que você tomou que foi um fracasso. Porque achas que foi um erro? Porque é que aconteceu? Poderia haver algo diferente a fim de transformá-lo em sucesso? Que passos você tomou para melhorar a situação? O que você aprendeu com essa experiência?
  • Porquê perguntar ao Q5: Esse tipo de pergunta o ajudará a descobrir como o candidato percebe suas decisões, tira conclusões e o quanto aprende de sua experiência anterior.

3.3. Triagem técnica das habilidades Python com teste de codificação online

Os testes de codificação online podem ser uma ótima maneira de examinar as habilidades Python. Abaixo você encontrará informações de como você pode usar os testes de programação e quais testes escolher.

Testes de codificação Python online - o método primário ou adicional para triagem

Algumas empresas utilizam o teste de programação como um acréscimo à triagem dos candidatos depois que o currículo é analisado e é realizada uma entrevista por telefone ou vídeo. Mas cada vez mais empresas recorrem aos testes de codificação como o primeiro método de triagem de programadores. Atualmente, as empresas tendem a convidar todos os candidatos que se candidatam a um determinado cargo para fazer um teste. Desta forma, os recrutadores só passam seu tempo em candidatos que passaram no exame, provando que eles têm habilidades de programação Python. Por outro lado, os candidatos não são solicitados a dedicar muito do seu tempo ao processo de recrutamento logo no início - em vez disso, eles rapidamente completam o teste (geralmente dentro de uma hora), conforme sua conveniência, tanto em termos de tempo quanto de local.

Tela Python Developer habilidades com um IDE PyCharm embutido

No DevSkiller, nós continuamos a ultrapassar os limites quando se trata de testes de desenvolvedores.

A nossa última inovação é deixar os candidatos resolverem os nossos testes de codificação Python usando um in-browser PyCharm IDE de JetBrains. Sem downloads, sem espera e sem alarido.

Os candidatos poupam tempo durante os testes, não tendo de esperar que as dependências sejam instaladas ou que os programas sejam carregados. Eles podem começar diretamente a trabalhar focando em suas soluções para nossos testes de codificação Python ao invés de aprender como fazer uma IDE primitiva que eles não estão familiarizados, trabalhar em seu favor.

Os candidatos não precisam mais clonar o código - eles podem literalmente começar a codificar assim que abrirem seu convite para o teste. Os candidatos podem executar testes unitários, pré-visualizar e reproduzir as suas soluções, tal como no seu trabalho normal.


Para a sua empresa, isto significa oferecer uma experiência de candidato melhor do que nunca. Significa também uma menor entrega de candidatos durante o processo. Quanto mais rápido o processo, maior é a probabilidade de os seus candidatos o levarem a cabo. Isso significa que você não vai deixar os melhores candidatos escaparem por entre os dedos.

Teste de codificação online Python - qual escolher?

Existem muitos testes de codificação online Python no mercado, mas normalmente, eles verificam o conhecimento do candidato em vez de programar habilidades e habilidades para resolver problemas de codificação da vida real. É por isso que muitos programadores experientes não gostam desse tipo de avaliação e, além disso, não são capazes de obter uma boa pontuação, pois não conseguem mostrar sua experiência e habilidades na resolução de problemas de programação da vida real.

Então, que características deve ter um bom teste de codificação? Abaixo você encontrará as minhas 5 principais características que você deveria estar procurando:

  1. Os testes de programação Python devem verificar não só as habilidades Python no que diz respeito à tecnologia em geral, mas também frameworks e bibliotecas;
  2. Os testes de codificação Python devem consistir em um par de tarefas, não apenas testes de múltipla escolha, mas acima de tudo, programar tarefas cuja dificuldade deve corresponder às responsabilidades que os candidatos terão se conseguirem o trabalho (os testes não devem ser baseados em tarefas algorítmicas, pois assim não se pode verificar se um candidato pode resolver desafios de codificação da vida real);
  3. De preferência, as tarefas de programação Python devem ser preparadas na própria base de código da empresa, pois esta é a melhor maneira de imitar os desafios que o candidato terá assim que conseguir o emprego;
  4. Não faz sentido proibir o programador de utilizar fontes externas. A melhor maneira é criar um ambiente semelhante ao que eles teriam no trabalho, portanto um exame de livro aberto é muito mais apropriado. Além disso, o candidato deve ser capaz de usar a sua IDE preferida, tal como faz no dia-a-dia.
  5. Os testes de codificação também podem incluir uma tarefa com desafios de revisão de código para testar as habilidades Python. Isto dá informações muito precisas sobre a experiência do candidato, sua abordagem à qualidade do código e eficiência da depuração e encontrar armadilhas. Tal avaliação deve ser obrigatória ao recrutar desenvolvedores seniores Python.

Nota do editor: Este post foi publicado originalmente em 28 de fevereiro de 2016. Ele foi amplamente atualizado para representar as últimas informações técnicas e as melhores práticas.

Autor - Wojtek Erbetowski

Wojtek_Erbetowski Pyhton desenvolvedor habilidades técnicas

Wojtek é um líder prático com ~10 anos de experiência em APIs / aplicações web em Python e Java. Trabalhou como Chefe de Engenharia @ Polidea, CTO @ GrowBots e participa ativamente como Líder Comunitário @ Warsaw Java User Group e Mobile Warsaw e Organizador da Conferência MCE. Colaborador de biblioteca de código aberto, desenvolvedor de software, defensor da agilidade. Ele estava trabalhando em diversas áreas de negócios, por exemplo, vendas, publicidade antiquada e nova mídia, e-mail marketing, corpo farmacêutico, portais financiados pela UE, livraria atacadista e muito mais) e transformando as necessidades de negócios em aplicativos especializados.

DevSkiller pronto para usar testes de avaliação de codificação Python online

DevSkiller ajuda as empresas no processo de recrutamento de TI, fornecendo-lhes uma infra-estrutura que lhes permite testar as competências de programação dos candidatos no ambiente que imita o 1º dia de experiência profissional. Permitimos que as empresas utilizem a sua própria base de código, projetos inteiros de TI utilizando frameworks e bibliotecas, para testar programadores online. No entanto, também temos alguns testes de codificação Python prontos a usar que você pode usar em sua campanha de recrutamento técnico.

Python
MÉDIO
Competências testadas
Duração
120 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de Python

Tarefa de programação - Nível: Médio

Python | Relatório de vendas de veículos - Implemente uma aplicação para criar relatórios com base no armazém de dados de vendas de veículos.

Partilhar correio

Saiba mais sobre a contratação de tecnologia

Subscreva o nosso Centro de Aprendizagem para obter informações úteis directamente na sua caixa de entrada.

Verificar e desenvolver as habilidades de codificação sem problemas.

Veja os produtos DevSkiller em ação.

Certificações de segurança e conformidade. Certificamo-nos de que os seus dados estão seguros e protegidos.

Logotipo DevSkiller Logotipo TalentBoost Logotipo TalentScore