Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Sugestão] Automatizar o processo de entrevistas da equipe de RH

Para simplificar essa tarefa iria buscar criar uma ferramenta capaz de pegar as informações necessárias do concorrente para a vaga e informar ao time de RH acerca do mesmo e de seguida eles poderiam confirmar a disponibilidade para um certo dia para atendimento de certas vagas e posteriormente o sistema iria fazer o envio de e-mail de confirmação, caso o time de RH aprovasse.
Caso fosse automatizar todo o processo iria buscar por reconhecer padrões do time de RH e treinar a ferramenta para estar apta a realizar as próprias entrevistas e agendar com o concorrente um dia para a entrevista.

import datetime
# 1. "BANCO DE DADOS" - Candidatos que se inscreveram
candidatos = [
    {"nome": "Ana Silva", "vaga": "Almoxarife", "exp_anos": 4, "tem_hsse": True, "email": "ana@email.com"},
    {"nome": "João Costa", "vaga": "Almoxarife", "exp_anos": 1, "tem_hsse": False, "email": "joao@email.com"},
    {"nome": "Maria Santos", "vaga": "Técnico TI", "exp_anos": 3, "tem_hsse": True, "email": "maria@email.com"},
]
# 2. FERRAMENTA TRIAR - Analisa e dá nota
def triar_candidato(candidato):
    nota = 0
    if candidato["exp_anos"] >= 2:
        nota += 50
    if candidato["tem_hsse"]:
        nota += 50
    candidato["nota"] = nota
    candidato["status"] = "APROVADO P/ ENTREVISTA" if nota >= 50 else "REPROVADO"
    return candidato
# 3. INFORMAR RH
def painel_rh(lista):
    print("="*50)
    print(" PAINEL DO RH - CANDIDATOS TRIADOS")
    print("="*50)
    for i, c in enumerate(lista):
        print(f"{i+1}. {c['nome']} | Vaga: {c['vaga']} | Nota: {c['nota']}/100 | {c['status']}")
    print("="*50)
# 4. AGENDAR E "ENVIAR EMAIL"
def agendar_e_enviar_email(candidato, data_hora):
    assunto = f"[Sonils] Confirmação de Entrevista - {candidato['vaga']}"
    corpo = f"""
Olá {candidato['nome']},
Parabéns! Você foi selecionado(a) para entrevista na Sonils.
Vaga: {candidato['vaga']}
Data: {data_hora}
Local: Base Sonils - Porto de Luanda
Levar: BI, Certificados e CV impresso
Por favor confirme sua presença respondendo este email.
Att,
Equipe RH Sonils
    """
    print(f"\n>>> EMAIL ENVIADO PARA: {candidato['email']} <<<")
    print(f"Assunto: {assunto}")
    print(corpo)
# RODANDO O SISTEMA
print("Iniciando triagem automática...\n")
candidatos_triados = [triar_candidato(c) for c in candidatos]
painel_rh(candidatos_triados)
# Simular RH escolhendo: RH aprova Ana e Maria
print("\nRH aprovou: Ana Silva e Maria Santos")
agendar_e_enviar_email(candidatos_triados[0], "25/04/2026 às 10:00")
agendar_e_enviar_email(candidatos_triados[2], "25/04/2026 às 14:00")
1 resposta

Oi, Emanuel. Tudo bem com você?

Obrigado por compartilhar sua proposta para o desafio de automatizar o processo de entrevistas da equipe de RH. Sua solução aborda diversos aspectos do pensamento computacional, como a decomposição do problema em etapas de triagem, análise, aprovação, agendamento e envio de e-mails. Além disso, o código demonstra a aplicação de listas, dicionários, funções e estruturas condicionais para representar um fluxo próximo de um cenário real de recrutamento.

Como sugestão, há apenas um detalhe que pode tornar a solução ainda mais flexível. Atualmente, o critério de aprovação está fixo na função triar_candidato, utilizando experiência e a certificação HSSE para compor a nota. Em um sistema real, esses critérios podem variar de acordo com a vaga. Por exemplo, para uma vaga de Técnico de TI, poderiam ser considerados conhecimentos específicos, enquanto para outra função seriam avaliados requisitos diferentes. Tornar esses critérios configuráveis deixaria a ferramenta mais reutilizável para diferentes processos seletivos sem a necessidade de alterar a lógica principal do programa.

Como você estruturaria essa solução para permitir que cada vaga tivesse seus próprios critérios de avaliação, mantendo o restante do fluxo de triagem e agendamento funcionando da mesma forma?

Parabéns pela dedicação em desenvolver uma solução completa e por compartilhar seu trabalho no fórum. Continue praticando e explorando novas possibilidades. O fórum está à disposição sempre que surgir uma nova dúvida.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!