Olá candidata(o)!
Esse desafio tecnico tem como proposito medir suas habilidades tecnicas, seu metodo de resolução de problemas, como pensa e organiza o trabalho.
O tempo recomendado para resolução é 7 dias, porém se você precisar de mais basta nos avisar.
Após finalizar o desafio, nos envie um link para repositório do projeto (Github, Gitlab).
Também registre tudo que você fizer: testes que foram executados, ideias que tentou ou gostaria de tentar se tivesse mais tempo,
decisões que você tomou e porque, arquiteturas que forem testadas e os motivos de terem sido modificadas ou abandonadas.
Crie um arquivo HISTORY.md
no repositório para registrar essas reflexões e decisões
-
Use ferramentas e bibliotecas open source, mas documente as decisões e porquês
-
Automatize a construção do ambiente (quanto mais facil para rodar, melhor a avaliação)
-
Em caso de dúvidas, pergunte
-
Use git e faça commits descritivos
-
Recomendamos o uso de Java, Scala ou Python para resolução, mas pode ficar a vontade para usar qualquer linguagem
Temos dois conjuntos de dados disponiveis, o dataset rouanet.csv
e o dataset censo_estado.csv
. Com esses datasets
faremos nosso desafio. O que precisamos é criar um pipeline de operações que gerem um csv no final.
Os passos desse pipeline são:
- unificar os datasets rouanet.csv e censo_estado.csv atraves das colunas
estado_ibge
ecodigo
, respectivamente - criar uma Natural Key para esse dado, usando as colunas
estado_ibge
evalor_em_reais
- remover as linhas duplicadas de acordo com a natural key
- remover linhas com
valor_em_reais = 0
ouquantidade = 0
- trocar os dados da coluna estado para a sigla da UF correspondente, ex.: Rio de Janeiro vira RJ
Depois desse pipeline você deve gerar um csv com nome dados_tratados.csv
-
Facilidade de reprodução: Seu codigo precisa ser facil de ser reproduzido, então automatize o maximo possivel o setup do ambiente, ou nos dê instruções claras de como executar o projeto.
-
Legibilidade: Seu codigo precisa ser facil de ler e entender.
-
Organização do projeto e Documentação: Avaliaremos como você organiza seu codigo, seus modulos, dependencias e ambiente. Também vamos avaliar a documentação do projeto