Last active
July 8, 2020 11:00
-
-
Save technave/4067a8bb5b7d327c24d3983e5a9c36ed to your computer and use it in GitHub Desktop.
Revisions
-
Juliano Reis revised this gist
Jun 16, 2020 . 1 changed file with 14 additions and 11 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -14,7 +14,9 @@ - Só será aceito o uso de bibliotecas de estilo e clientes HTTP (axios, fetch, etc); - Caso não consiga resolver todos os exercícios, não tem problema, envie mesmo assim; - Ao finalizar o teste, envie o link do seu repositório por e-mail para [email protected]. ## Desafio @@ -79,15 +81,15 @@ Exemplo de requisição: ```javascript axios .get("/posts") .then(function (response) { // handle success console.log(response); }) .catch(function (error) { // handle error console.log(error); }) .then(function () { // always executed }); ``` @@ -112,13 +114,14 @@ Sendo que cada comentário devem pertencer a um post. ## Observações Sugestão de bibliotecas para montar a api: - Koa ou express - Alguma biblioteca para abstrair a camada de dados que preferir. - Knex - Bookshelf - Sequelize - Mongoose Prefira o uso de um banco de dados relacional (postgresql, mysql, ...), sendo seu uso não obrigatório.<br> Para organizar a estrutura de seu projeto prefira o uso do padrão `MVC` sendo seu uso não obrigátio.<br> -
dtdsouza revised this gist
Jun 16, 2020 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -127,8 +127,8 @@ Será observado organização de código, legibilidade e melhor uso dos recursos ## (BONUS) Exercício de Banco de Dados Dado a seguinte estrutura do banco <br><br>  - **E.B.1** Crie um script de criação das tabelas. - **E.B.2** Faça um script para popular as tabelas. -
technave revised this gist
Feb 27, 2020 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -54,7 +54,7 @@ Olá, Juca da silva! - **E.8** Imprima a soma das idades (dica: utilize reduce) - **E.9** Imprima se existir alguem com menos 25 anos. - **E.10** Imprima todos os elementos em que a idade é menor que 30 anos. -
technave renamed this gist
Feb 20, 2020 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
technave renamed this gist
Feb 20, 2020 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
technave created this gist
Feb 20, 2020 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,137 @@ # Teste para vaga de estagiário ## Instruções - Utilizar **apenas JavaScript** puro para resolver o problema (**não é permitido o uso de jquery**); - Tente sempre utilizar a abordagem ES6+ para resolver os exercícios; - **Entrega:** todas as soluções devem estar em um único repositório (github, gitlab, bitbucket, etc…) de forma **pública**; - Neste repositório deve haver, na raiz, um README.md, com as instruções de execução do código desenvolvido; - Estilo fica ao critério do candidato, e não é o foco principal do teste; - Só será aceito o uso de bibliotecas de estilo e clientes HTTP (axios, fetch, etc); - Caso não consiga resolver todos os exercícios, não tem problema, envie mesmo assim. ## Desafio ### Resolver os seguintes exercícios - **E.1** Crie uma função que recebe dois argumentos string e retorna o de maior comprimento. - **E.2** Crie uma função que recebe três argumentos, uma função e duas string, aplique a função nas duas string e imprima o resultado. - **E.3** Crie uma função que recebe vários argumentos do tipo string e imprime todos juntos - **E.4** Dado a seguinte string `'teste 1 de 2 string 3'`, substitua todas as ocorrências de números pelo valor `'[removido]'`. - **E.5** Dado o dicionário `{4: 'a', 3: 'e', 1: 'i', 5: 's'}` substitua os números na frase `'T35t3 d3 35t4g1o'` conforme o dicionário. - **E.6** Utilizando a api da viacep (https://viacep.com.br/) e o seu cep como entrada imprima o seu endereço no formato `'ENDERECO, NUMERO, CIDADE/ESTADO'`. **Para os seguintes exercícios** considere o array de objetos: ``` [ {id: 1, nome: 'juca', sobrenome: 'da silva', idade: 42}, {id: 2, nome: 'daniel', sobrenome: 'gonçalves', idade: 21}, {id:3, nome: 'matheus', sobrenome: 'garcia', idade: 28}, {id: 4, nome: 'gabriel', sobrenome: 'pinheiro', idade: 21} ] ``` - **E.7** Imprima uma mensagem de saudação com o nome completo para cada um dos objetos. O nome deve ter a primeira letra maiúscula. ``` Ex.: Olá, Fulano de tal! Olá, Juca da silva! ... ``` - **E.8** Imprima a soma das idades (dica: utilize reduce) - **E.9** Imprima o objeto se existir alguem com menos 25 anos. - **E.10** Imprima todos os elementos em que a idade é menor que 30 anos. - **E.11** Ordene o array de forma decrescente por idade, em caso de empate o desempate é pelo id. # Exercício de front-end ## Desafio O objetivo é fazer uma tela em que o usuário verá uma lista de postagens. Cada postagem terá uma lista com seus referentes comentários. Um post pode ter ou não comentário, dependendo do que vier da API. ## Documentação da API - API RESTful - URL: https://jsonplaceholder.typicode.com/ - Para fazer as requisições HTTP recomendamos o uso da biblioteca [axios](https://github.com/axios/axios) usando o seu link de cdn. Exemplo de requisição: ```javascript axios .get("/posts") .then(function(response) { // handle success console.log(response); }) .catch(function(error) { // handle error console.log(error); }) .then(function() { // always executed }); ``` ## Endpoints GET `https://jsonplaceholder.typicode.com/posts` (busca a listagem de postagens) GET `https://jsonplaceholder.typicode.com/comments` (busca a listagem de comentários) ## Observações O que mais será levado em conta é o código JavaScript escrito no teste. Não será levado em consideração o código css. Ainda assim, esperamos uma tela com um minímo de estilo para diferenciar o que é postagem e o que é comentário. Dica: Para saber quais os comentários de cada postagem, é necessário fazer a comparação do `id` que vem na postagem, com o campo `postId` que vem nos comentários. Sendo iguais, significa que aquele comentário é referente aquela postagem. # Exercício de back-end ## Desafio Deverá ser implementado uma API [node.js](https://nodejs.org) no padrão `RESTful` que possibilite a criação e listagem de posts e comentários. Sendo que cada comentário devem pertencer a um post. ## Observações Sugestão de bibliotecas para montar a api: - Koa ou express - Alguma biblioteca para abstrair a camada de dados que preferir. - Knex - Bookshelf - Sequelize - Mongoose Prefira o uso de um banco de dados relacional (postgresql, mysql, ...), sendo seu uso não obrigatório.<br> Para organizar a estrutura de seu projeto prefira o uso do padrão `MVC` sendo seu uso não obrigátio.<br> Será observado organização de código, legibilidade e melhor uso dos recursos da linguagem javascript. ## (BONUS) Exercício de Banco de Dados Dado a seguinte estrutura do banco <br>  - **E.B.1** Crie um script de criação das tabelas. - **E.B.2** Faça um script para popular as tabelas. - **E.B.3** Faça uma querie que traga todos os `posts` ordenados por `title`. - **E.B.4** Faça uma querie que traga todos os `posts` com seus respectivos `comments`. - **E.B.5** Faça uma querie que traga todos os `posts` com sua quantidade de `comments`.