Prévia do material em texto
UNIDADE 1 - Frameworks: Conceitos, Categorias e Cases para Aplicações Questão 1 Correta A ciência de dados é uma abordagem multidisciplinar para extrair percepções acionáveis dos grandes e crescentes volumes de dados coletados e criados pelas organizações de hoje. Ela abrange a preparação de dados para análise e processamento, realizando análises avançadas de dados e apresentando os resultados para revelar padrões e permitir que as partes interessadas tirem conclusões informadas. IBM. O que é ciência de dados. 2021. Disponível em: . Acesso em: 30 dez. 2021. Assinale a alternativa que apresenta um framework de data science. Sua resposta Correta Pyramid Comentário Pyramid Questão 2 Correta Os principais benefícios de frameworks de aplicativos orientados a objetos derivam da modularidade, capacidade de reutilização, extensibilidade e inversão de controle que fornecem aos desenvolvedores. As estruturas aprimoram a modularidade, encapsulando detalhes de implementação voláteis por trás de interfaces estáveis. A modularidade do framework ajuda a melhorar a qualidade do software ao localizar o impacto das mudanças de design e implementação, o que reduz o esforço necessário para entender e manter o software existente. FAYAD, Mohamed; SCHMIDT, Douglas C. Object-oriented application frameworks. Communications of the ACM, v. 40, n. 10, p. 32-38, 1997. De acordo com seus conhecimentos assinale a alternativa correta: Sua resposta Correta A utilização de Frameworks trás benefícios para o projeto. Comentário A utilização de Frameworks trás benefícios para o projeto. Questão 3 Correta Os frameworks são estruturas de código pré escritos amplamente utilizados por milhares de programadores e que são amplamente aceitos em diversos ambientes de desenvolvimento. Para cada linguagem de programação por exemplo, existem determinados frameworks para cada ação ou para cada módulo em relação ao projeto que precisa ser implementado. Algumas linguagens de programação se destacam no mercado como Java, C# e Python. Ambas são para criação de aplicativos de diferentes tipos e ramificações. Nesse sentido, existem as categorias de criação do software, ou para cada etapa assim dizendo. Algumas das etapas de desenvolvimento mais importantes, inic1iam-se na fase de planejamento do software, passando pelo desenvolvimento propriamente dito e na finalização diante dos testes do programa. CODE, Visual Studio. Code editing. 2022. Disponível em: https://code.visualstudio.com/. Acesso em: 10 jan. 2022. Baseado no texto e em seus conhecimentos assinale a alternativa que faz parte das etapas de desenvolvimento. Sua resposta Correta Validações. Comentário Validações. Questão 4 Correta Para desenvolver um software é preciso estar atento às estruturas que vão ao encontro das necessidades do programador. Para isso, é necessário entender o contexto do software e o objetivo final do mesmo. Tendo isso em vista, pode-se encontrar os melhores frameworks do mercado, isso facilita a construção e a manutenção desses softwares no início, durante a construção e na manutenção após a conclusão. ZUSE, Horst. A framework of software measurement. Walter de Gruyter, 2013. Sobre frameworks é correto afirmar: Sua resposta Correta Django é um framework para data science. Comentário Django é um framework para data science. Questão 5 Correta Os principais benefícios de frameworks de aplicativos orientados a objetos derivam da modularidade, capacidade de reutilização, extensibilidade e inversão de controle que fornecem aos desenvolvedores. As estruturas aprimoram a modularidade, encapsulando detalhes de implementação voláteis por trás de interfaces estáveis. A modularidade do framework ajuda a melhorar a qualidade do software ao localizar o impacto das mudanças de design e implementação, o que reduz o esforço necessário para entender e manter o software existente. FAYAD, Mohamed; SCHMIDT, Douglas C. Object-oriented application frameworks. Communications of the ACM, v. 40, n. 10, p. 32-38, 1997. De acordo com seus conhecimentos assinale a alternativa correta. Sua resposta Correta Um dos primeiros Frameworks que surgiram foi o MVC (Model, View, Controller). Comentário Um dos primeiros Frameworks que surgiram foi o MVC (Model, View, Controller). UNIDADE 2 - Aplicação de Spring e Ferramentas de Frameworks Questão 1 Correta Apache Maven é uma ferramenta de gerenciamento e compreensão de projetos de software. Com base no conceito de modelo de objeto de projeto (POM), o Maven pode gerenciar a construção, o relatório e a documentação de um projeto a partir de uma informação central. Baseado em seus conhecimentos assinale a alternativa CORRETA. Sua resposta Correta Possui gerenciamento de dependência superior, incluindo atualização automática. Comentário O Maven vem com um mecanismo em que os clientes do seu projeto podem usar para baixar JARS específicos. INCORRETA, pois qualquer JAR que esteja configurado no arquivo pom.xml e que exista no repositório Maven será baixado, não havendo restrições. O gerenciamento de lançamento e publicação de distribuição no Maven é exclusiva para projetos que utilizam Spring.INCORRETA, pois não há nenhuma indicação de que Maven seja exclusividade do framework Spring. O Maven pode trabalhar apenas com dois projetos ao mesmo tempo. INCORRETA, pois pode trabalhar com a quantidade que for necessário, não sendo especificamente dois projetos. Maven possui gerenciamento de dependência superior, incluindo atualização automática. CORRETA, pois o Maven é um gerenciador de dependências e faz atualização automática buscando nos repositórios suas atualizações. O gerenciamento de lançamento e publicação de distribuição do Maven é suportado em situações que se utiliza Spring. INCORRETA, pois o framework Spring não relação com o Maven no cenário de publicações de distribuições. Questão 2 Correta A principal diferença entre uma biblioteca e um framework é "Inversão de controle". Ao chamar um método de uma biblioteca, você está no controle. Mas com um framework, o controle é invertido: o framework chama você. Em um framework, todo o fluxo de controle já está lá e há muitos pontos brancos predefinidos que se deve preencher com código. Um framework normalmente é mais complexo, ele define um esqueleto onde o aplicativo define seus próprios recursos para preencher o esqueleto. Um framework pode conter várias bibliotecas. Baseado no texto e nos seus conhecimentos assinale a alternativa CORRETA: Sua resposta Correta Um framework possui várias funcionalidades prontas, e normalmente já possuem um fluxo de trabalho ou estrutura a serem seguidos. Comentário Um framework possui várias funcionalidades prontas, e normalmente já possuem um fluxo de trabalho ou estrutura a serem seguidos. Questão 3 Correta Apache Maven é uma ferramenta de gerenciamento e compreensão de projetos de software. Com base no conceito de modelo de objeto de projeto (POM), o Maven pode gerenciar a construção, o relatório e a documentação de um projeto a partir de uma informação central. Analise o trecho de código e assinale a alternativa CORRETA. Sua resposta Correta O arquivo adiciona o Junit e o Apache como dependência do projeto. Comentário Analise o trecho de código e assinale a alternativa CORRETA. O arquivo adiciona o Junit e o Apache como dependência do projeto. CORRETA, pois adiciona duas dependências, no caso o Apache e o Junit dentro do arquivo pom.xml do gerenciador de dependências Maven. O arquivo adiciona apenas uma dependência, no caso, Junit. INCORRETA, pois como o código mostra, adiciona também o Apache. O arquivo adiciona apenas uma dependência, no caso, Apache. INCORRETA, pois como o código mostra, adiciona também o Junit. O arquivo adiciona apenas uma dependência, no caso, o Maven. INCORRETA, pois o Maven é o gerenciador de dependências não sendo necessária a sua inclusão no arquivo pom.xml. O arquivo adiciona o Maven como dependência do Spring. INCORRETA, pois o Maven não está relacionado com o framework Spring neste contexto. Questão 4 CorretaO front-end de um site é o que você vê e com o qual interage no seu navegador. Também conhecido como “lado do cliente”, inclui tudo o que o usuário experimenta diretamente: de texto e cores a botões, imagens e menus de navegação. Digamos que você decida abrir um negócio. Você abre uma padaria gourmet para cães e precisa de um site profissional para apresentar sua empresa aos clientes e dizer onde você está. Talvez você inclua algumas fotos e algumas informações sobre seus produtos. Tudo que você precisa são tecnologias front-end para construir seu site. Front-end: o que é, para que serve e como aprender? | Digital House. Disponível em: . Acesso em: 28/9/2021. Baseado no conhecimento adquirido e no texto sugerido assinale a alternativa CORRETA: Sua resposta Correta Python é uma linguagem de back-end. Comentário Baseado no conhecimento adquirido e no texto sugerido assinale a alternativa CORRETA: HTML faz parte do back-end de uma aplicação. INCORRETA, pois HTML é uma linguagem de marcação front-end. CSS faz parte do back-end de uma aplicação. INCORRETA, pois CSS se trata de um mecanismo de tratamento para front-end. PHP é uma linguagem de front-end. INCORRETA, pois se trata de uma linguagem back-end. Java é uma linguagem de front-end. INCORRETA, pois se trata de uma linguagem back-end. Python é uma linguagem de back-end. CORRETA, pois Python é uma linguagem de programação para back-end. Questão 5 Correta AOP é um paradigma de programação que visa aumentar a modularidade, permitindo a separação de interesses transversais. Ele faz isso adicionando comportamento adicional ao código existente sem modificação do próprio código. Em vez disso, declaramos separadamente qual código deve ser modificado. AspectJ implementa tanto os interesses quanto a tecelagem de interesses transversais usando extensões da linguagem de programação Java. Introdução ao AspectJ | Baeldung. Disponível em: . Acesso em: 6/10/2021. Referente aos conceitos de AOP assinale a alternativa correta: Sua resposta Correta A programação tem como objetivo a separação do código segundo a sua importância para a aplicação. Comentário A programação tem como objetivo a separação do código segundo a sua importância para a aplicação. UNIDADE 3 - Aplicação de Hybernate, Mobile e Ferramentas de Frameworks Questão 1 Correta O Hibernate ORM é um framework de persistência de dados que permite ao desenvolvedor interagir com o banco de dados utilizando objetos e todas as vantagens da programação orientada a objetos, sem se preocupar com a camada de persistência. Sobre o Hibernate, é correto afirmar: Sua resposta Correta Usa a mesma sintaxe que já é conhecida no código. Comentário O Hibernate utiliza uma sintaxe muito parecida com a do resto da aplicação facilitando o entendimento do desenvolvedor e diminuindo as curvas de aprendizado que poderiam ser problemas em um projeto. Questão 2 Correta "Dentro dos métodos de callback do ciclo de vida, você pode declarar como a atividade deve se comportar quando o usuário sai e retorna dela. Por exemplo, se estiver construindo um reprodutor de vídeos de transmissão em sequência, você pode pausar o vídeo e encerrar a conexão da rede quando o usuário alternar para outro aplicativo. Quando o usuário retornar, será possível reconectar a rede e permitir que ele reinicie o vídeo de onde parou. Ou seja, cada callback permite que você realize o trabalho específico adequado a determinada mudança de estado. Fazer o trabalho certo no momento apropriado e gerenciar as transições da maneira correta faz com que seu aplicativo seja mais robusto e tenha melhor desempenho. Por exemplo, uma boa implementação dos callbacks de ciclo de vida pode ajudar a garantir que seu aplicativo evite os problemas a seguir: - Falhas se o usuário receber uma chamada telefônica ou mudar para outro aplicativo enquanto estiver usando seu aplicativo. - Consumo de recursos importantes do sistema quando o usuário não estiver usando ativamente o aplicativo. - Perda do progresso do usuário se ele sair do aplicativo e retornar mais tarde. - Falhas ou perda do progresso do usuário quando a orientação da tela mudar entre paisagem e retrato.” Considerando as informações contidas no enunciado e seus conhecimentos sobre as funções callbacks, selecione a opção que apresenta a sequência correta de chamada das callbacks. Sua resposta Correta onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy(). Comentário Resposta correta: a) onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy(). Considerando o ciclo de vida das atividades do Android e a execução das callbacks para verificar a mudança de estados, uma sequência correta de execução das callbacks é: - onCreate(): cria o processo da atividade. - onStart(): iniciar a atividades. - onResume(): apresenta as funcionalidades da atividades. - onPause(): pausa a atividade para que outra seja executada. - onStop(): para o processo da atividade devido a inatividade do usuário. - onDestroy(): encerra a execução da atividade. Questão 3 Correta A abordagem ORM (Mapeamento Objeto Relacional) pode ter pontos fortes e fracos, dependendo do seu uso e das características do projeto onde será aplicado e caberá ao desenvolvedor tirar melhor proveito da tecnologia. Escolha a alternativa correta sobre o ORM Sua resposta Correta Resolve o problema da impedância de dados Comentário Em engenharia de software a impedância de dados é o problema gerado pelas particularidades entre a necessidade de gravar os objetos e suas propriedades e a disposição desses dados em um banco objeto relacional clássico. O ORM fará a ponte entre código e banco relacional resolvendo esses problemas de compatibilidade. ,,, Questão 4 Correta Considerando as informações presentes na imagem sobre projeto no Android Studio, analise as afirmativas a seguir. I - a pasta manifest apresenta o arquivo AndroidManifest.xml que contém as informações de configuração do projeto. II – a pasta java apresenta os arquivos fontes da linguagem Java e também os arquivos fontes dos de testes desenvolvidos. III – a pasta res apresenta conteúdos de recursos extras referentes ao projeto como layout XML e arquivos de imagens. IV – a pasta Gradle Scripts, que encontra-se no nível superior, disponibiliza todos os itens de criação do projeto Considerando o contexto apresentado, é correto o que se afirma em: Sua resposta Correta I, II, III e IV. Comentário A resposta correta: e) I, II, III e IV. Como apresentado, todos os itens de criação do projeto estão disponibilizados no nível superior Gradle Scripts. A pasta mainfest, contém o arquivo AndroidManifest.xml com configurações de criação do projeto. Na pasta Java, encontram-se os arquivos de código fonte Java e arquivos de testes. Na pasta res, referente aos recursos extras do projeto, encontram-se os arquivos de layout XML e imagens, por exemplo. Assim, todos as afirmações estão passando informações corretas sobre a estrutura do projeto no Android Studio. Questão 5 Correta “À medida que o usuário navega no aplicativo, sai dele e retorna a ele, as instâncias Activity no aplicativo transitam entre diferentes estados no ciclo de vida. A classe Activity fornece uma quantidade de callbacks que permite que a atividade saiba sobre a mudança do estado: informa a respeito da criação, interrupção ou retomada de uma atividade ou da destruição do processo em que ela reside por parte do sistema. Considerando as informações do enunciado, analise o excerto a seguir, completando suas lacunas. Essa callback é acionada assim que o sistema cria a atividade. Quando a atividade é criada, ela insere o estado Criado. Na callback ____________, você executa a lógica básica de inicialização do aplicativo. Isso deve acontecer somente uma vez durante todo o período que a atividade durar. Quando a atividade não estiver mais visível ao usuário, ela inserirá o estado Interrompido e o sistema invocará o callback ____________. Quando a atividade é movida para o estado destruído, qualquer componenteciente do ciclo de vida ligado ao ciclo de vida da atividade chamará a callback ____________.” Selecione a opção que preenche as lacunas com as callbacks corretas: Sua resposta Correta onCreate(), onStop(), onDestroy(). Comentário Resposta correta: b) onCreate(), onStop(), onDestroy(). Considerando apresentada a seguir, a callback que cria a atividade é a onCreate(), a callback que interrompe a atividade é a callback onStop() e a callback reponsável pela destruição ou encerramento da atividade, é a onDestroy(). - onCreate(): utilizada para criar uma atividade. Essa função deve ser utilizada com a função setContentView() que define o layout da interface do usuário da atividade. - onStart(): após a onCreate() finalizar a criação da atividade, ela passa para o estado criado e a função onStart() deve ser chamada para que a atividade possa ter iteração com o usuário. - onResume(): antes de se iniciar a iteração da atividade com o usuário, a callback onResume() entra em ação e as principais funcionalidades da aplicação devem ser implementadas nessa função. - onPause(): logo após a onResume() a callback onPause() inicia a execução. Essa função é sempre chamada quando se inicia um estado de pausa ou o usuário realizou uma atividade de voltar ou recarregar a tela, por exemplo. - onStop(): sempre se executa esta callback após a onPause(), quando a atividade não está mais visível para o usuário. - onRestart(): caso o usuário volte a interagir com a atividade parada, a próxima callback é a onRestart(). - onDestroy(): caso o usuário não volte a interagir com a atividade parada, a próxima callback é a onDestroy(). A execução da onDestroy() garante que todos os recursos utilizados pela atividade são liberados pelo sistema. UNIDADE 4 - Frameworks para Desenvolvimento Destinado para Servidores Questão 1 Correta O motor de execução V8, desenvolvida pela Google, é open-source e escrito em C++. Foi usado pelo Google Chrome e inicialmente criado para aumentar a velocidade de execução de Javascript nos navegadores web. Ao invés de usar um interpretador, V8 converte o código Javascript em um código de máquina mais eficiente para aumentar a performance. Qual outro software foi construído com esse motor de execução? Assinale a alternativa que apresenta corretamente o nome deste software. Sua resposta Correta Node.js Comentário Correto. Node.js foi criado com o motor de execução Javascript V8 usado pelo Google Chrome. Questão 2 Correta Para associar uma tabela do banco de dados com uma classe Java a declaração a seguir foi utilizada: @Entity public class Customer implements Serializable { private Long id; public Customer() {} @Id // property access is used public Long getId() { return id; } public void setId(Long id) { this.id = id; } } Este código foi construído com qual recurso da especificação Jakarta EE? Assinale a alternativa que apresenta corretamente o nome deste recurso. Sua resposta Correta Persistence API Comentário CORRETO, o código foi construído com o uso da Persistence API. Questão 3 Correta Session Beans podem ser definidos como Stateless ou Stateful. Um exemplo de declaração de um Session Bean do tipo Stateless é: @Stateless public class MyStatelessEjb { public String sayHello(String name) { return "Olá, " + name + "!"; } } Um desenvolvedor deve escolher adequadamente qual tipo de Session Bean utilizar pois Sua resposta Correta Stateless Session Beans não armazenam estado enquanto Stateful Session Beans armazenam o estado entre chamadas. Comentário CORRETA pois Stateless Session Beans não armazenam estado entre as chamadas enquanto Stateful Session Beans guardam o estado. Questão 4 Correta Na plataforma Jakarta EE um servidor de aplicação implementa a especificação das APIs Jakarta EE obrigatórias e, eventualmente, das APIs opcionais. Pode também incluir console de administração, suporte a clusterização e outras ferramentas e recursos. Qual recursos deve estar contemplado no Enterprise Beans Container? Assinale a alternativa que apresenta corretamente os recursos que devem estar contemplados no Enterprise Beans Container. Sua resposta Correta Session Beans Comentário Correta, Session Beans fazem parte do Enterprise Beans Container. Questão 5 Correta Angular é uma plataforma de desenvolvimento que permite a construção de aplicações web escaláveis, com várias bibliotecas integradas além de ferramentas para o desenvolvedor desenvolver, construir, testar e modificar o código. Na arquitetura do framework Angular duas ideias são consideradas essenciais para o design e construção de aplicações: Components e Templates. Assinale a alternativa que apresenta corretamente a definição de Components e Templates no contexto de Angular. Sua resposta Correta Components são os blocos de construção que compõem uma aplicação. Templates declaram como o componente será renderizado. Comentário CORRETO, Components são os blocos de construção que compõem uma aplicação. Templates declaram como o componente será renderizado. image1.jpeg image2.png