Buscar

Quiz de Programação para Dispositivos Móveis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

• Pergunta 1 
1 em 1 pontos 
 
O Redux-Saga é uma biblioteca que, junto com o Redux, permite que possamos 
compartilhar os estados entre vários componentes. Pensando em um aplicativo que 
utiliza essa biblioteca, que precise buscar uma informação na internet e compartilhá-la 
com vários componentes, qual o melhor fluxo a ser seguido: 
 
Resposta 
Selecionada: 
c. 
O aplicativo, no primeiro componente, deve chamar uma action que por 
sua vez, chamará um Saga para realizar a conexão. Após finalizar a 
conexão, o Saga mandará a informação para o reducer que, por fim, 
distribuirá a informação entre os componentes. 
Respostas: a. 
O aplicativo, no primeiro componente, deve chamar uma reducer que 
por sua vez, chamará um Saga para realizar a conexão. Após finalizar a 
conexão, o Saga mandará a informação para o action que, por fim, 
distribuirá a informação entre os componentes. 
 
b. 
O aplicativo, no primeiro componente, deve chamar uma action que por 
sua vez, chamará um Saga para realizar a conexão. Após finalizar a 
conexão, o Saga chamará uma action que mandará a informação para 
o reducer que, por fim, distribuirá a informação entre os componentes. 
 
c. 
O aplicativo, no primeiro componente, deve chamar uma action que por 
sua vez, chamará um Saga para realizar a conexão. Após finalizar a 
conexão, o Saga mandará a informação para o reducer que, por fim, 
distribuirá a informação entre os componentes. 
 
d. 
O aplicativo, no primeiro componente, deve chamar um Saga para 
realizar a conexão. Após finalizar o Saga mandará a informação para o 
reducer que, por fim, distribuirá a informação entre os componentes. 
 
e. 
O aplicativo, no primeiro componente, deve chamar um action para 
realizar a conexão. Após finalizar a conexão, o action mandará a 
informação para o reducer que, por fim, distribuirá a informação entre 
os componentes. 
Comentário 
da resposta: 
Reposta correta: c) O aplicativo, no primeiro componente, deve chamar 
uma action que por sua vez, chamará um Saga para realizar a conexão. 
Após finalizar a conexão, o Saga mandará a informação para o reducer 
que, por fim, distribuirá a informação entre os componentes. 
Todas as chamadas para os Sagas e os reducers devem ser realizadas 
 
através de uma action. Por isso, o fluxo da alternativa C está correta, 
pois sempre é chamado o action para distribuir a informação. 
 
• Pergunta 2 
1 em 1 pontos 
 
O React-Redux possui alguns componentes que ajudam no compartilhamento de 
estados. Analisando o código abaixo, qual a melhor explicação para o ponto 1 e para o 
ponto 2 do código: 
const loginLoading = useSelector((state) => state.auth.loginLoading); //Ponto 1 
const dispatch = useDispatch(); 
dispatch(login(loginInfo, passInfo)); //Ponto 2 
 
Resposta 
Selecionada: 
b. 
Ponto 1: coleta a informação e monitora mudanças da variável 
loginLoading no módulo auth. 
Ponto 2: chama a action login, passando por parâmetros o logInfo e 
passInfo. 
Respostas: a. 
Ponto 1: coleta a informação da variável loginLoading no módulo 
auth 
Ponto 2: chama a action login, passando por parâmetros o logInfo e 
passInfo. 
 
b. 
Ponto 1: coleta a informação e monitora mudanças da variável 
loginLoading no módulo auth. 
Ponto 2: chama a action login, passando por parâmetros o logInfo e 
passInfo. 
 
c. 
Ponto 1: coleta a informação e monitora mudanças da variável 
loginLoading no módulo auth. 
Ponto 2: chama a função login, passando por parâmetros o logInfo 
e passInfo. 
 
d. 
Ponto 1: coleta a informação da variável loginLoading no módulo 
auth 
Ponto 2: chama a função login, passando por parâmetros o logInfo 
e passInfo. 
 
e. 
Ponto 1: coleta a informação da variável loginLoading no módulo 
auth 
Ponto 2: cancela a chamada da função login, clicada anteriormente. 
 
Comentário da 
resposta: 
Resposta correta: b) 
Ponto 1: coleta a informação e monitora mudanças da variável 
loginLoading no módulo auth. 
Ponto 2: chama a action login, passando por parâmetros o logInfo e 
passInfo. 
O useSelect recebe a infomação inicial e monitora caso ocorra alguma 
mudança da variável no reducer. Já o dispatch é utilizado para realizar 
chamados das actions no Redux. 
 
• Pergunta 3 
1 em 1 pontos 
 
Ao desenvolver um sistema de controle de RH, precisamos criar um método de cálculo 
de bonificação de funcionários. Qual seria a melhor forma de desenvolver esse 
método? 
 
Resposta 
Selecionada: 
b. 
Criamos uma nova classe chamada Funcionário, colocamos esse 
método nessa classe e as classes Gerente, 
Secretaria e Vendedor herdam a classe Funcionário. 
Respostas: a. 
Criamos esse método nas classes Gerente, Secretária e Vendedor. 
 
b. 
Criamos uma nova classe chamada Funcionário, colocamos esse 
método nessa classe e as classes Gerente, 
Secretaria e Vendedor herdam a classe Funcionário. 
 
c. 
Implementamos o método na classe Secretaria e as 
classes Gerente e Vendedor herdam a classe Secretaria. 
 
d. 
Criamos uma nova classe chamada Funcionário, colocamos esse 
método nessa classe e a classe Funcionário herda as 
classes Gerente, Secretaria e Vendedor. 
 
e. 
Implementamos o método na classe Gerente e as classes Secretaria e 
Vendedor herdam a classe Gerente. 
Comentário da 
resposta: 
Resposta correta: b) Criamos uma nova classe chamada Funcionário, 
colocamos esse método nessa classe e as classes Gerente, Secretaria 
e Vendedor herdam a classe Funcionário. 
O ideal é criar uma nova classe com o método desejado e que essa 
classe tenha informações comuns a todas as outras classes que a 
herdem. No nosso caso, Gerente, Secretaria e Vendedor são todos 
Funcionários da empresa. 
 
 
• Pergunta 4 
1 em 1 pontos 
 
Ao desenvolver uma tela de visualização de notícias, precisamos colocar um 
componente text com o título da notícia no topo do componente e abaixo outro 
componente text para colocar o texto da notícia. Nesse caso, qual o valor que 
precisamos colocar no FlexDirection? 
 
Resposta 
Selecionada: 
a. 
Usaremos o column para organizar os componentes na vertical. 
Respostas: a. 
Usaremos o column para organizar os componentes na vertical. 
 
b. 
Usaremos o column-reverse para organizar os componentes na 
vertical, mas na ordem inversa. 
 
c. 
Usaremos o row-reverse para organizar o componente na horizontal 
. 
 
d. 
Usaremos o column-reverse para organizar os componentes na 
vertical. 
 e. 
Usaremos o row para organizar o componente na vertical. 
Comentário da 
resposta: 
Reposta correta: a) Usaremos o column para organizar os 
componentes na vertical. 
O Flexbox utiliza o valor Column no Flex Direction para organizar os 
itens na vertical de cima para baixo. 
 
 
• Pergunta 5 
1 em 1 pontos 
 
O React-Native-Maps é uma biblioteca interessante que permite que o desenvolvedor 
consiga inserir um mapa no seu aplicativo. Usando essa biblioteca, qual é a função 
para os componentes MapView, Marker e Circle: 
 
Resposta 
Selecionada: 
d. 
O MapView exibe um mapa no espaço determinada pelos styles, o 
Marker posiciona um marcador na tela e o Circle circula o marcador 
com uma cor. 
Respostas: a. 
O MapView exibe um mapa na tela inteira, o Marker marca a posição 
inicial do mapa e o circle circula o mapa com uma cor. 
 b. 
 
O MapView exibe um mapa no espaço determinada pelos styles, o 
Marker marca a posição inicial do mapa e o Circle circula o marcador 
com uma cor. 
 
c. 
O MapView exibe um mapa na tela inteira, o Marker marca a posição 
inicial do mapa e o Circle circula o mapa com uma cor. 
 
d. 
O MapView exibe um mapa no espaço determinada pelos styles, o 
Marker posiciona um marcador na tela e o Circle circula o marcador 
com uma cor. 
 
e. 
O MapView exibe um mapa na tela inteira, o Marker posiciona um 
marcador na tela e o Circle circula o marcador com uma cor. 
Comentário da 
resposta: 
Resposta correta: d)O MapView exibe um mapa no espaço 
determinada pelos styles, o Marker posiciona um marcador na tela e o 
Circle circula o marcador com uma cor. 
O Mapview inseri um mapa na tela, sempre respeitando o espaço 
estipulado pelo style. Já o Marker e o Circle, trabalham em conjunto 
dentro do MapView, inserindo um marcador em um determinado ponto 
do mapa, circulado por uma cor especificada. 
 
• Pergunta 6 
1 em 1 pontos 
 
Uma das grandes diferenças do React para as outras linguagens são os states. 
Utilizados em diversas áreas do código, quais as suas principais funções? 
 
Resposta 
Selecionada: 
c. 
Armazenar uma informação durante todo ciclo de vida do 
componente e realizar uma nova renderização quando seu valor é 
alterado. 
Respostas: a. 
 Receber aviso sobre as mudanças dos valores de uma determinada 
variável. 
 
b. 
Armazenar uma informação durante todo ciclo de vida do 
componente, mas não renderiza a tela quando seu valor é alterado. 
 
c. 
Armazenar uma informação durante todo ciclo de vida do 
componente e realizar uma nova renderização quando seu valor é 
alterado. 
 d. 
 
Armazena a instância de um objeto para enviar a outro componente. 
 
e. 
Armazena as informações somente enquanto o componente realiza a 
renderização. 
Comentário da 
resposta: 
Resposta correta: c) Armazenar uma informação durante todo ciclo 
de vida do componente e realizar uma nova renderização quando seu 
valor é alterado. 
Os states armazenam as informações durante o ciclo de vida de um 
componente e força uma nova renderização caso o seu valor seja 
alterado. 
 
• Pergunta 7 
1 em 1 pontos 
 
Ao desenvolver um sistema de vendas, a classe Produto possui um método chamado 
calculaImposto que calcula o imposto dos produtos que serão vendidos. Essa classe é 
herdada pelas classes Lapis, Borracha e Caneta. Porém, devido a uma mudança nas 
regras de negócio, o imposto exercido sobre o produto lápis será 10% maior em relação 
aos outros produtos. 
Qual é a melhor solução para esse caso? 
 
Resposta 
Selecionada: 
b. 
Herdar o método calculaImposto da classe Produto na classe Lapis. 
Esse método irá chamar o método calculaImposto da classe pai e 
adicionar o valor excedente. 
Respostas: a. 
Remover o método da classe Produto e colocar o método 
calculaImposto em todas as classes. 
 
b. 
Herdar o método calculaImposto da classe Produto na classe Lapis. 
Esse método irá chamar o método calculaImposto da classe pai e 
adicionar o valor excedente. 
 
c. 
Alterar a nova tarifa no método calculaImposto na classe Produto e 
implementar um novo método chamado impostoAntigo nas classes 
Borracha e Caneta para calcular o imposto antigo. 
 
d. 
Criar um novo método na classe Lapis chamado novoImposto que irá 
calcular o novo valor de imposto. 
 
e. 
Criar um novo método na classe Caneta chamado calculaImposto que 
irá chamar o método calculaImposto da classe pai e adicionar o valor 
excedente. 
 
Comentário da 
resposta: 
Resposta correta: b) Herdar o método calculaImposto da classe 
Produto na classe Lapis. Esse método irá chamar o método 
calculaImposto da classe pai e adicionar o valor excedente. 
O ideal nesse caso é herdar o método calculaImposto da classe 
Caneta na classe Lápis, buscar a informação calculada na classe pai e 
aplicar o valor adicional dentro desse método. 
 
• Pergunta 8 
1 em 1 pontos 
 
Uma das grandes vantagens em desenvolver em React Native é a ferramenta Fast 
Refresh. Qual é a função dessa ferramenta? 
 
Resposta 
Selecionada: 
c. 
Permite que o código seja atualizado diretamente na tela do celular, 
sem a necessidade de recompilação. 
Respostas: a. 
Permite que o código não precise ser compilado para ser executado 
no celular. 
 b. 
Acelera o tempo de compilação em até 10x do que o código nativo. 
 
c. 
Permite que o código seja atualizado diretamente na tela do celular, 
sem a necessidade de recompilação. 
 d. 
Permite que a atualização de uma tela para outras seja mais rápido. 
 e. 
Permite alterar o código diretamente na ferramenta de debug. 
Comentário da 
resposta: 
Reposta correta: c) Permite que o código seja atualizado diretamente 
na tela do celular, sem a necessidade de recompilação. 
O Fast Refresh permite que o código seja atualizado 
automaticamente ao salvar o arquivo, sem que seja necessário 
refazer toda compilação novamente. 
 
 
• Pergunta 9 
1 em 1 pontos 
 
O Redux-Saga é muito utilizado para gerenciar o controle das conexões com APIs e 
banco de dados internos e compartilhar a informação com os componentes. 
Analisando o código abaixo, qual a melhor explicação para os pontos 1, 2 e 3. 
 //Ponto 1 
 const address = yield select(state => state.address.address); 
 
 //Ponto 2 
 yield put(loginStart()); 
 //Ponto 3 
 const dataReturn = yield call(FakerServices.get, 'persons?_quantity=1'); 
 
Resposta 
Selecionada: 
e. 
Ponto 1: busca a informação da variável address no reducer do 
módulo address; 
Ponto 2: chama a action loginStart e aguarda a execução; 
Ponto 3: realiza a chamada do FakerServices e, ao terminar a 
conexão, retorna os dados da API. 
Respostas: a. 
Ponto 1: monitora a informação da variável address no reducer do 
módulo address; 
Ponto 2: chama a função loginStart declarada nesse componente; 
Ponto 3: realiza a chamada do FakerServices e, ao terminar a 
conexão, retorna os dados da API. 
 
b. 
Ponto 1: monitora a informação da variável address no reducer do 
módulo address; 
Ponto 2: chama a função loginStart declarada nesse componente; 
Ponto 3: realiza a chamada do FakerServices e, ao terminar a 
conexão, retorna o http code da conexão. 
 
c. 
Ponto 1: busca a informação da variável address no reducer do 
módulo address; 
Ponto 2: chama a função loginStart declarada nesse componente; 
Ponto 3: realiza a chamada do FakerServices e, ao terminar a 
conexão, retorna os dados da API. 
 
d. 
Ponto 1: busca a informação da variável address no reducer do 
módulo address; 
Ponto 2: chama a action loginStart e aguarda a execução; 
Ponto 3: realiza a chamada do FakerServices e, ao terminar a 
conexão, retorna o http code da conexão. 
 
e. 
Ponto 1: busca a informação da variável address no reducer do 
módulo address; 
Ponto 2: chama a action loginStart e aguarda a execução; 
Ponto 3: realiza a chamada do FakerServices e, ao terminar a 
conexão, retorna os dados da API. 
 
Comentário da 
resposta: 
Resposta correta: e) 
Ponto 1: busca a informação da variável address no reducer do 
módulo address; 
Ponto 2: chama a action loginStart e aguarda a execução; 
Ponto 3: realiza a chamada do FakerServices e, ao terminar a conexão, 
retorna os dados da API. 
O select é utilizado para buscar a informação no reducer, já o put é 
utilizado para chamar o action e o call realiza uma função e, após o 
término, retorna o andamento do componente, trazendo o retorno da 
API. 
 
• Pergunta 10 
1 em 1 pontos 
 
Analisando o código a seguir, temos uma classe em Javascript com algumas 
propriedades privadas e outras públicas. 
 
 
Qual será o resultado obtido no console do debug utilizando o comando console.log? 
 
Resposta 
Selecionada: 
e. 
O aplicativo rodará sem nenhum erro e serão exibidos no console os 
valores 1 e undefined, porque a propriedade fechar é privada. 
Respostas: a. 
O aplicativo rodará sem nenhum erro e serão exibidos no console os 
valores 1 e 0. 
 
b. 
O aplicativo apresentará erro porque o caractere # não é reconhecido 
pelo Javascript. 
 c. 
 
O aplicativo apresentará erro porque faltou o caractere # na 
propriedade abrir. 
 
d. 
O aplicativo rodará sem nenhum erro e serão exibidos no console os 
valores undefined e 0, porque a propriedade abrir é privada. 
 
e. 
O aplicativo rodará sem nenhum erro e serão exibidos no console os 
valores 1 e undefined, porque a propriedadefechar é privada. 
Comentário da 
resposta: 
Resposta correta: e) O aplicativo rodará sem nenhum erro e serão 
exibidos no console os valores 1 e undefined, porque a propriedade 
fechar é privada. 
O caractere # informa que a propriedade fechar é privada e, por isso, 
ao tentar acessar a informação, será exibido no console o 
valor undefined.

Continue navegando