Prévia do material em texto
GUIA DE ESTUDO - PROGRAMAÇÃO PARA
DISPOSITIVOS MÓVEIS EM ANDROID
1- A respeito do React Developer Tools, é correto afirmar que:
A- Trata-se de uma biblioteca que faz parte da instalação padrão do React
Native e que não precisa ser instalada individualmente.
B- Permite a visualização e a depuração da hierarquia somente de
componentes customizados.
C- Não permite debugar aplicativos por intermédio do próprio dispositivo
móvel.
D- Permite debugar aplicativos por meio do próprio dispositivo móvel ou
de sua interface gráfica, que é aberta após a inicialização da ferramenta.
E- Quando usada em conjunto com ferramentas de terceiros, como
ferramentas de logs, permite a análise de detalhes de cada componente
contido no aplicativo.
Resposta D.
2- Sobre o processo de transpilação realizado pelo React Native, assinale a
alternativa correta:
A- 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.
B- 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.
C- 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.
D- 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.
E- O que o React Native faz, na verdade, é compilar todo o código-fonte,
transformando-o em código assembly.
Resposta C.
3-
alternativa que corresponde ao que acontecerá na renderização dele:
A- Nada será exibido, uma vez que não é permitido, na sintaxe do React Native,
a inclusão de Image dentro de Text.
B- A imagem será exibida normalmente, mesmo estando contida dentro de um
componente Text.
C- Será exibido um erro informando que não é possível inserir componentes
Image como filhos de componentes Text.
D- A imagem será exibida em formato ASCII, já que foi incluída dentro de um
componente Text.
E- Será exibido o texto equivalente à propriedade source do componente
Image.
Resposta B.
4- O Stack Navigator permite criar uma ''pilha de telas''. Em relação a seu
modelo de navegação, é correto afirmar:
A- Os botões de navegação nesse modelo ficam, por padrão, alocados na
parte inferior da tela.
B- O Stack Navigator permite a navegação pelas telas do aplicativo por
meio do método ''navigate'' ou do botão de voltar, inserido por default
no topo de cada tela. Com isso, é possível acessar qualquer uma das
telas que tenha sido incluída em seus ''screens''.
C- Após navegar para determinada tela, não é possível voltar à tela anterior
sem antes recarregar todo o aplicativo.
D- As opções de navegação ficam dispostas em um menu, que, por padrão,
fica escondido à esquerda da tela.
E- A navegação no modelo Stack Navigator é realizada apenas por meio do
botão de voltar no topo da tela.
Resposta B.
5- 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?
A- Os documentos armazenados na base utilizam sintaxe XML.
B- Oferece o aplicativo gráfico MongoDB Compass para a gerência da base.
C- Permite trabalhar no modelo de grafos, da mesma forma que o Neo4J.
D- Não é possível utilizar expressões regulares nas consultas aos
documentos.
E- Todo documento do MongoDB exige um campo identificador com o
nome key
Resposta B.
6- Assim como em diversos tipos de bancos de dados, no SQLite temos um
conjunto de tabelas de catálogo, responsáveis pelo armazenamento de
dados estruturais, registros de planos de execução e dados de controle.
Qual das tabelas de catálogo do SQLite está associada ao controle dos
valores de autoincremento?
A- sqlite_stat1
B- sqlite_keygen
C- sqlite_master
D- sqlite_sequence
E- sqlite_counter
Resposta D.
7- 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 ReactNative?
A- É 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.
B- Basta invocar a classe Base64, pois os valores já são codificados no
formato AES.
C- Precisamos utilizar o método digestStringAsync, fornecendo chave AES e
IV, tanto para a criptografia quanto para a recuperação da informação.
D- Não é possível trabalhar com o algoritmo AES no React Native, pois a
biblioteca CryptoJS não fornece um gestor apropriado para ele.
E- 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.
Resposta E.
8- 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?
A- componente mock
B- operador toEqual
C- função expect
D- função test
E- modificador async
Resposta A.
9- O HTTP é um protocolo da camada de Aplicação do modelo OSI (acrônimo
do inglês Open System Interconnection). O HTTP, base para a comunicação
Web, define em sua estrutura um conjunto de métodos de requisição.
Marque a opção abaixo que corresponda a um dos métodos HTTP:
A- PUT
B- POP
C- IMAP
D- RSTP
E- STP
Resposta A.
10- Entre os elementos que compõem o controle de acesso realizado através
do framework OAuth temos o Token. Sobre o mesmo, é correto afirmar:
A- É uma chave pública utilizada como contrassenha de uma chave-privada
armazenada em um servidor de recursos.
B- São dispositivos físicos, os mesmos usados por instituições bancárias,
que geram senhas aleatórias para acesso a sistemas que possuem
controle de acesso.
C- Trata-se de um certificado digital que, após obtido do servidor de
autorização, deve ser armazenado localmente para futuras utilizações.
D- É uma credencial equivalente a um usuário e senha, representado por
um único registro, a fim de facilitar o armazenamento de tal dado.
E- É uma credencial, formada por uma string alfanumérica e que,
normalmente, possui um tempo de vida limitado.
Resposta E.
11- A essência de um aplicativo escrito em React Native é:
A- Função
B- Pacote
C- Módulo
D- Classe
E- Componente
Resposta E.
12- (Vunesp - 2013 - MPE/ES - agente especializado - analista de infraestrutura
-adaptado) Na depuração de um código-fonte, para interromper a
execução do programa em determinada linha ou instrução para análise, é
necessária...
A- Uma chamada de sistema (system call).
B- A inclusão de pontos de interrupção (breakpoints).
C- A utilização de constantes.
D- A geração de arquivos de log.
E- A declaração de variáveis de parada
Resposta B.
13- O componente FlatList é bastante semelhante ao VirtualizedList. Marque a
opção que corresponde à principal diferença entre ambos.
A- O VirtualizedList, por ser uma implementação-base, sendo considerado
um tipo primitivo, está disponível apenas para a plataforma Android.
B- O FlatList permite a exibição seccionada de dados, enquanto o
VirtualizedList nãoo permite.
C- O VirtualizedList oferece um suporte melhor a dados imutáveis.
D- No VirtualizedList, não é possível utilizar um método na propriedade
renderItem, obrigando que seu conteúdo seja definido inline, ao
contrário do que acontece no FlatList.
E- No VirtualizedList, é possível haver o consumo e a exibição de dados
provenientes de fontes externas, enquanto no FlatList é possível
consumir apenas dados criados em arrays na própria aplicação.
Resposta C.
14- Aponte qual alternativa corresponde ao conjunto de propriedades
disponível nos três componentes de lista do React Native:
A- extraData - renderItem – keyExtractor
B- height - style – index
C- items - item – index
D- foreach -renderItem – getItem
E- section - extraData – data
Resposta A.
15- O ambiente do React Native oferece componentes para as mais diversas
situações, podendo contar com algumas bibliotecas nativas e outras
importadas via NPM ou YARN. Qual biblioteca deve ser importada para
permitir a escrita e leitura de pares chave- valor em arquivos de texto?
A- @types/react
B- @react-native-async-storage/async-storage
C- @react-navigation/Stack
D- @react-native-community/masked-view
E- @react-navigation/native
Resposta B.
16- O armazenamento com SQLite é bastante simples na plataforma React
Native, com um conjunto de objetos preparados para a execução de
comandos SQL dentro de blocos transacionais. Para iniciar a programação
necessária, devemos obter uma conexão com o banco de dados através
da função:
A- getConnection.
B- openDatabase.
C- transaction.
D- executeSQL.
E- createTable.
Resposta B.
17- O HTTP é um protocolo de transferência usado pela World Wide Web.
Para tal, são especificadas mensagens de requisição a servidores e
resposta. No HTTP são aceitas operações, também conhecidas como
métodos. Sobre os métodos HTTP, assinale a alternativa correta.
A- O método TRACE é comumente usado para solicitar o rastreio dos
servidores por onde a solicitação é enviada.
B- O método POST é comumente usado para solicitar a consulta a opções.
C- O método DELETE é comumente usado para solicitar a remoção da
conexão com o servidor.
D- O método PUT é comumente usado para solicitar a leitura de cabeçalho
de uma página.
E- O método GET é comumente usado para solicitar a leitura de um
recurso.
Resposta E.
18- A respeito do OAuth2 é correto afirmar:
A- É um framework de autorização que permite a um aplicativo ter acesso
limitado e controlado a recursos de terceiros, como APIs.
B- Essa biblioteca, disponível tanto para sistemas Web como para
aplicativos mobile, permite a realização de requisições a serviços REST
de forma segura.
C- O OAuth2 é uma biblioteca disponível para o framework React Native
que permite a realização de conexão remotas inseguras.
D- Trata-se de um protocolo de segurança, uma evolução do HTTPS para
aplicativos móveis.
E- O OAuth, em conjunto com o Bearer Token, são usados como chave de
segurança que permitem a utilização segura de recursos de terceiros.
Resposta A.
19- Considere um aplicativo React Native para controle de entregas, com uma
base SQLite que é alimentada a partir do servidor diariamente, criado na
arquitetura MVC, trabalhando com as entidades Cliente e Endereço,
ambas já definidas ao nível da camada Model, bem como respectivos
componentes DAO. Caso seja necessária uma busca de CLIENTES por
BAIRRO, do tipo texto, como seria a assinatura do método ao nível do
CONTROLLER?
A- public obterBairro(bairro: string,
useRetorno:(col: Ciente[])=>void):void {/*...*/}
B- public void obterBairro(String bairro): Cliente[] {/***/}
C- public async obterBairro(col: Cliente[],useRetorno:(b:
Bairro)=>Cliente[]):Promise {/***/}
D- public Cliente[] obterBairro(String bairro) {/***/}
E- public async obterBairro(bairro: string): Cliente[] {/***/}
Resposta A.
20- Um componente Reducer é parte integrante da arquitetura Redux, e tem
como objetivo efetuar os processos necessários para a mudança do estado
representado pelo componente Store. Quais são os requisitos para a
definição de uma função Reducer?
A- Ela deve ser uma função assíncrona, sem retorno de valor, que recebe
um componente Store e altera seu estado via callback.
B- Ela deve ter como entrada um estado inicial e uma ação, além de
retornar o estado modificado ao final da execução.
C- Ela precisa receber um listener para o componente View e emitir o
evento de atualização para o componente Store.
D- Ela deve receber um componente View, obter os dados a partir dele, e
utilizá-los para a modificação do estado atual do componente Store.
E- Ela precisa apenas receber o Dispatcher e repassar a solicitação para o
componente Store.
Resposta B.
21- "É considerado o componente base de uma aplicação Android. Por isso, é
o mais utilizado. Consiste em uma classe gerenciadora de UI (Interface do
usuário). Representa uma única tela do usuário. Tanto o fluxo da aplicação
como eventos de tela são de sua responsabilidade." A definição acima
corresponde ao componente:
A- Content Provider
B- Activity
C- Intent
D- Service
E- Broadcast Receive
Resposta B.
22- A Arquitetura do Android possui várias camadas. O conhecimento sobre
uma visão geral das mesmas bem como o propósito de cada uma é
fundamental para um desenvolvedor Android. Dito isso, selecione a opção
que contém todas as camadas da arquitetura da plataforma Android:
A- NDA.
B- Kernel GNU Linux, bibliotecas, framework para aplicações, as próprias
aplicações, runtime.
C- Kernel GNU Linux, bibliotecas, framework para aplicações, APIs,
runtime.
D- Kernel GNU Linux, bibliotecas, framework para aplicações, Dalvik,
runtime.
E- Kernel GNU Linux, Dalvik, framework para aplicações, APIs, runtime.
Resposta B.
23- Uma classe Activity na plataforma android representa:
A- Uma classe utilitária.
B- Um arquivo xml de configuração.
C- Uma tela do aplicativo móvel.
D- Um objeto do tipo botão.
E- Uma classe encapsulada com getters e setters.
Resposta C.
24- Qual método no Android é usado para recuperar a referência por id de um
componente view do arquivo xml ?
A- retrieveResourceById(int id);
B- findViewById(String id);
C- findViewByReference(int id);
D- findViewId(int id);
E- findViewById(int id);
Resposta E.
25- Em uma aplicação Android, deseja-se criar um menu que é exibido quando
o usuário clica e segura, por mais de 2segundos, um componente visual.
Indique abaixo, o tipo de menu que contempla a especificação acima.
A- Menu expandido.
B- Menu de contexto.
C- Menu de opção
D- Menu Pop-up.
E- Menu de Icone.
Resposta B.
26- Na plataforma Android,o controle Spinner é utilizado para a apresentação
de um conjunto de elementos por meio de um menu suspenso. Analise as
seguintes afirmações e escolha a opção correta:
I- Este controle também é conhecido como DropDown(ou
ComboBox).
II- Os elementos do Spinner não podem ser definidos de maneira
estática no arquivo de valores strings.xml.
III- A interface AdapterView. OnItemSelectedListener é utilizada para
determinar qual elemento do conjunto foi selecionado.
IV- A definição spinnerMode=dialog faz com que os elementos sejam
exibidos em uma janela específica.
A- Todas as sentenças estão incorretas.
B- Somente uma sentença está incorreta.
C- Somente uma sentença está correta.
D- Todas as sentenças estão corretas.
E- Apenas duas sentenças estão corretas.
Resposta B.
27- Marque a opção que não representa uma das formas de utilização de
Intents:
A- Solicitar ao SO que faça uma ligação para um determinado número.
B- Abrir o navegador em uma página específica.
C- Recolher o lixo gerado por objetos não utilizados.
D- Enviar uma mensagem ao SO.
E- Abrir uma nova tela da aplicação (navegação).
Resposta C.
28- Marque a opção querepresenta um banco de dados para aplicações para
Dispositivos moveis.
A- Sql Server
B- OnReset
C- Windows Server
D- SQLite
E- Oracle
Resposta D.
29- Uma aplicação Android faz a manipulação de dados em uma tabela de
nome "usuario" com duas colunas do tipo texto: "login" e "senha".
Deseja-se fazer a inclusão de um novo registro nessa tabela. Para tanto,
considere o trecho de código a seguir:
String sql = "INSERT INTO usuario VALUES (?,?);
SQLiteDatabase banco = this.getWritableDatabase();
SQLiteStatement cmd = banco.compileStatement(sql);
E indique a linha de comando correta para definir o parâmetro "1234"
para a coluna "senha" da tabela em questão.
A- cmd.bindString(2,"1234");
B- cmd.bindString(0,"1234");
C- cmd.bindString (3,"1234");
D- cmd.bindString(4,"1234");
E- cmd.bindString (1,"1234");
Resposta A.
30- Um erro comum na programação para acesso HTTP no Android é o uso de
uma conexão em meio à Activity, ou seja, na Thread principal, o que irá
gerar um erro. Com isso é necessário uso de execução em paralelo, o que
pode ser obtido com o uso de um objeto do tipo AsyncTask.
O trecho que será executado em paralelo deve ser implementado no
método:
A- doInBackground
B- doInProgress
C- onPostExecute
D- onPreExecute
E- onCreate
Resposta A.
31- Em um projeto Android, há alguns arquivos que desempenham papel
importante na definição e configuração do projeto. Assinale a alternativa
que indica corretamente o nome do arquivo cuja descrição é apresentada
a seguir:
"Considerado um dos principais arquivos de sua aplicação. É nele que são
descritas informações essenciais à execução de seu projeto como, por
exemplo:
Resposta E.
32-
Resposta C.
33-
Resposta B.
34-
Resposta A.
35-
Resposta A.
36-
Resposta A.
37- Há duas formas para se instalar um pacote utilizando o NPM: local e
global. Marque a alternativa correspondente ao comando para instalação
local do Expo Cli:
A- npx init expo-cli
B- npm install expo-cli local
C- npm install expo-cli
D- install expo-cli
E- local install expo-cli
Resposta C.
38- Em relação ao ambiente de programação para dispositivos móveis,
marque a alternativa verdadeira.
A- A utilização de gerenciadores de pacotes facilita a configuração do
ambiente de desenvolvimento. Com eles, nenhuma configuração se faz
necessária em termos de softwares ou mesmo de configurações no
sistema operacional.
B- É possível existir um ambiente de desenvolvimento heterogêneo, não
havendo restrições quanto à utilização apenas de um gerenciador de
pacotes, de uma mesma IDE ou mesmo de uma única forma de
desenvolver e testar nossos aplicativos.
C- Para testar aplicativos Android, é necessário ter um dispositivo móvel
que utilize tal sistema operacional.
D- O Android Studio é a única IDE que pode ser usada para a codificação de
aplicativos em React Native.
E- Quando utilizamos o Expo CLI para criarmos nossas aplicações, não é
possível, em um mesmo computador/ambiente, criar aplicações
utilizando o React Native CLI
Resposta B.
39- Em uma SectionList, uma propriedade define o ''agrupador'' ou definidor
de cada seção a ser exibida. Indique a alternativa que corresponde a esse
elemento:
A- Sectionskey
B- Extractor
C- data
D- RenderSectionHeader
E- RenderItem
Resposta D.
40- Em relação aos recursos de navegação disponíveis no framework React
Native, é correto afirmar que:
A- A exemplo dos websites, é possível construir a navegação entre todas as
telas do aplicativo utilizando apenas botões como elementos de link.
B- A navegação entre as telas em um aplicativo React Native, sem a
instalação de bibliotecas extras, pode ser feita puramente com o código
JavaScript.
C- A utilização de elementos específicos e otimizados para navegação deve
ser evitada, já que eles interferem na performance do aplicativo. Em seu
lugar, é preciso dar preferência à criação de aplicativos com apenas uma
tela, em que todo o conteúdo fica disponível em um único lugar.
D- É preciso instalar dependências/bibliotecas extras para a construção dos
elementos de navegação, como, por exemplo, menus.
E- A organização de nosso código em diferentes pastas e códigos,
separando, por exemplo, em scripts específicos os códigos de cada tela,
é o suficiente para que seja possível navegar entre todas elas a partir de
uma tela principal.
Resposta D.
41- Observe o fragmento de código apresentado a seguir, parte de um
aplicativo criado na plataforma React Native.
Qual será o resultado da execução desse trecho de código?
A- Será criada uma tabela com o nome ''Escola.db'', sendo inserido um
registro como nome ALUNOS, e valores indefinidos, devido ao uso de
interrogações.
B- Uma conexão será obtida de forma síncrona, sendo utilizada, em
seguida, para gerar uma transação e, a partir dela, alterar os dados
do aluno 120076.
C- Uma conexão será obtida de forma assíncrona, sendo utilizada, a
seguir, para iniciar uma transação e, a partir dela, inserir um registro
no banco de dados.
D- Será efetuada uma conexão com o banco de dados, configurado para
o arquivo ''Escola.db'', e na sequência a tabela ALUNOS é gerada no
banco.
E- Será criado um banco de dados com o nome ALUNOS, e na
sequência os registros 120076 e ''Luiz Paulo'' serão removidos da
tabela ''Escola.db''.
Resposta C.
42- As bases de dados NoSQL podem oferecer diferentes formas de
armazenamento e representação de dados, normalmente sem um
esquema fixo, motivo pelo qual temos a classificação de seus dados como
semiestruturados. Qual das opções apresentadas a seguir se refere a um
banco de dados NoSQL baseado em documentos?
A- SQL Lite
B- MongoDB
C- Neo4J
D- Hbase
E- Google Big Quey
Resposta B.
43- Assinale a alternativa abaixo que complementa corretamente a frase: ''O
uso de conexão remota, de recursos externos, permite enriquecer os
aplicativos mobile. Por outro lado, alguns cuidados precisam ter tomados,
como ...
A- '' Utilizar uma abordagem Offline First a fim de garantir que o aplicativo
funcione mesmo sem conexão à internet.
B- Usar apenas APIs remotas próprias.
C- Informar ao usuário que o aplicativo faz uso de recursos externos.
D- Somente utilizar o aplicativo quando se estiver conectado à internet.
E- Testar diariamente as APIs externas para ver se estão funcionando.
Resposta A.
44- Em um aplicativo desenvolvido seguindo o modelo Offline First, é uma boa
prática executar o fluxo de sincronização:
A- De forma periódica e previamente definida, independente do aplicativo
estar em uso ou não. Por ex.: de 15 em 15 minutos.
B- Sob demanda do usuário, deixando sob seu controle tal ação.
C- Antes do aplicativo ser iniciado. Dessa forma é possível armazenar
localmente uma cópia atualizada dos dados.
D- Após o aplicativo ser encerrado e em ''background''. Com isso é possível
otimizar o processo e poupar recursos.
E- No momento em que o aplicativo se conectar pela primeira vez à
internet e, posteriormente, de forma periódica durante o seu uso.
Resposta E.
45- 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?
A- função expect
B- função test
C- operador toEqual
D- modificador async
E- componente mock
Resposta E.
46- Entre os requisitos de segurança da plataforma Android, atualmente não é
aceitável que o mesmo IV seja utilizado na geração sequencial de chaves.
Ao utilizar a biblioteca CryptoJS, portada para React Native de sua verão
NodeJS, qual comando seria utilizado para criar um IV formado por
valores aleatórios?
A- CryptoJS.lib.IV.createFrom(''randomBytes'')
B-CryptoJS.lib.ByteArray.createIV([128,16])
C- CryptoJS.lib.WordArray.random(16)
D- CryptoJS.lib.generateIV(128/8)
E- CryptoJS.IV.getVector(128)
Resposta C.
47-
Resposta E.
48-
Resposta C.
49-
Resposta E.
50-
Resposta D.
51-
Resposta E.
52-
Resposta D.
53-
Resposta B.
54- Em relação à hierarquia de componentes nativos, é correto afirmar que:
A- A regra de hierarquias ou de componentes que podem ser utilizados em
conjunto é bastante flexível. Entretanto, no caso de componentes de
diferentes tipos serem utilizados em conjunto, não é possível estilizá-los
individualmente, havendo apenas a possibilidade de que os filhos
herdem os mesmos estilos dos elementos-pai.
B- Um componente não pode ser usado como contêiner.
Consequentemente, ele não pode ter nenhum outro componente
aninhado em si.
C- Um componente só pode ser contêiner de outros componentes do
mesmo tipo.
D- A hierarquia de componentes em React Native é bastante flexível. Com
isso, é possível utilizar em conjunto diferentes componentes, inclusive
como contêineres de outros componentes.
E- Embora os componentes possam ser usados como contêiner de outros,
há uma restrição para essa regra em relação ao componente View, que
só pode ser utilizado para outros componentes do mesmo tipo.
Resposta D.
55- Indique qual afirmativa está correta em relação aos componentes de lista
disponíveis em React Native:
A- 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.
B- 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.
C- 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.
D- 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.
E- 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.
Resposta A.
56- O banco de dados Realm é manuseado, no React Native, a partir de uma
classe com o mesmo nome, concentrando todos os métodos necessários
para consultar e modificar os objetos de qualquer coleção incluída no
esquema de criação. Qual método da classe Realm seria utilizado para
acrescentar um objeto a uma coleção do banco?
A- ObjectForPrimaryKey
B- Write
C- beginTransaction
D- commitTransaction
E- create
Resposta E.
57- A conexão remota realizada em aplicativos escritos com o framework
React Native através de bibliotecas como Fetch API, Axios, entre outras,
implementa o padrão AJAX. Tal padrão caracteriza-se pelo uso do
objetoXMLHttpRequest para se comunicar com os recursos disponíveis
remotamente. Em relação a essa tecnologia, é correto afirmar:(Adaptado
de: Ano: 2019 - Banca: Questões Inéditas - Prova: Questões Inéditas - SOE -
Sem Órgão Específico- Carreiras TI - 2º Simulado)Em relação a essa
tecnologia, podemos afirmar que:
A- Para verificar se a requisição foi realizada com sucesso, devemos
observar se a propriedade 'status' doXMLHttpRequest possui o valor
'OK'.
B- Pode receber informações em uma variedade de formatos, incluindo
JSON, XML e Texto puro.
C- Para que seja possível a sua execução, a linguagem JavaScript (ou
Typescript) deve ser utilizada tantono front-end como no back-end.
D- As requisições possuem natureza síncrona, refletindo automaticamente
no aplicativo o estado do servidor de aplicação remoto.
E- Pode enviar informações somente no formato XML.
Resposta B.
58- Qual componente abaixo permite a entrada de textos em uma aplicação
React Native?
A- < UITextField >
B- < Text >
C- < Input >
D- < Textlnput >
E- < EditText >
Resposta D.
59- Aponte o comando utilizado para se inicializar a visualização do aplicativo
React Native em um dispositivo físico ou virtual na plataforma Android?
A- npx react-native run-android
B- npm install nome_da_aplicacao
C- npx react-native init nome_da_aplicacao
D- expo init react-native nome_da_aplicacao
E- npx install run-android
Resposta A.
60- No ambiente web, um elemento é bastante usado para a exibição de
informações, sobrepondo os demais elementos visuais da página. Trata-se
do pop-up ou, como vem sendo mais recentemente chamado, modal. Em
React Native, tal componente, o modal, também está disponível. A
respeito desse componente, é correto afirmar que:
A- Diferentemente dos demais componentes disponíveis em React Native,
não é possível controlar, por meio de códigos, como funções ou state, a
exibição do modal.
B- Considerando os tamanhos de tela limitados dos dispositivos móveis,
utilizar o componente modal consiste em uma boa estratégia, já que ele
permite exibir de forma controlada mais informações ao usuário,
inclusive sem fazer com que ele precise alternar entre diferentes telas.
C- Seu uso deve ser evitado ao máximo, pois tal elemento polui a tela,
além de deixar o usuário confuso.
D- Como se trata de um componente para a exibição de informações
complementares, que, portanto, preza pela simplicidade, o modal só
pode conter em si o componente Text.
E- Embora muito útil, o desenvolvedor não tem total controle sobre a
exibição do modal, uma vez que o usuário pode desabilitar, em seu
dispositivo, a exibição dele.
Resposta B.
61- O React Native fornece alguns recursos para a estilização de aplicativos.
Marque a alternativa que corresponde a tais recursos?
A- Os estilos, em React Native, devem ser armazenados em arquivos
externos com a extensão CSS.
B- A estilização de aplicativos React Native segue os princípios similares aos
de páginas web. Logo, é possível aplicar estilos de forma inline, interna
ou externa. Uma das principais diferenças ao se utilizar os estilos se dá
pelo nome das propriedades, as quais, em React, precisam estar no
formato camelCase.
C- É possível aplicar estilos CSS utilizando os mesmos nomes de
propriedades usados no ambiente web, usando até a tag/componente <
style > para isso.
D- Além de permitir a inclusão de estilos por meio da tag < style > de forma
interna, em React Também é possível utilizar o código JS para a
estilização dos componentes.
E- Algumas propriedades de estilo estão disponíveis apenas por meio de
bibliotecas externas, como a StyledComponents.
Resposta B.
62- Considere as afirmativas apresentadas a seguir, referentes à classe Realm,
disponível para a plataforma ReactNative através da importação correta:
I - Pelo método write definimos um bloco transacional de escrita, e as
operações efetuadas são refletidas no banco após o término da execução
do bloco.
II - Para a exclusão de um objeto de uma coleção do banco de dados, deve
ser utilizado o método purge.
III - Utilizando o método objectForPrimaryKey, recuperamos um objeto de
uma coleção através do valor de sua chave primária.
Marque a alternativa correta, com relação às informações apresentadas:
A- As afirmativas I e III estão corretas.
B- Apenas a afirmativa III está correta.
C- As afirmativas II e III estão corretas.
D- As afirmativas I e II estão corretas.
E- Apenas a afirmativa I está correta.
Resposta A.
63- A resposta de uma requisição realizada com a biblioteca Axios pode ser
acessada através do objeto:
A- JSON.stringify().
B- JSONResponse.
C- innerHTML.
D- Response.data.
E- responseText.
Resposta D.
64- A arquitetura Redux surgiu como uma alternativa aoFlux, 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:
A- Action, Dispatcher, Controller e Store.
B- View, Store, Dispatcher e Reducer.
C- View, Action, Store e Dispatcher.
D- View, Action, Store e Reducer.
E- Action, Model e Store.
Resposta D.
65- Tanto Android quanto iOS apresentam estruturas para armazenamento
seguro de dados simples, normalmente associados à configuração dos
aplicativos, como Keychain, para o iOS, e EncryptedSharedPreferences, no
ambiente Android. Qual componente deve ser utilizado, no
desenvolvimento com React Native, para encapsular os mecanismos
básicos de gravação segura de ambas as plataformas?
A- CryptoJS
B- AsyncStorage
C- KeyStore
D- EncryptedStorage
E- Dispatcher
Resposta D.
66- Para trabalhar com as coleções do MongoDB, a partir de um serviço Web,
construído com base no Node.js, devemos inicialmente obter uma
conexão com a base, através da classe MongoClient, oferecida na
biblioteca MongoDB. A partir da conexão, acessamos as coleções, e
podemos utilizar os métodos disponibilizados por elas para manipulação e
consulta de documentos. Qual desses métodos permite a inclusão de um
documento?
A- Find.
B- findAll .
C- persist.
D- insertOne.
E- Create.
Resposta D.
67- Bancos de dados MongoDB são bastante pesados, sendo utilizados em
servidores, e o acesso para consulta e manipulação deve ser intermediado
por um serviço Web, que normalmente oferece uma API do tipo REST,
fornecendo dados no formato JSON. Para a construção do aplicativo
cliente, no React Native, podemos utilizar uma biblioteca que facilita a
criação das chamadas HTTP para o serviço Web, englobando todos os
métodos do protocolo, a qual é chamada de?
A- mongodb
B- express
C- ngrok
D- axios
E- router
Resposta D.
68- A exemplo do que é possível fazer em aplicações web, também se pode
validar dados inseridos em componentes do tipo TextInput em React
Native. Normalmente, tal validação é realizada na ocorrência de dois
eventos. Marque a alternativa que corresponde a esses eventos?
A- Onfocus e onblur.
B- Oninit e onexit.
C- Focus e blur.
D- Submit e clear.
E- Onpress e onclick.
Resposta C.
69- Ao final do processo de desenvolvimento, com todos os testes executados
com sucesso e melhorias de performance implementadas, um aplicativo
deve ser empacotado para que possa ser distribuído. Para o ambiente
Android, qual será o programa utilizado na criação de uma versão para
distribuição em um projeto do tipo nativo?
A- Expo Client
B- XCode
C- Gradlew
D- Keytool
E- Expo
Resposta C.
70- Assinale qual destas opções corresponde ao propósito do componente
ScrollView:
A- O ScrollView é um componente disponível apenas para a plataforma
iOS, cuja função é permitir a conteinerização de elementos de forma a
manter sempre um tamanho predefinido da tela.
B- O propósito do componente ScrollView é permitir o carregamento de
conteúdo dinâmico a partir da interação de arrastar e soltar.
C- O ScrollView tem como função exibir dados em formato de listas,
permitindo a rolagem desses dados de maneira performática.
D- Controlar a exibição de textos muito extensos.
E- O ScrollView é um elemento com a função de container, que pode
conter em si vários elementos, mantendo uma altura previamente
definida e permitindo a navegação entre os elementos nele contidos por
meio de rolagem, que pode ser tanto vertical quanto horizontal.
Resposta E.
71- As diversas áreas do desenvolvimento de software sempre estão
associadas a diversos ferramentais da matemática. No caso específico dos
bancos de dados relacionais, quais são os elementos matemáticos que os
regem?
A- Álgebra Linear e Cálculo Relacional.
B- Cálculo Relacional e Álgebra Relacional.
C- Cálculo Lambda e Inferência Lógica.
D- Lógica Booleana e Álgebra Relacional.
E- Cálculo Relacional e Lógica Fuzzy.
Resposta B.
72- JSX é uma sintaxe de extensão à linguagem JavaScript familiar ao XML.
Com base em sua definição e características, é correto afirmar que:
A- Durante o processo de building da aplicação (seja uma aplicação web
utilizando ReactJS ou um aplicativo mobile empregando React Native),
há uma etapa na qual o código JSX é convertido em código JavaScript.
B- JSX não é uma linguagem, e sim uma extensão para arquivos JavaScript,
a fim de diferenciá-los de arquivos JavaScript que utilizam a extensão
''.js''.
C- JSX não permite que o código responsável pela lógica dos componentes
e o mark-up de manipulação do DOM coexistam em um mesmo código.
D- JSX é a única linguagem disponível para o desenvolvimento híbrido de
aplicativos mobile.
E- JSX exerce o papel de uma linguagem de estilos que permite a
construção de componentes de interface ricos.
Resposta A.
73- A camada View, na arquitetura MVC, corresponde às interfaces gráficas, e
deve englobar apenas componentes para interação com o usuário e
críticas de formatação. Ela depende de uma camada Controller, fazendo
com que a obtenção e manipulação de dados sejam sempre intermediadas
por um controlador. Considerando um componente FlatList, alimentado
por uma coleção de entidades interna, como podemos garantir que a lista
seja atualizada, a partir da chamada ao método de consulta do
controlador, sempre que a janela é exibida?
A- Devemos invocar o método obterTodos, ou equivalente, a partir do
controlador, dentro de um bloco useEffect, filtrado para o ganho de
foco, com base em useIsFocused.
B- Basta ignorar o controlador e efetuar a chamada ao componente DAO
diretamente, mas sempre no bloco componentDidMount.
C- Devemos invocar o método de consulta do componente DAO, no
modelo assíncrono, em um bloco do tipo useIsFocused, filtrado para
useEffect.
D- Precisamos utilizar uma função na sintaxe Java Script, acionada pelo
evento onLoad.
E- É necessário efetuar uma chamada assíncrona para o método de
consulta do controlador, e na cláusula then definir um bloco do tipo
componentDidUpdate.
Resposta A.
74- Suponha que você precisa exibir os dados de uma coleção de entidades
recuperadas de um arquivo texto, com armazenamento no formato chave-
valor, e o componente adotado para a visualização será o FlatList. Se o
campo de identificação da entidade não seguir o padrão do FlatList, você
deverá associar um método para extração da chave a qual atributo do
componente?
A- KeyExtractor
B- ContenteContainerStyle
C- Style
D- Data
E- RenderItem
Resposta A.
75- 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?
A- Euler
B- Runge-Kutta
C- SHA1
D- Base64
E- MD5
Resposta D.
76- A utilização de animações fornece aos usuários uma melhor experiência
no manuseio dos aplicativos mobile. Em React Native, estão disponíveis
nativamente duas APIs para a animação de elementos. Falando da
LayoutAnimation API, é correto afirmar que:
A- LayoutAnimation faz o mesmo papel na plataforma iOS.
B- Essa API é voltada para a animação do layout do aplicativo, permitindo,
por exemplo, que efeitos sejam exibidos quando o aplicativo está sendo
carregado/renderizado.
C- É uma API ainda experimental, com algumas limitações, sobretudo na
plataforma Android.
D- Por questões de performance, a LayoutAnimation nunca deve ser
utilizada em conjunto com a AnimatedAPI.
E- A LayoutAnimation é uma API mais flexível e que possui mais recursos
que a Animated API, devendo ser usada de forma preferencial para aanimação de qualquer tipo de componente.
Resposta B.
77- Um exemplo de banco de dados orientado a objetos de ampla aceitação
no mercado é o Realm, oferecido sob licença Apache, com acesso
simplificado a partir de linguagens como C#, Java, Swift, Objective-C,
Kotlin e JavaScript. Qual das opções abaixo não pode ser considerada uma
característica do Realm?
A- Utiliza pouco espaço em disco.
B- É uma plataforma de código aberto.
C- Tem baixo consumo de memória.
D- Só pode ser executado em ambiente servidor.
E- Todos os dados são observados como objetos e coleções.
Resposta D.
78- Os bancos de dados orientados a objetos permitem que utilizemos um
sistema de armazenamento com estrutura similar à utilizada pelas
linguagens de programação da atualidade, diminuindo a distância
semântica do modelo relacional. Qual alternativa se refere a um banco de
dados que, embora também use o modelo documental, é reconhecido
como orientado a objetos?
A- SQLite
B- Realm
C- MongoDB
D- SQL Server
E- Oracle
Resposta B.
79- (Vunesp - 2020 - técnico em gestão - informática) Um programador,
durante o desenvolvimento de um programa, descobriu que ele não está
funcionando de acordo com a especificação. No processo de depuração,
ele resolveu inserir um breakpoint nesse programa, o que permite...
A- Inspecionar variáveis e conteúdo da memória durante a parada
intencional do programa.
B- Compilar seletivamente o programa, gerando o código executável
somente com as partes que realmente serão executadas.
C- Fornecer ao programa n conjuntos de entradas de dados e executar, de
uma só vez, n vezes o programa, uma para cada conjunto.
D- Executar uma rotina de trás para frente, buscando rastrear a forma
como as variáveis foram alteradas.
E- Executar o programa, instrução a instrução, do seu início ao fim.
Resposta A.
80- Qual dos elementos abaixo é o principal elemento na construção de uma
interface gráfica (UI) em ReactNative?
A- StyleSheet
B- Switch
C- View
D- Export default View
E- Const ViewExemplo
Resposta C.
81- A gestão de pacotes e bibliotecas em um projeto React é realizada por
gerenciadores de dependências, como, por exemplo, o NPM e o YARN.
Tendo como base o NPM, assinale a alternativa que corresponde a um
comando NPM válido?
A- eact-native run-android
B- npx react-native init
C- node -v
D- npm install explo-cli
E- yarn add react-base
Resposta D.
82- 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?
A- ANY
B- IN
C- ALL
D- NOT IN
E- LIKE
Resposta E.
83- 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?
A- GetStore
B- Subscribe
C- CreateStore
D- Dispatch
E- GetState
Resposta C.
84- O desenvolvimento de um aplicativo multiusuário, considerando o modelo
Offline First, faz com que alguns cuidados extras sejam tomados, como a
identificação correta do usuário. Isso porque:
A- A autenticação é individual. Logo, as credenciais para acesso aos
recursos remotos variam de usuário para usuário.
B- Cada usuário tem suas próprias preferências. Logo, cada um poderá
optar por sincronizar os dados em momentos distintos.
C- Para funcionar corretamente, o aplicativo precisa vincular e armazenar o
token de acesso recebido a casa usuário logado.
D- Os dados, no modelo Offline First, são armazenados localmente e
posteriormente sincronizados com os dados existentes remotamente.
Não identificar o usuário relativo a cada dado geraria inconsistência nos
mesmos, uma vez que não seria possível identificar o responsável por
cada informação, por exemplo.
E- Cada usuário tem um gosto diferente. Logo, as telas do aplicativo, além
de otimistas, precisam agradar a cada um de seus usuários.
Resposta D.
85- Quando os objetos são alocados, durante a execução de um programa
qualquer, os espaços na memória são alocados de forma esparsa, onde
um atributo qualquer do tipo objeto será um ponteiro para outra região
de memória. Para viabilizar a transmissão ou armazenagem de um objeto,
ele deve ser convertido para uma representação contínua, segundo o
processo conhecido como?
A- persistência.
B- Serialização.
C- Reflexividade.
D- Continuidade.
E- estatização.
Resposta B.
86- Pacotes instalados por intermédio de gerenciadores de pacotes são
armazenados em que local?
A- Na raiz do projeto.
B- Na memória do dispositivo móvel.
C- Na pasta Arquivos de Programas do ambiente Windows. No Linux, isso
pode variar de acordo com a distribuição, mas os pacotes normalmente
são armazenados na pasta /opt/.
D- O local de armazenamento pode variar, devendo ser indicado no
momento da instalação de cada pacote.
E- Na pasta ''node_modules'', dentro da pasta do projeto.
Resposta E.
87- ''Na comunicação com recursos remotos, é uma alternativa à XML para
representar os dados transferidos; comumente utilizado em aplicativos
que fazem uso de requisições Ajax. Seus objetos são representados como
uma lista de nomes e valores de propriedade entre colchetes. Trata-se de
um formato simples que facilita leitura, criação e análise de objetos e,
ainda, permite que programas transmitam dados eficientemente pela
internet.'' Trata-se de:
A- POJO - Plain Old Java Object.
B- SOAP - Simple Object Access Protocol.
C- JSON - JavaScript Object Notation.
D- VO - Value Object.
E- REST - Representational State Transfer
Resposta C.