Skip to content

ThinkDataOfficial/test-dev-middle-level

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

Teste desenvolvedor pleno

Teste 1 - Habilidades de programação

Monte 3 funções

  1. Separa letras de números
  2. Remove caracteres especiais e acentos.
  3. Remove caracteres em branco duplicados.

Exemplo de input/output das 3 funções aplicadas:

Input: Rua Jose de Sá brito167,apto005SÃO@PAULO – SP

Output: Rua Jose de Sa Brito 167 Apto 5 SAOPAULO SP

  • Crie uma WebApi com um endpoint GET /sanitize/:endereco que receba uma string, execute as funções criadas no passo anterior nesta string e devolva o resultado UpperCase em um JSON como exemplo:
  {
    input: 'Rua Jose de Sá brito167,apto@@@005SÃO PAULO – SP',
    output: 'RUA JOSE DE SA BRITO 167 APTO 5 SAO PAULO SP'
  }
  • Em seguida, crie uma aplicação do tipo Console Application e leia o arquivo CLIENTE_XPTO.TXT localizado na pasta /files/input e aplique as seguintes regras definida na sub-seção Regras

Layouts

Layout de entrada

Seq Ini Tam Alfa/Numerico Descrição
1 1 1 N Código do registro
2 2 14 N Número do CNPJ da instituição informante ajustado à direita e preenchido com zeros à esquerda
3 16 8 N Data do movimento (AAAAMMDD) – data de geração do arquivo
4 24 4 N Número de DDD do telefone de contato da instituição informante
5 28 8 N Número do telefone de contato da instituição informante
6 36 4 N Número de ramal do telefone de contato da instituição informante
7 40 70 A Nome/Razao Social da Instituição
8 110 200 X Endereço (Tipo, Logradouro, Numero, Complemento)
9 310 50 A Cidade
10 360 2 A UF
11 362 8 N CEP
12 370 3 N Indentificação do registro
13 373 8 X Informar o LOGON a ser utilizado na contabilização das cartas comunicado e anotações.
14 381 101 X Espaços em Branco
15 482 3 X Código de erros
16 485 7 N Seqüência do registro

Layout de saída

Seq Descrição
1 CNPJ
2 Logradouro
2 Número
2 Complemento
3 Cidade
4 UF
5 CEP
6 Nome do contato da instituição informante
7 Sequencia do Registro

Regras e Informações

  • No campo de endereço, aplique a função criada no teste anterior chamando o endpoint criado na webApi.
  • Altere a ordem das colunas e o formato do arquivo, para que o arquivo de saída respeite o layout definido em Layout de Saída
  • O endereço deve ficar separado em três colunas, logradouro, número e complemento
  • É considerado complemento, tudo aquilo que vem após o primeiro número do endereço. Ex.: R MARIA HELENA 405 CS 6 | o complemento é CS 6
  • Os campos do layout de saída devem ser separados por TABs (ASCII 9).
  • Salve o arquivo no diretório /files/output com o nome de {NomeOriginal}_YYYYMMDD_Resultado.TXT.
  • Mova o arquivo original para o diretório /files/input/processed
  • Testes automatizados serão avaliados como um bom extra.

Teste 2 - Habilidades de análise (resolução de problemas)

Imagine que você precise adicionar uma funcionalidade em um WebApp existente. Você agora irá oferecer à seu cliente um serviço em que ele possa realizar uma negativação na Serasa.

(Negativação é o processo de registro de um CNPJ junto à Serasa, informando à Serasa que determinado CNPJ não é um bom pagador, pois deixou uma dívida em aberto.)

Você sabe que:

  • Seu cliente possui diversos CNPJ em que ele gostaria de fazer a negativação.
  • A negativação é iniciada fazendo uma chamada à uma API da Serasa.
  • A comunicação é feita através de uma API da Serasa e ela devolve status 200 quando a requisição foi enviada com sucesso ou status 400 caso a requisição seja enviada de maneira incorreta. Sem corpo de resposta.
  • A negativação pela Serasa demora até 2 dias para devolver um resultado.
  • O retorno com o resultado da negativação é devolvido através de um FTP disponibilizado pela Serasa em um arquivo TXT de layout com campos de tamanho fixo (estilo mainframe).
  • A Serasa realiza o processo de negativação, porém, não mantém um histórico do que foi negativado.
  • Quando um CNPJ paga sua dívida, ele precisa ser desnegativado. Este processo deve ser feito pelo cliente que fez a negativação em nossa plataforma.

Descreva como resolveria este problema. Pode ser um vídeo, um Word, um ambiente simulado. O importante é demonstrar uma solução.

Considerações

Faça um fork desse projeto e suba sua resolução para o git. Pode ser uma PR aqui neste repositório ou um repo próprio. No caso de subir para um repo próprio envie um e-mail para adriano@thinkdata.com.br informando que o seu teste foi finalizado.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published