Fale com a gente

TESTE PRÁTICO

Front-end

Olá! Que bom que chegamos até este ponto da entrevista.


Hoje vamos fazer um teste prático. Nesse teste, o objetivo é avaliar sua interpretação, resolução, organização e boas práticas de código, e como diferencial, sua criatividade.


Nosso cliente fictício nos enviou uma necessidade, para nos ajudar a entender, ele foi além e esboçou um esqueleto do comportamento esperado, olha que legal! Poderíamos ter mais clientes assim rsrs.

O que o cliente espera da entrega:

  • Um CRUD (armazenado no Local Storage) para cadastrar a hierarquia da árvore de itens;

O que esperamos da sua entrega para o cliente:

  • Sua criatividade para uma boa experiência no CRUD e utilização da árvore de itens. Surpreenda o cliente;
  • Organize bem seu código e siga boas práticas;
  • O layout acima é só um exemplo, use a sua criatividade.

Como você deve desenvolver o código:

  • Desenvolver o front-end em AngularJS versão 1. Não utilizar bibliotecas de terceiros para os componentes;
  • Você é livre para estruturar o projeto da maneira que achar mais organizada;
  • Você é livre para implementar o código em qualquer padrão que achar mais adequado;
  • Você pode adicionar funcionalidades ao componente como desejar;
  • Os dados devem ser armazenados no Local Storage;
  • O refresh da página deve recuperar os dados.

O que vamos avaliar no código:

  • Acoplamento e coesão;
  • Performance;
  • Recuperação de estado (por exemplo: recuperar estado dos checkboxes após um page refresh);
  • Experiência do usuário (área de clique, scroll jump, design, etc).

Quer fazer algo além?

A tarefa acima foi muito fácil para seus conhecimentos? Você tem uma chance de surpreender o nosso cliente e a equipe da Netdeal! Abaixo deixamos um exemplo prático com ideias para aprimorar a sua solução.

Mas lembre-se, isso é opcional para o seu teste, e não iremos encerrar nossa avaliação do processo de contratação se você não fizer esse adicional!

Avaliaremos o seu nível de senioridade de acordo com a quantidade de implementações dos requisitos listados abaixo.

Então, o que o cliente espera da entrega:

  • Um CRUD (armazenado no Local Storage) para cadastrar a hierarquia da árvore de itens;
  • Cada item deve ter um checkbox que pode ser marcado/desmarcado;
  • Quando o usuário marcar/desmarcar o checkbox de um item que tenha filhos, o estado deve ser cascateado a todos os seus descendentes;
  • Quando o usuário marcar um ou mais filhos, e até que marque todos, o estado do checkbox pai deve ser alterado para indeterminate;
  • Quando o usuário marcar/desmarcar todos os filhos, o estado do checkbox pai deve replicar o dos filhos;
  • O usuário deve ser capaz de mostrar e esconder os itens internos de um item pai.

Não utilize bibliotecas prontas da internet

Está com dificuldades para fazer tudo o que foi proposto? Não tem problema, nos envie até onde parou, e quem sabe podemos analisar juntos uma evolução aqui na Netdeal.


Se você não entendeu algum ponto do desafio, sinta-se à vontade para entrar em contato conosco!


Desejamos um bom trabalho e boa sorte!

Até logo.