Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disc.: PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS EM ANDROID Aluno(a): 2° SIMULADO Acertos: 9,0 de 10,0 25/05/2022 1a Questão Acerto: 1,0 / 1,0 A linguagem utilizada no framework React Native é a JSX. A respeito dela, podemos afirmar que... JSX é uma sintaxe de extensão da linguagem JavaScript que possui familiaridade com a XML. Tal linguagem combina a lógica de componentes presente no JS e o mark-up DOM em um único código. JSX é, a exemplo do HTML, uma linguagem composta apenas por tags pré- definidas. JSX é uma linguagem composta apenas por tags, sejam elas pré-definidas, como no HTML, ou criadas pelo desenvolvedor, como no XML. Essa linguagem é interpretada diretamente pelos navegadores web tanto em dispositivos móveis quanto em desktops. A linguagem JSX é uma especificação da linguagem XML destinada à criação de aplicativos mobile. Respondido em 25/05/2022 18:57:07 Explicação: A resposta certa é: JSX é uma sintaxe de extensão da linguagem JavaScript que possui familiaridade com a XML. Tal linguagem combina a lógica de componentes presente no JS e o mark-up DOM em um único código. 2a Questão Acerto: 1,0 / 1,0 Sobre o processo de transpilação realizado pelo React Native, assinale a alternativa correta: O React Native compila um aplicativo-base cuja função é executar código JavaScript no JavaScriptCore presente em cada dispositivo móvel. A partir disso, esse aplicativo faz a comunicação (ponte ou bridge) com os componentes nativos de cada plataforma. O resultado da transpilação varia de acordo com a plataforma para a qual se desenvolve. No caso da plataforma Android, é gerado um código na linguagem Java. Já no iOS, é gerado o código Objective-C. O React Native é capaz de compilar seu código em um código nativo Android. Entretanto, isso não é possível em relação à plataforma iOS. Ao final do processo de transpilação, é necessário, numa segunda etapa de building, utilizar os compiladores específicos das linguagens de cada plataforma para então gerar um aplicativo que possa ser executado nelas. O que o React Native faz, na verdade, é compilar todo o código-fonte, transformando-o em código assembly. Respondido em 25/05/2022 18:59:52 Explicação: A resposta certa é: O React Native compila um aplicativo-base cuja função é executar código JavaScript no JavaScriptCore presente em cada dispositivo móvel. A partir disso, esse aplicativo faz a comunicação (ponte ou bridge) com os componentes nativos de cada plataforma. 3a Questão Acerto: 1,0 / 1,0 Indique qual afirmativa está correta em relação aos componentes de lista disponíveis em React Native. Os componentes de lista só permitirão a exibição de dados desde que seja possível determinar, antes da renderização deles, sua quantidade. Os componentes de lista são containers simples, como as View, com a única diferença de que permitem a exibição, dentro de um laço de repetição, usando o código JS com o componente React, de seu conteúdo. Embora sejam otimizados em relação à adaptação da janela de rolagem, os componentes de lista possuem problemas de performance no que diz respeito ao consumo de memória. Os componentes de lista são elementos otimizados para a exibição de dados nesse formato, possuindo diversas otimizações, que vão desde o consumo de memória até a renderização e a atualização da janela para a exibição dos itens. Os componentes de lista disponíveis só podem ser utilizados individualmente, não sendo possível a combinação deles ou até a utilização de um mesmo tipo de forma aninhada. Respondido em 25/05/2022 19:03:16 Explicação: A resposta certa é: Os componentes de lista são elementos otimizados para a exibição de dados nesse formato, possuindo diversas otimizações, que vão desde o consumo de memória até a renderização e a atualização da janela para a exibição dos itens. 4a Questão Acerto: 1,0 / 1,0 Analise o fragmento de código adiante e, em seguida, assinale alternativa que corresponde ao que acontecerá na renderização dele: A imagem será exibida em formato ASCII, já que foi incluída dentro de um componente Text. Nada será exibido, uma vez que não é permitido, na sintaxe do React Native, a inclusão de Image dentro de Text. Será exibido o texto equivalente à propriedade source do componente Image. A imagem será exibida normalmente, mesmo estando contida dentro de um componente Text. Será exibido um erro informando que não é possível inserir componentes Image como filhos de componentes Text. Respondido em 25/05/2022 19:05:22 Explicação: A resposta certa é: A imagem será exibida normalmente, mesmo estando contida dentro de um componente Text. 5a Questão Acerto: 1,0 / 1,0 Um dos bancos de dados NoSQL mais relevantes é o MongoDB, do tipo documental, que pode ser acessado facilmente por ambientes construídos na plataforma Node.js, através da classe MongoClient. Qual a opção correta acerca do MongoDB? Todo documento do MongoDB exige um campo identificador com o nome key. Oferece o aplicativo gráfico MongoDB Compass para a gerência da base. Permite trabalhar no modelo de grafos, da mesma forma que o Neo4J. Os documentos armazenados na base utilizam sintaxe XML. Não é possível utilizar expressões regulares nas consultas aos documentos. Respondido em 25/05/2022 19:09:08 Explicação: A resposta certa é: Oferece o aplicativo gráfico MongoDB Compass para a gerência da base. 6a Questão Acerto: 1,0 / 1,0 A linguagem SQL é muito eficaz para as consultas complexas, e boa parte do sucesso se deve ao conjunto de operadores disponibilizados para a filtragem, através da cláusula WHERE. Qual dos operadores a seguir permite buscar os nomes iniciados por uma letra específica? ALL LIKE ANY NOT IN IN Respondido em 25/05/2022 19:13:12 Explicação: A resposta certa é: LIKE 7a Questão Acerto: 1,0 / 1,0 Considere a figura abaixo que mostra um esquema de autenticação e autorização. Este esquema é construído com base em um protocolo que está entre os mais utilizados atualmente para a troca de informações de autenticação e autorização entre provedores de identidade e de serviço. O protocolo utiliza um mecanismo de autenticação que possibilita que um usuário obtenha acesso a múltiplos serviços após autenticar-se somente uma vez em qualquer um destes serviços. Isso elimina a necessidade de se manter múltiplas credenciais de autenticações, como senhas, em diferentes localizações. O modelo de controle de acesso que faz uso desse mecanismo de autenticação é o: SSO Https MFA OAuth SSL Respondido em 25/05/2022 19:15:04 Explicação: A especificação do OAuth define as Credenciais do Cliente como um fluxo que engloba quaisquer outros fluxos de autenticação. 8a Questão Acerto: 0,0 / 1,0 Assinale, dentre as opções abaixo, a alternativa que representa o conjunto de elementos normalmente presentes em requisições realizadas com controle de acesso utilizando o framework OAuth2: SSO, Servidor de Criptografia, Algoritmo Criptografia; Aplicativo cliente, Servidor de Recurso externo/API, Servidor de autorização, Token; Usuário, senha, e-mail; LDAP, HTTPS, SSL; Chave Privada, Chave Pública, Aplicativo Cliente, Servidor Aplicação. Respondido em 25/05/2022 19:22:57 Explicação: O token é uma credencial de acesso obtida a partir de um servidor de autorização. O cliente que realiza uma requisição e do outro lado temos o Servidor que recebe, processa e devolve uma resposta. 9a Questão Acerto: 1,0 / 1,0 Ao efetuar a persistência em banco de dados, pode ser necessário ocultar informaçõesde 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? 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. Não é possível trabalhar com o algoritmo AES no React Native, pois a biblioteca CryptoJS não fornece um gestor apropriado para ele. É 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. 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. Respondido em 25/05/2022 19:24:35 Explicação: A biblioteca CryptoJS fornece os gestores de criptografia simétrica por meio de módulos, em que estão incluídos AES, DES, TripleDES, Rabbit e RC4, referindo-se aos algoritmos adotados por cada um. Qualquer que seja o gestor escolhido, os métodos encrypt e decrypt ficam disponíveis, respectivamente, para criptografia e recuperação da informação, sendo necessário fornecer a chave e o IV. 10a Questão Acerto: 1,0 / 1,0 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 promise rejection starvation deadlock format exception Respondido em 25/05/2022 19:25:10 Explicação: Um problema comum em diversos aplicativos é o memory leak, ou vazamento de memória, em que sucessivas chamadas a determinados métodos resultam no consumo de pequenos blocos de memória, os quais 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.
Compartilhar