Prévia do material em texto
CURTA MEU MATERIAL NO PASSEI DIRETO PARA ME AJUDAR A PRODUZIR MAIS =) AVALIAÇÃO ONLINE – ESAB DESENVOLVIMENTO MOBILE PARA IOS 1- O Ionic é um framework de desenvolvimento multiplataforma. Em resumo, a aplicação desenvolvida com o Ionic pode ser executada em Android e em iOS. Sobre a geração do arquivo para publicação, é correto afirmar que: o Ionic gera o executável do Android via linha de comando e prepara o projeto do iOS que deve ser compilado via Xcode. 2- O banco de dados SQLite está no contexto da persistência de dados no Android. Qual das opções a seguir está correta sobre as características desse banco de dados? Qualquer banco de dados poderá ser acessado por seu nome a partir de qualquer classe da aplicação, mas não poderá ser acessado fora dela. 3- No projeto de desenvolvimento de softwares móveis, uma das atividades importantes é projetar as interfaces. Os projetos de interfaces podem ser feitos à mão ou com ferramentas de software. Para um protótipo de tela com alta fidedignidade, uma ferramenta indicada é: Figma. 4- A própria Google, criadora da plataforma Android, faz uma indicação para conexão com o banco de dados SQLite. Qual subclasse deve ser utilizada? SQLiteOpenHelper. (C) 5- Quais destes itens é um possível problema que pode ocorrer em uma prototipação mal planejada? Tempo de desenvolvimento do protótipo elevado. 6- Publicar uma aplicação nas lojas de aplicativos oficiais significa, necessariamente, estar em conformidade com as diretrizes de cada companhia. A esse respeito, é correto afirmar que: ambas as app stores apresentam normas explícitas que regulamentam o acesso a dados e o uso que se dará aos dados coletados. 7- Quando trabalhamos com banco de dados, podemos encontrar diversos modelos. Os mais populares têm sido o banco de dados relacional e o não relacional. Um banco de dados relacional relaciona tabelas em um servidor. Um banco de dados não relacional não utiliza a linguagem SQL. (D) 8- Qual destes itens é uma vantagem do uso de prototipação de software? Aumento do envolvimento dos usuários. 9- Existem alguns requisitos que os desenvolvedores devem cumprir antes da publicação nas lojas de aplicativos. Sobre esses requisitos, é correto afirmar que: ambas as plataformas exigem conta de desenvolvedor paga e assinatura de contrato digital. 10- Quais dos itens abaixo impacta na decisão do grau de fidelidade (o quão parecido/igual será) entre um protótipo e o produto final? Custo e tempo de projeto. 11- Assinale a alternativa correta no que se refere a diagramas de interação e sua utilização. Diagramas de interação são especialmente úteis para sistemas orientados a objetos porque a funcionalidade nesses sistemas geralmente é distribuída em muitas classes diferentes. 12- Uma das principais características de um PWA é estar sempre disponível mesmo off-line; para que isso seja possível, é necessário efetuar a programação de um componente específico no seu PWA, chamado de Service Worker. Assinale a alternativa que contém a descrição correta de alguma característica desse componente: Service Worker é um script executado pelo navegador em segundo plano. 13- Ao desenvolver um aplicativo para o Android, é fundamental conhecer os recursos que estão disponíveis e saber como utilizá-los na aplicação. Também é possível desenvolver recursos próprios que serão utilizados por outros aplicativos. Sobre o conceito de recursos, é correto afirmar: São exemplos de recursos originais, por exemplo, os relacionados a layout de interface. 14- Existem normas e regras que regulamentam a publicação de aplicativos na Apple App Store e na Google Play Store. Sobre essas normas, é correto afirmar que: as normas são baseadas em princípios próprios de cada companhia, além da legislação local de onde o aplicativo será distribuído. 15- Qual a diferença entre diagrama de sequência e diagrama de comunicação? Diagrama de sequência enfatiza ordenação de mensagens trocadas entre objetos enquanto diagrama de comunicação enfatiza organização dos objetos em uma interação. (B) 16- Os padrões de projeto são divididos em três grupos: - CREATIONAL PATTERNS: padrões de criação, cujo objetivo é a abstração da instância de objetos. -STRUCTURAL PATTERNS: padrão estrutural, cujo objetivo é a organização e a estrutura das classes, bem como o relacionamento destas com os objetos. - BEHAVIORAL PATTERNS: padrão comportamental, cujo objetivo é delegar responsabilidade, definindo como os objetos devem se comportar e se comunicar. Neste contexto, considere: I. O objetivo do padrão de projeto Singleton, do grupo Padrão de Criação, é conter um único objeto na classe. II. O padrão de projeto Proxy, do grupo de padrões estruturais, permite que o sistema utilize um objeto no lugar de outro. Ele é muito utilizado em processo de carregamento de imagens, por exemplo. III. O padrão de projeto Memento, do grupo de padrões estruturais, permite guardar e restaurar um estado do objeto, sendo muito utilizado para manipular históricos. Dentre as afirmações, quais são verdadeiras? I e II. 17- Os menus são utilizados para facilitar o acesso às funcionalidades do sistema ou para algumas ações bem específicas, como, por exemplo, sair do sistema. Sobre os processos realizados para a criação de um menu em um aplicativo Android, assinale a alternativa correta: Criar um diretório de menu, criar um arquivo XML de menu e inserir o menu via Java. 18- Os padrões de projeto facilitam a reutilização de soluções e arquiteturas de softwares orientados a objetos de forma flexível e fácil, reduzindo a complexidade do projeto e resolvendo os problemas. Considerando os padrões do livro Padrões de Projeto – Soluções reutilizáveis de software orientado a objetos, de Erich Gamma, é correto afirmar sobre GoF: O GoF, composto por 23 padrões, tornou-se base para outros padrões. 19- Qual a função de um Diagrama de Casos de Uso? Descrever os requisitos funcionais de um sistema de maneira simples e direta para usuários e desenvolvedores. 20- Qual a função do banco de dados em uma aplicação Web? É onde as informações ficam salvas e podem ser lidas e alteradas. 21- Um dos recursos que se pode trabalhar no Android são as strings. Por exemplo, se quiser padronizar o rótulo de um botão para que todo lugar em que ele seja exibido fique com a mesma informação, pode-se fazer isso alterando o arquivo string.xml. Acerca do arquivo string.xml, é correto afirmar: O arquivo string.xml fica localizado no diretório de resources e é utilizado para armazenar strings e seus valores. 22- A maioria dos desenvolvedores de sistemas operativos para aplicativos móveis fornecem guias de recomendação para aplicativos em suas plataformas. Sobre a finalidade desses guias, assinale a alternativa correta. Citam recomendações sobre usabilidade geral. 23- WebApps estão no mercado mobile para preencher uma lacuna deixada pelos aplicativos nativos de dispositivos móveis no que diz respeito à portabilidade e à facilidade de desenvolvimento. Sobre WebApps, site responsivo e aplicativos nativos, assinale a alternativa correta: WebApps são aplicativos que são disponíveis off-line e interagem com componentes nativos dos dispositivos. 24- Ao utilizar banco de dados em uma aplicação, é necessário efetuar a configuração da comunicação da aplicação no servidor, independentemente de ser local, remoto ou baseado em serviço. Além disso, é necessário estender classes ou importar bibliotecas que serão responsáveis por gerenciar o banco de dados. Ao optar pela utilização de um banco de dados local em aplicações Android, se está tentando cumprir principalmente qual necessidade? Prover armazenamento off-line de dados do usuário. 25- O que são e para que servem os diagramas de interação? São modelosque têm por objetivo descrever como grupos de objetos colaboram com comportamentos e são utilizados para visualizar, especificar, construir e documentar objetos ou, ainda, para fazer a modelagem de fluxos de controle de caso de uso. 26- A classe R.java é gerada automaticamente pelo plugin da IDE de desenvolvimento. Essa classe tem papel fundamental, pois ela é responsável por fazer o relacionamento entre os arquivos .xml e os .java do projeto. Essa classe não pode, de forma alguma, ser alterada, e a sua alteração só será feita pela geração de uma nova compilação do projeto. Não é preciso se preocupar com isso, mas é importante conhecer seus métodos.Escolha a alternativa que está correta acerca da finalidade da classe R.java: A classe R.java é tem por finalidade manter a sincronia entre o arquivo .xml do projeto e o .java do desenvolvimento. (D) 27- Para desenvolver softwares móveis de qualidade, deve-se analisar os diferentes contextos da aplicação, suas interações, sua usabilidade, a privacidade e a segurança. Para isso, testes devem ser realizados, como, por exemplo, o funcional, que busca conferir: a implementação e o funcionamento de todos os requisitos, que devem corresponder ao esperado. 28- Ao desenvolver um aplicativo, o desenvolvedor pode optar entre diferentes opções para armazenar os dados. É possível utilizar bancos de dados locais, remotos ou baseados em serviços. Os bancos de dados baseados em serviços oferecem algumas vantagens. Assinale a alternativa a seguir que indica vantagens de se utilizar um banco de dados baseado em serviços. Não é necessário muitos recursos, como tempo/dinheiro, para criar uma estrutura back-end. 29- O que é o Modelo Lógico? Modelo que faz um mapeamento dos dados da solução escolhida para a aplicação. 30- O que é uma chave estrangeira? A coluna em outra tabela que faz relação à chave primária. 31- A grande vantagem em utilizar o Cordova é devido ao pacote de plugins que ele fornece. Além dos plugins oferecidos pelo próprio framework, há também outros plugins de terceiros que são compatíveis com a plataforma. Conforme a arquitetura de uma aplicação Cordova, quais são os seus principais componentes? Web App, WebView e Cordova Plugins. 32- Os recursos de string fornecem strings de texto para o aplicativo com estilo e formatação de texto opcional. Existem três tipos de recursos que podem fornecer strings ao seu aplicativo. A utilização do recurso de strings permite: criar recursos de strings reutilizáveis para aplicação. 33- Na prototipação descartável, quais os passos que devem ser realizados para coletar requisitos? 1 - Escreva os requisitos preliminares. 2 - Crie o protótipo. 3 - O usuário experimenta/usa o protótipo, especifica novos requisitos. 4 - Repita, se necessário. 5 - Escreva os requisitos finais. (B) 34- O que são os atores em um Diagrama de Casos de Uso? Os papéis e funções que cada um representa dentro do contexto do sistema. 35- Existem várias regras para o desenvolvimento de aplicativos móveis e de aplicativos em determinadas plataformas como iOS e Android. Essa variedade, às vezes, dificulta a publicação do seu software em uma Store. É uma boa prática no desenvolvimento: serem os rótulos de widget de fácil reconhecimento e de tamanho adequado. 36- Entre desenvolvedores iniciantes, é comum a confusão entre os conceitos de bibliotecas e APIs. Selecione a alternativa que contém o conceito de bibliotecas: São coleções de implementações que podem ser importadas e reutilizadas. 37- Devido ao não acesso direto às funcionalidades nativas do dispositivo, algumas das interações mais específicas, serão, por padrão, controladas pelo auxílio de alguns plugins e/ou ferramentas desenvolvidas para o sistema operacional específico. Qual das opções a seguir é um possível exemplo de framework que possibilita a comunicação com as funcionalidades nativas do dispositivo? Apache Cordova. 38- São características do modelo incremental: É flexível, possui gerenciamento de riscos e de fácil atualização. 39- Marque a alternativa que melhor descreve o padrão Strategy. Define uma família de algoritmos, encapsula cada um deles e torna-os intercambiáveis. 40- A publicação de aplicativos na Google Play Store e Apple App Store é regulada por diretrizes e normativas que visam tanto a questões de segurança como de experiência do usuário. Considerando as normativas da Google Play e da Apple App Store, é correto afirmar que: a Apple mantém uma política rígida de análise de desempenho de aplicações. 41- O que é uma chave primária? A coluna que é utilizada como índice no banco de dados. 42- Existe um conjunto de plugins padrões básicos, os quais fornecem à aplicação a possibilidade de acessar os recursos do dispositivo, como o acelerômetro, o GPS, a bateria, a câmera, os contatos, etc. Como é chamado esse conjunto de plugins, conforme a documentação oficial do Apache Cordova? Core Plugins. 43- Depois de posicionar um elemento de menu na tela de um aplicativo, é necessário dar ações para esse menu; do contrário, ele será apenas um elemento visual sem funcionalidades. Em relação às ações de menus, assinale a alternativa correta: Dentro do método onOptionsItemSelected, é necessário utilizar o método getItemId para conseguir identificar qual item do menu foi clicado. 44- Qual a função do Diagrama Entidade/Relacionamento? Define a modelagem dos conceitos que devem ser armazenados em um banco de dados. 45- A partir do construtor que você definiu, você poderá obter uma instância de implementação de SQLiteOpenHelper. Para que se possa realizar operações de gravação e leitura no banco de dados, quais métodos devem ser invocados? getWritableDatabase() e getReadableDatabase(). (A) 46- Em aplicações que envolvem exposição de rotas como, por exemplo, Uber e Ifood, ao invés de implementar funções que já existem, como o mapa, podem-se utilizar serviços já existentes. Tais serviços são denominados de: API. 47- Além do desenvolvimento nativo, é possível elencar o desenvolvimento híbrido, o qual pode ser descrito como uma mistura do desenvolvimento nativo, utilizando os recursos mais complexos de hardware, com o desenvolvimento Web, utilizando HTML5, CSS e JavaScript. Sendo assim, marque a alternativa que melhor conceitualiza o desenvolvimento híbrido. Uma aplicação híbrida é desenvolvida para funcionar em múltiplas plataformas, sendo que os custos de apoio a uma aplicação híbrida podem ser maiores que os custos de apoio a uma aplicação nativa. 48- Quando se fala em desenvolvimento específico para cada plataforma, é possível chamar essa abordagem de desenvolvimento nativo. Sendo assim, marque a alternativa que melhor corresponde a esse tipo de desenvolvimento. É quando toda e qualquer funcionalidade de uma determinada plataforma fica à disposição, sem restrições, podendo implementar padrões de interface gráfica e de experiência com o usuário. (A) 49- Marque a alternativa incorreta referente a padrões de projeto. Padrões de projeto não conseguem resolver problemas específicos. 50- Em geral, um padrão tem quatro elementos essenciais. Marque a alternativa que descreve de forma incorreta o elemento. A solução do problema incluirá uma lista de condições que devem ser satisfeitas para que faça sentido aplicar padrão. 51- Para a personalização de ListView e GridView, é necessária a utilização de adapters. Para isso, você precisa criar a sua própria classe de adapter; contudo, o Android dispõe de alguns adapters predefinidos que, quando utilizados corretamente, permitem montar uma lista padrão de forma facilitada. Sobre os adapters, assinale a alternativa correta: O ArrayAdapter permite somente manipular dados com base em listas ou arrays. 52- Um dos temas abordados pela Apple é oconceito de profundidade. Sobre esse conceito, assinale a alternativa que está correta de acordo com o descrito no guia da Apple. São camadas visuais distintas que transmitem vitalidade e facilitam a compreensão. 53- O desenvolvimento de softwares móveis apresenta peculiaridades em relação a softwares desktops, por exemplo. Qual das dificuldades técnicas no desenvolvimento não compreende o desenvolvimento móvel? Ciclos de desenvolvimento longos. 54- Às vezes, é necessário integrar Java com códigos nativos para obter aplicativos mais robustos. Para integrar o Java com a linguagem C, existem várias regras que devem ser seguidas por padrão para que a comunicação funcione. Selecione a alternativa que indica uma dessas regras: A sssinatura do método deve ser igual nos arquivos Java e C. 55- O catálogo de padrões de projetos escrito pelo GOF tem 23 padrões. Os padrões de projeto variam na sua granularidade e no seu nível de abstração. Como existem muitos padrões, eles foram organizados. Com isso, os padrões de projeto foram classificados por dois critérios: o primeiro chama-se finalidade e o segundo, escopo. Referente ao primeiro critério, os padrões podem ter a finalidade de criação, estrutural ou comportamental. Marque a finalidade que lida com a composição de classes e objetos. Estrutural. 56- Segundo o próprio guia do desenvolvedor Android, os usuários de aplicativos nessa plataforma têm uma expectativa alta em relação à aparência e ao comportamento. Para isso, é necessário que os desenvolvedores sigam as diretrizes do guia. Assinale a alternativa que cita alguns exemplos dessas diretrizes. Usabilidade, animação e layout. 57- No guia de desenvolvimento do iOS, está escrito que, como designer de aplicativo, você tem a possibilidade de oferecer um produto extraordinário que estará no topo dos gráficos da App Store. Para isso, é preciso atender às altas expectativas de qualidade e funcionalidade. Para a Apple, três temas principais diferenciam a plataforma iOS de outras. Assinale a alternativa correta sobre os três temas. Clareza, deferência e profundidade. 58- Um site responsivo já construído pode ser utilizado como porta de entrada para o desenvolvimento de um WebApp. Para isso, algumas ações precisam ser tomadas. Sobre essas ações, assinale a alternativa correta: O icone que será utilizado pelo aplicativo é informado no arquivo manifest.json. 59- Em todo projeto Android existe a necessidade de externalizar alguns itens, por exemplo, imagens, strings, para que seja possível mantê-los independentes e para que possam suportar configuração específica, idioma do dispositivos, tamanho de tela, orientação, etc. A pasta res, utiliza várias subpastas que, juntas, classificam os resources por tipo e configuração.Com base nessa explicação, é correto afirmar: A subdivisão em subpastas conforme a classificação dos recursos é importante para organização e localização. 60- O que é um modelo lógico? Modelo utilizado para mapear as partes da solução de um problema. 61- Diversas são as views que podem ser utilizadas para a criação de interfaces em aplicativos Android. Cada uma delas tem a sua importância e utilidade. Sobre as views, assinale a afirmativa correta: A utilização de adapters é necessária para a personalização de ListView e GridView. 62- O SQLite não é o único sistema de banco de dados suportado pelo Android, ou seja, além dele, existem outras opções que podem ser utilizadas para persistência de dados na plataforma. Com base nessa afirmação, marque a opção que melhor descreve os motivos de, entre várias opções, o SQLite ser a mais indicada. Por ser open source e escrito em C (o que garante suporte nativo no Android). 63- Os padrões de projeto facilitam a reutilização de soluções e arquiteturas bem-sucedidas na construção de um projeto com Paradigma Orientado a Objetos (POO), possibilitando trazer ao código organização e, ao programador, uma habilidade, experiência e um código limpo e padronizado. Como escolher o melhor padrão a ser utilizado? A decisão em utilizar o padrão X ou Y depende da avaliação de alguns critérios como: intenção e objetivo do padrão, motivação, semelhanças dos padrões, estrutura do projeto e aplicabilidade. 64- Para utilizar um banco de dados, necessariamente deve-se ter um sistema de gerenciamento de banco de dados. Selecione a alternativa que indique as funções de um sistema de gerenciamento de banco de dados (SGBD). Transformar e apresentar dados, controlar o acesso de multiusuário e prover interfaces de comunicação do banco de dados. 65- Qual o objetivo da prototipação evolutiva? O objetivo principal, ao usar a prototipagem evolutiva, é construir um protótipo muito robusto de forma estruturada e refiná-lo constantemente. 66- Em algumas aplicações, é necessária a utilização de alguns métodos nativos. Em aplicações mobile Android, a forma de desenvolver métodos nativos é usando JNI. Escolha a alternativa que indica os arquivos necessários para utilizar métodos nativos escritos em linguagem C: Arquivo .h e arquivo .c. 67- Quais são os três tipos de relacionamentos que existem no Diagrama de Casos de Uso? Entre ator e caso de uso, entre atores e entre casos de uso. 68- Um WebApp também pode ser chamado de PWA. Porém, para ser considerado um PWA, o site precisa ter algumas características bem específicas. Sobre elas, assinale a alternativa correta: Reenvolvente: facilita o reengajamento com recursos nativos do dispositivo como, por exemplo, notificações push. 69- Todo projeto de aplicativo Android precisa ter um arquivo que descreve informações essenciais sobre o aplicativo para as ferramentas de compilação do Android, para o sistema operacional Android e para o Google Play. Quando se utilizam APIs, muitas vezes, também é necessário inserir códigos pertinentes a permissões para que a aplicação acesse a API. Selecione a alternativa que indica o arquivo a que se refere essa descrição: AndroidManifest.xml. 70- Um projeto desenvolvido para uma agência bancária contém uma classe DataBank para armazenar dados relacionados às instruções do banco. Além da DataBank, ele apresenta mais três classes que exibem dados bancários: ViewText, ViewBarGraphic e ViewPieGraphic. Cada interação no objeto da classe DataBank deve notificar e atualizar os objetos das demais classes. Ao interagir com o objeto DataBank, fazendo uma transação bancária, o objeto da classe ViewText deve apresentar um texto descrevendo a transação, enquanto os objetos da classe ViewBarGraphic e da ViewPieGraphic precisam apresentar graficamente a transação realizada. Analisando o case do projeto, qual padrão seria adequado na implementação da atualização de classes, priorizando a organização e a melhoria do sistema proposto? O padrão de projeto Observer, padrão comportamental, pois ele possibilita a dependência um-para-muitos entre objetos. Quando o objeto da classe DataBank muda, todos os objetos das demais classes são notificados e atualizados automaticamente. (B) 71- O projeto de desenvolvimento de software pode ser descrito em seis fases: formulação, planejamento, análise, engenharia, implementações e testes e, por fim, avaliação do usuário. A fase de engenharia envolve: analisar o projeto de interface, de arquitetura, navegação e conteúdo. 72- O que são e para que servem os diagramas de comunicação? São grafos com objetos e ligações por meio das quais fluem mensagens numeradas e ilustram interações complexas de controle e comportamento concorrente. 73- No que diz respeito aos diagramas estudados nesta Unidade de Aprendizagem, é correto afirmar que: O diagrama de comunicação mostra os objetos das classes que participam da interação, apresentando os vínculos entre eles, descrevendo mensagens que os objetos recebem e enviam. (C)74- O objetivo do padrão de criação é a abstração da instância de objetos, sendo possível criar um objeto sem se preocupar com o todo envolvido na criação desse componente. Dessa forma, esse padrão abstrai ou adia o processo de criação, tornando o sistema independente de como seus objetos são criados. Avalie as afirmações sobre o padrão de projeto Singleton, do grupo de projetos de criação: I. O padrão Singleton pode ser usado para determinar uma quantidade fixa de instâncias de uma classe que podem ser criadas em uma aplicação. II. A classe que implementa o padrão Singleton deve manter público seus construtores para facilitar a instância de classes. III. O padrão Singleton é implementado por meio de atributos e métodos estáticos na classe em que é aplicado, o que permite uma instância da classe e um ponto global de acesso a ela. Quais afirmações são verdadeiras? I e III. 75- Marque a alternativa incorreta. Os padrões com propósito estrutural são: Adapter(class), Adapter(Object), Bridge, Composite, Decorator, Facade, Flyweight, Proxy, Visotor. 76- Um recurso que pode ser adicionado ao seu aplicativo web é push notification. Esse tipo de notificação está disponível na maioria dos aplicativos comerciais. Sobre essas notificações, assinale a alternativa correta: Um exemplo de push notification são notificações de chegada de mensagens. 77- Grande parte dos sistemas atualmente utiliza banco de dados para armazenar seus dados. De acordo com a aplicação, é necessário verificar a possibilidade de se utilizar banco de dados local, remoto ou baseado em serviço em nuvem. Selecione a alternativa que indique um exemplo de cada na sequência. SQLite, Redis e Firebase. 78- Segundo o guia do desenvolvedor Android, para fornecer aos usuários uma experiência mais familiar, é necessário usar os padrões mais comuns do guia. Assinale a alternativa correta sobre um dos padrões do guia. Mostrar e ocultar a navegação do seu aplicativo com a gaveta de navegação. 79- Menus e views têm funções diferentes em aplicativos Android; contudo, ambos têm suma importância. As views permitem a inserção de componentes que formam as aplicações Android, e os menus permitem acesso direto e facilitado às telas do aplicativo. Pensando nisso, analise as seguintes afirmativas: I. A ListView é utilizada para a criação de listas, seja listas baseadas em informações estáticas (de arrays), seja listas dinâmicas (de banco de dados). II. O GridView pode ser implementado da mesma forma que a ListView, sendo necessários apenas pequenos ajustes. III. A textView é utilizada para a entrada de dados de texto. IV. O componente image é utilizado para exibir um botão em formato de imagem. V. O componente button é utilizado para inserir um botão na tela. Quais são verdadeiras? I, II e V, apenas. 80- O SQLite também tem limitações. Observe as opções a seguir e assinale aquela que as descreve: Delete múltiplas tabelas, revoke, grant, triggers e alter table. //