Logo Passei Direto
Buscar

Tópicos Avançados em React Native

Ferramentas de estudo

Questões resolvidas

De forma geral, o resultado de um processo criptográfico é uma sequência binária, que apresenta dificuldades relacionadas à persistência e transmissão em rede, requerendo uma transformação para o formato texto.
Qual algoritmo é tipicamente utilizado na conversão?
Runge-Kutta
MD5
Euler
SHA1
Base64

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

De forma geral, o resultado de um processo criptográfico é uma sequência binária, que apresenta dificuldades relacionadas à persistência e transmissão em rede, requerendo uma transformação para o formato texto.
Qual algoritmo é tipicamente utilizado na conversão?
Runge-Kutta
MD5
Euler
SHA1
Base64

Prévia do material em texto

Você acertou 8 de 10 questões
Verifique o seu desempenho e continue treinando! Você pode refazer o
exercício quantas vezes quiser.
Verificar Desempenho
A
B
C
D
E
1 Marcar para revisão
Técnicas formais para execução de testes e análise de performance devem ser
utilizadas para a garantia da qualidade do produto. Alguns problemas comuns
estão relacionados ao tempo de resposta, outros ao consumo de memória, e há
ainda os fatores de usabilidade do produto. Qual das alternativas define um
problema relacionado ao consumo de memória?
Memory leak
Deadlock
Promise rejection
Format exception
Starvation
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
G b i C d
A
B
C
D
E
Gabarito Comentado
O termo "memory leak" ou "vazamento de memória" é um problema
comum em diversos aplicativos. Ele ocorre quando sucessivas chamadas a
determinados métodos resultam no consumo de pequenos blocos de
memória. Esses blocos são alocados durante o processamento, mas não
são desalocados ao final. Com o bloqueio gradativo das posições de
memória, o sistema se torna mais lento, impactando diretamente na
performance. Portanto, o "memory leak" é um problema diretamente
relacionado ao consumo de memória, o que justifica a alternativa A como a
correta.
2 Marcar para revisão
O padrão DAO é muito importante para a arquitetura MVC, pois permite que as
chamadas ao banco de dados sejam concentradas em poucas classes,
viabilizando o agrupamento na camada mais apropriada, e evitando que os
comandos SQL sejam repercutidos nas demais camadas do sistema. De acordo
com o padrão DAO, qual seria o comando SQL associado ao método
obterTodos?
UPDATE
CREATE
DELETE
INSERT
SELECT
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
A
B
C
D
E
Gabarito Comentado
O padrão DAO (Data Access Object) é uma estratégia de design que
encapsula o acesso aos dados em uma interface, isolando a lógica de
negócios do acesso direto ao banco de dados. Nesse padrão, temos a
concentração dos comandos SQL relacionados a uma entidade específica.
Os métodos comumente considerados no padrão DAO são: incluir, que está
relacionado ao comando INSERT; excluir, que tem como base o comando
DELETE; alterar, que invoca o comando UPDATE; e métodos gerais de
consulta, como obterTodos, que são baseados no comando SELECT, com
ou sem restrições. Portanto, o comando SQL associado ao método
obterTodos é o SELECT, que é utilizado para recuperar dados do banco de
dados.
3 Marcar para revisão
Arquiteturas de fluxo unidirecional são muito eficientes na construção de
sistemas para Web ou dispositivos móveis. Criada pelo Facebook, a arquitetura
Flux é um bom exemplo de modelo baseado em fluxo, e o componente Store,
definido na arquitetura, é utilizado para
Criar pacotes de comunicação, representando as solicitações do
usuário.
Exibir os dados para o usuário.
Gerenciar a interatividade do usuário com o sistema.
Despachar os pacotes de comunicação, para o responsável pelo
processamento.
Receber as solicitações e executar processos sobre os dados.
Resposta correta
A
B
C
D
E
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Na arquitetura Flux, o componente Store tem a função de receber as
solicitações e executar processos sobre os dados. É importante destacar
que, nesta arquitetura, qualquer solicitação é traduzida em uma Action, que
pode ser definida como um pacote de comunicação. Este pacote é então
repercutido pelo Dispatcher para algum componente Store, onde são
executados os processos necessários sobre os dados. Ao final, eventos
são emitidos para a atualização da View, que é o componente responsável
por exibir os dados para o usuário e gerenciar a interatividade. Portanto, a
alternativa E é a correta, pois afirma que o componente Store é utilizado
para receber as solicitações e executar processos sobre os dados.
4 Marcar para revisão
Quando um aplicativo não consegue completar as funcionalidades oferecidas
por ele em prazo adequado, o usuário se sente desestimulado, pois a
usabilidade fica comprometida. No entanto, existem técnicas simples que
podem melhorar o consumo de memória e o tempo de resposta, como a que é
citada na alternativa:
Utilizar sempre implementações recursivas para as funções.
Manter as mensagens via console para acompanhamento da
execução.
Substituir o motor de execução JavaScript pelo Hermes.
Adotar figuras no formato BMP, devido à taxa de compressão.
Recriar os componentes nativos a cada exibição.
A
B
C
D
E
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
A alternativa correta é a C, que sugere a substituição do motor de
execução JavaScript pelo Hermes. O motor Hermes é conhecido por ser
mais eficiente, e a sua substituição pode trazer benefícios reais em termos
de performance para o aplicativo. Em relação às demais alternativas, é
importante destacar que a implementação recursiva geralmente consome
mais memória, as mensagens de console devem ser eliminadas para evitar
sobrecarga, as figuras devem ser preferencialmente no formato PNG ou
vetorial para otimizar o carregamento, e os componentes nativos, quando
utilizam o mesmo conteúdo, podem ser memorizados via React.memo,
diminuindo o tempo para exibição e melhorando a performance do
aplicativo.
5 Marcar para revisão
De forma geral, o resultado de um processo criptográfico é uma sequência
binária, que apresenta dificuldades relacionadas à persistência e transmissão
em rede, requerendo uma transformação para o formato texto. Qual algoritmo é
tipicamente utilizado na conversão?
Base64
SHA1
Runge-Kutta
MD5
Euler
A
B
C
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
O algoritmo Base64 é comumente utilizado para converter uma sequência
binária em formato de texto. Essa conversão é necessária para superar as
dificuldades relacionadas à persistência e transmissão de dados em rede.
A codificação por meio do algoritmo Base64 transforma o vetor de
elementos binários em uma sequência de texto, eliminando valores nulos
ou zeros, que poderiam causar problemas. Vale ressaltar que o Base64 não
é um algoritmo criptográfico, mas sim um algoritmo de codificação, pois a
transformação não requer a utilização de uma chave.
6 Marcar para revisão
Ao efetuar a persistência em banco de dados, pode ser necessário ocultar
informações de determinados campos, com a possibilidade de recuperação
posterior, ou seja, devem ser adotados algoritmos de criptografia simétrica, em
que o AES tem sido a principal opção para as plataformas móveis mais
populares. Tendo como base a biblioteca CryptoJS, como podemos utilizar o
algoritmo AES no desenvolvimento com React Native?
É necessário instanciar um objeto do tipo Cipher, com a passagem do
algoritmo AES, chave e IV, e utilizar os métodos encrypt e decrypt do
objeto.
Não é possível trabalhar com o algoritmo AES no React Native, pois a
biblioteca CryptoJS não fornece um gestor apropriado para ele.
Devemos invocar o método encrypt, fornecendo o valor original, chave
AES e IV, ou o método decrypt, com o valor criptografado, chave e IV,
sempre por meio do módulo AES.
D
E
A
B
Basta invocar a classe Base64, pois os valores já são codificados no
formato AES.
Precisamos utilizar o método digestStringAsync, fornecendo chave
AES e IV, tanto para a criptografia quanto para a recuperação da
informação.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
A biblioteca CryptoJS é uma ferramenta poderosa que fornece gestores de
criptografia simétrica por meio de módulos. Entre esses módulos, estão
incluídos AES, DES, TripleDES, Rabbit e RC4, cada um referindo-se a um
algoritmo específico. Independentementedo gestor escolhido, os métodos
encrypt e decrypt estão disponíveis para uso. O método encrypt é usado
para criptografar a informação, enquanto o decrypt é usado para recuperar
a informação criptografada. Ambos os métodos necessitam da chave e do
IV (Vetor de Inicialização) para funcionar corretamente. No contexto da
questão, ao trabalhar com o algoritmo AES no desenvolvimento com React
Native, devemos invocar o método encrypt, fornecendo o valor original,
chave AES e IV, ou o método decrypt, com o valor criptografado, chave e
IV, sempre por meio do módulo AES.
7 Marcar para revisão
Para a arquitetura Redux, o papel do componente Store é levemente diferente
da Flux, pois ele se torna responsável pelo despacho de solicitações,
eliminando a necessidade de um componente Dispatcher. Qual método deve
ser utilizado para a criação do componente Store na arquitetura Redux?
getStore
dispatch
C
D
E
A
B
getState
createStore
subscribe
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Na arquitetura Redux, o componente Store tem um papel crucial e é criado
utilizando o método 'createStore'. Este método é utilizado para inicializar o
componente Store, que é responsável pelo despacho de solicitações,
diferentemente da arquitetura Flux que necessita de um componente
Dispatcher para essa função. As funções Reducer, definidas em um
arquivo JavaScript ou TypeScript, são importadas para outro arquivo e
utilizadas para inicializar o componente Store. Uma vez criado o
componente Store, qualquer tela pode ser associada a ele com o método
'subscribe', permitindo que a tela receba atualizações sempre que o estado
do Store é alterado.
8 Marcar para revisão
A arquitetura Redux surgiu como uma alternativa ao Flux, porém, trabalha com
um modelo de programação mais adequado ao ambiente do React Native. Ela
deve ser utilizada quando desejamos um fluxo unidirecional de execução em
um aplicativo móvel, e os componentes que fazem parte da arquitetura são 
View, Store, Dispatcher e Reducer.
View Action Store e Reducer
B
C
D
E
A
B
C
View, Action, Store e Reducer.
Action, Model e Store.
Action, Dispatcher, Controller e Store.
View, Action, Store e Dispatcher.
Resposta incorreta
Opa! A alternativa correta é a letra B. Confira o gabarito comentado!
Gabarito Comentado
Os componentes da arquitetura Redux são View, Action, Store e Reducer. A
tela, ou View, exibe os dados representados pela Store, além de invocar
solicitações, ou Actions, despachadas pela própria Store, para que sejam
iniciados os processos definidos nas funções do tipo Reducer, as quais
modificam os dados representados pelo componente Store.   
9 Marcar para revisão
Muitas vezes, precisamos testar a conexão com um banco de dados ou
servidor na rede, antes que ele seja implementado. Qual instrumento de
programação poderia ser utilizado para viabilizar os testes na situação
descrita?
Modificador async
Função expect
Operador toEqual
D
E
A
Componente mock
Função test
Resposta incorreta
Opa! A alternativa correta é a letra D. Confira o gabarito comentado!
Gabarito Comentado
Os objetos mock, também conhecidos como simulados, são utilizados para
desviar o fluxo de execução normal, fornecendo as respostas previstas por
um determinado servidor. O uso de um componente mock é extremamente
útil, pois elimina a necessidade de construir um servidor físico para realizar
testes nas fases iniciais do desenvolvimento. Além disso, mantém a
compatibilidade com os processos normais de verificação. Portanto, na
situação descrita no enunciado, onde é necessário testar a conexão com
um banco de dados ou servidor antes de sua implementação, o
componente mock seria o instrumento de programação mais adequado
para viabilizar esses testes.
10 Marcar para revisão
Considere o trecho de código apresentado a seguir, que tem como base a
utilização da biblioteca de testes unitários Jest:
Qual será o resultado da execução dos testes, via npm test?
O teste irá falhar, pois o resultado da soma deveria ser menor que o
valor de teste.
B
C
D
E
O teste será executado com sucesso, pois o resultado da soma será
maior que o valor de teste utilizado.
O teste será executado com sucesso, devido ao fato de que o
resultado da soma é igual ao valor de teste utilizado.
O teste irá falhar, pois o resultado da soma será menor que o valor de
teste utilizado.
O teste irá falhar, pois o retorno da soma não é igual ao valor de teste
utilizado.
Resposta correta
Parabéns, você selecionou a alternativa correta. Confira o gabarito
comentado!
Gabarito Comentado
Com base na biblioteca Jest, temos diversos operadores para as
comparações utilizadas nos testes. No fragmento de código, é utilizado o
operador toBeGreaterThan, que verifica se o resultado é maior que o valor
de teste. Como a soma retornará o valor quinze, e o valor de comparação é
um, o teste será executado com sucesso.

Mais conteúdos dessa disciplina