O modelo TCP/IP é o padrão de comunicação utilizado na maioria das redes, locais ou remotas, por inúmeros elementos de comunicação. Diferentemente do modelo OSI, o TCP/IP possui quatro camadas. Quais são as camadas do modelo TCP/IP? Assinale a alternativa CORRETA:
A internet é composta por vários tipos de redes, que operam com inúmeros protocolos de comunicação. No contexto da infraestrutura da comunicação, grande parte da internet opera com o modelo TCP/IP. Considerando os principais protocolos de comunicação existentes na internet, correlacione os termos a seguir aos seus principais conceitos. 1 – TCP. 2 – IP. 3 – UDP. I – É um protocolo orientado à conexão. Possui confiabilidade na entrega dos dados e no controle de fluxo dos dados. II – É um protocolo da camada de internet (rede) do modelo TCP/IP. Serve para endereçar o host na internet. III – É um protocolo não orientado à conexão. Os segmentos dos dados podem ser perdidos no transporte. Agora, assinale a alternativa que apresenta a sequência correta.
O modelo OSI é um padrão que segmenta as camadas e representa um modelo de rede utilizado por diferentes tipos de rede. Basicamente, um conjunto de protocolos caracteriza sua implementação e permite que os computadores possam compreender os dados que trafegam na rede, desde que tratados por todas as camadas de ponta a ponta. Considerando a importância de cada camada no modelo aludido, avalie as afirmações a seguir, em relação às camadas, e relacione-as adequadamente aos termos ou características a que se referem. 1 – Camada de rede. 2 – Camada de transporte. 3 – Camada de sessão. I – Estabelece a comunicação e define quem transmitirá os dados em determinado momento. II – Responsável pelo controle de fluxo e correção de erros que possam ser identificados durante a transmissão de dados. III – Permite transmitir os dados identificando cada dispositivo, por meio de um endereço único, para identificar quem envia/recebe as informações. Assinale a alternativa que correlaciona adequadamente os dois grupos de informação:
Um protocolo de rede define o que é comunicado, como isso é comunicado e quando deve ser comunicado. São usados protocolos em todas as camadas: da transmissão física até a transmissão feita pelas aplicações. Quando um protocolo é utilizado para garantir a comunicação na rede, são definidos o formato das mensagens enviadas e a ordem em que devem ser recebidas pelo destinatário. Para que a comunicação seja estabelecida, é necessário que duas entidades estejam dispostas a trocar informações através dos processos de transmissão e recepção de dados. Em síntese, os protocolos de rede são conjuntos de normas que permitem que os dispositivos possam se comunicar entre si e na internet. Em relação à sintaxe dos protocolos, selecione a alternativa CORRETA.
A Azure é uma plataforma de nuvem completa, com capacidade para hospedar aplicativos existentes e simplificar o desenvolvimento de novos aplicativos. Ela pode também aprimorar os aplicativos locais e integrar os serviços de nuvem necessários para desenvolver, testar, implantar e gerenciar aplicativos, aproveitando as eficiências da computação em nuvem. Sobre o tema, analise as asserções a seguir e a relação proposta entre elas. Ao hospedar aplicativos na plataforma Azure, é possível iniciar com algo pequeno e simples, escalando os aplicativos à medida que a demanda do cliente aumenta. PORQUE A Azure permite que o cliente administre facilmente todos os serviços disponíveis na plataforma. Além disso, é possível gerenciar os serviços programaticamente, utilizando modelos e APIs específicas. Com base na análise das asserções, conclui-se que:
A Microsoft Azure é uma plataforma de nuvem da Microsoft com produtos e serviços projetados para ajudar na criação de novas soluções de TI. A ____________ é uma oferta de estilo “sem servidor” que possibilita escrever apenas o código que você precisa. Com tal serviço, a execução do código é disparada principalmente por____________ , por webhooks , por eventos de serviço de nuvem ou por agendamento. Preencha as lacunas assinalando a alternativa CORRETA.
A plataforma AWS oferece diversos recursos de segurança para garantir que os clientes estejam protegidos ao utilizar seus serviços. O recurso de_______é utilizado para monitorar o ambiente de nuvem e os acessos ao ambiente, considerando o que é feito, quem faz e como é feito. Dentre os recursos utilizados para prover segurança à rede, estão os(as) _______, que permitem o uso de um conjunto de regras para controlar o tráfego. Já a _______ protege os dados da origem ao destino, evitando que sejam interceptados indevidamente. Preencha as lacunas e marque a alternativa correta a seguir.
A Azure é uma plataforma de _____________ da Microsoft, composta por mais de 200 produtos e serviços de cloud desenvolvidos para auxiliar na criação de novas soluções de TI. Ela oferece suporte a softwares livres para que qualquer pessoa possa utilizar essa _____________. Preencha as lacunas assinalando a alternativa CORRETA.
A AWS disponibiliza serviços por meio de vários data centers , dispersos por zonas de disponibilidade, em diversas partes do mundo. As áreas em que as zonas de disponibilidade estão situadas são próximas em nível geográfico e estão conectadas por meio de links de rede de baixa latência. Considerando as principais formas de cobrança da AWS, correlacione os termos a seguir aos seus principais conceitos. 1 – On-demand . 2 – Instâncias spot . 3 – Instâncias reservadas. I – O preço por hora é fixo, independentemente da utilização. II – O cálculo é feito em relação às horas ou segundos utilizados. III – Tem um preço atrativo por ser instância de capacidade extra e notifica o usuário antes que as instâncias sejam interrompidas. Agora, assinale a alternativa que apresenta a sequência correta.
Podemos citar como vantagens dos microsserviços em relação às construções de software de forma monolítica: I. Para ser executada como uma aplicação funcional, uma arquitetura de microsserviços independe de trocas de mensagens entre os serviços. II. Microsserviços implantados em diferentes contêineres possibilitam um melhor aproveitamento do hardware. III. A atualização de uma aplicação grande que tem seus componentes separados, trabalhando juntos para resolver uma tarefa, tende a ser facilitada. IV. Todas as partes implantáveis ficam linkadas na mesma aplicação.
Enquanto um contêiner é um processo, a imagem que ele utiliza é baseada em um documento executado como um pacote de sistemas de arquivo com todas as dependências necessárias para que ele possa ser executado, isso inclui bibliotecas, arquivos, recursos e pacotes. Além disso, outros elementos do Docker também são importantes, como registry e hub . Com base nas informações apresentadas, identifique se são (V) verdadeiras ou (F) falsas as afirmativas a seguir. I. ( ) Imagens são templates utilizados para a criação de contêineres e são construídas em camadas. II. ( ) O Docker Hub é o repositório oficial no qual as imagens são hospedadas e, também, é o local em que é realizado o controle de versões. III. ( ) Scripts não são compatíveis com a estrutura de docker , por isso as imagens devem ser criadas manualmente no Dockerfile. Assinale a alternativa que apresenta a sequência correta.
A arquitetura de microsserviços (MSA, do inglês, Microservice Architecture ) é um padrão para a construção de uma aplicação distribuída, sendo composta por um conjunto de serviços, cada um deles executando o seu próprio processo e explorando uma API, tendo sido desenvolvido de forma independente. Cada serviço está focado em fazer determinada tarefa de maneira excelente. Com relação á arquitetura de microsserviços), avalie as afirmativas a seguir. Na MSA, é necessário que todo o ecossistema seja testado. Ela aumenta o tráfego de mensagens trocadas entre os componentes de uma aplicação. Utilizar a MSA significa, automaticamente, melhorar a disponibilidade da aplicação. Aumenta-se a complexidade para adaptar novas tecnologias Está correto o que se afirma em:
Os microsserviços são independentes. Em geral, uma única equipe pequena de desenvolvedores é capaz de escrevê-los e mantê-los. Cada microsserviço é uma base de código separado, o qual pode ser gerenciado por uma equipe de desenvolvimento pequena. Uma equipe pode atualizar um microsserviço que já existe sem precisar recompilar e reimplantar o aplicativo inteiro. Em relação aos microsserviços, analise as afirmações a seguir. I. Os microsserviços são responsáveis por manter seus próprios dados, informações ou estado externo. Isso diverge do modelo tradicional que conhecemos, em que uma camada de dados separada lida com a persistência de dados. II. Os microsserviços estabelecem comunicação entre si por meio de APIs bem definidas, que dinamizam a conexão. Detalhes da implementação interna de cada microsserviço ficam ocultos para outros. III. Ao dimensionar-se os microsserviços é importante seguir boas práticas, segundo as quais: - o comportamento específico do domínio deve estar em um só lugar; de forma que se for necessário mudar um comportamento, não será necessário alterar múltiplos microsserviços. IV. Um aplicativo de microsserviços tem mais partes móveis que o aplicativo monolítico equivalente. Cada microsserviço é mais simples, mas o sistema como um todo é mais complexo. Está correto o que se afirma em:
Considerando um padrão como sendo uma forma particular em que alguma coisa/situação é realizada, organizada, ou acontece de forma repetitiva e semelhante, assinale a alternativa correta.
As arquiteturas de microsserviços tem como foco o desenvolvimento de aplicações com um pequeno número de serviços. Dentre as principais características destacam-se: I. A modularidade e a comunicação por meio de APIs. II. Os serviços são monolíticos. III. Todo o sistema composto por microsserviços precisa ser reiniciado quando um microsserviço é alterado. IV. Os serviços executam várias funções cada um, e crescem junto às mudanças de um sistema.
A programação orientada a objetos tem importantes características, dentre elas, há os modificadores de acesso. Quanto ao uso da palavra reservada “final”, analise as asserções a seguir e a relação proposta entre elas. I. A palavra-chave “final”, ou o modificador final, pode ser aplicada em classes, métodos e atributos. PORQUE II. Um método definido com o modificador final não pode ser sobrescrito em uma subclasse. Analisando essas asserções, é correto afirmar que :
De acordo com Félix (2016, p. 22), “[...] a função de uma classe abstrata é servir apenas como uma superclasse apropriada para ter os atributos comuns que subclasses precisam, organizando e simplificando o código do sistema. As classes abstratas auxiliam a organizar e dirigir os desenvolvedores nos métodos e atributos que devem ser implementados”. FÉLIX, R. Programação orientada a objetos . São Paulo: Pearson Education do Brasil, 2016. Com base nos conceitos de classe abstrata, analise as afirmativas a seguir. I. As classes abstratas forçam suas subclasses a sobrescrever e implementar os métodos declarados como abstratos. II. As superclasses abstratas forçam suas subclasses a sobrescrever e implementar os métodos declarados como concretos. III. Cada subclasse concreta fornecerá informações concretas de todos os métodos abstratos herdados da superclasse. IV. Para alcançar o polimorfismo em Java é obrigatório o uso da palavra reservada extends. Está correto o que se afirma em:
Leia o trecho a seguir. “O Java também suporta interfaces – coleções de métodos relacionados que normalmente permitem informar aos objetos o que fazer, mas não como fazer [...]. Na analogia do carro, uma interface das capacidades ‘básicas de dirigir’, consistindo em um volante, um pedal de acelerador e um pedal de freio, permitiria que um motorista informasse ao carro o que fazer. Depois que você sabe como usar essa interface para virar, acelerar e frear, você pode dirigir muitos tipos de carro, embora os fabricantes possam implementar esses sistemas de forma diferente” (DEITEL; DEITEL, 2016, p. 10). DEITEL, P., DEITEL, H. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2016. Sobre as interfaces em Java, analise as asserções a seguir e a relação proposta entre elas. I. Uma classe implementa zero ou mais interfaces, em que cada uma pode ter um ou mais métodos. POIS II. As classes podem implementar os métodos de uma interface de maneiras diferentes, sem dependência entre si. A respeito das asserções, assinale a alternativa correta a seguir.
Considere uma classe “Calculo” que tem dois métodos “calculo”, sendo que um deles recebe dois parâmetros e outro recebe três, conforme o código em linguagem Java (em qualquer versão) a seguir. public class Calculo { public int calculo (int a, int b) { return a + b; } public int calculo (int a, int b, int c) { return a + b + c; } } É possível afirmar que, no código apresentado :
O polimorfismo é um paradigma e uma grande contribuição para a programação orientada a objetos, visto que permite a adequação das ações das classes ao que elas se propõem. Considerando o paradigma do polimorfismo, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s). I. ( ) Um exemplo de polimorfismo ocorre quando um método da classe-mãe é redefinido na classe-filha. II. ( ) Caso o método não seja definido na classe-filha, o compilador busca a implementação na classe-mãe. III. ( ) Um método deve ter a assinatura diferente na classe-mãe e na filha, a fim de ter o comportamento padrão dessas classes. IV. ( ) Quando um método é sobrescrito na classe-filha, passa a ter o comportamento descrito na classe-filha. Assinale a alternativa que apresenta a sequência correta .
Na programação orientada a objetos, existem os conceitos de classe e subclasse. Uma subclasse também pode ser denominada classe-filha, pois passa a ter acesso aos atributos e métodos da classe-mãe, classe-base ou superclasse. Essa afirmativa refere-se à qual paradigma?
Na programação orientada a objetos, as classes podem herdar características e ações de outras classes. A linguagem Java é orientada a objetos e permite a criação de classes-pais e filhas. Considerando a linguagem Java, com base na criação de uma subclasse “Onibus”, a partir de uma superclasse “Transporte”, assinale a alternativa que apresenta o código correto .
Leia o trecho a seguir. “A declaração de variáveis de instância com o modificador private é conhecida como ocultamento de dados ou ocultamento de informações. Quando um programa instancia um objeto de uma classe, a variável (atributo) é ocultada no objeto e pode ser acessada apenas por métodos da classe do objeto” (DEITEL; DEITEL, 2016, p. 63). DEITEL, P.; DEITEL, H. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2016. Em relação aos conceitos de programação orientada a objetos, assinale a alternativa a seguir que apresenta corretamente ao que se refere o trecho lido anteriormente.
Considere uma classe “Calculo”, que solicita dois valores ao usuário e realiza a soma desses valores, conforme o código em linguagem Java (em qualquer versão) a seguir. public class Calculo { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); System.out.println("Informe o primeiro termo:"); int a = entrada.nextInt(); System.out.println("Informe o segundo termo:"); int b = entrada.nextInt(); int c = calculo(a, b); System.out.println("O resultado é " + c); } private static int calculo (int a, int b) { return a + b; } } Analise o código apresentado e assinale a alternativa correta .
Leia o trecho a seguir. “Na indústria, diagramas UML ajudam projetistas de sistema a especificar um sistema de maneira gráfica, concisa e independente de linguagem de programação antes de os programadores implementarem o sistema em linguagem específica” (DEITEL; DEITEL, 2016, p. 61). DEITEL, P.; DEITEL, H. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2016. Observe a seguinte imagem: Fonte: Deitel e Deitel (2016, p. 61). Considerando o apresentado, analise as afirmativas a seguir. I. No compartimento superior, temos o atributo da classe, que corresponde à variável de instância de mesmo nome em Java. II. O compartimento inferior contém as operações da classe, que correspondem aos métodos com os mesmos nomes em Java. III. A UML representa o tipo de retorno de um método utilizando dois pontos, juntamente com a expressão void ao lado de cada tipo em Java. IV. O compartimento intermediário possui definições de nome da classe, representada por uma classe de mesmo nome em Java. Está correto o que se afirma em:
Na programação orientada a objetos, é comum o uso de classes e métodos genéricos, visando reduzir a quantidade de códigos de conversão de tipos de dados. Considerando esse contexto, assinale a alternativa que apresenta, corretamente, o uso dos “Generics” em linguagem Java .
Considere o código a seguir, em linguagem Java (qualquer versão), que apresenta a utilização de um tipo genérico para uma lista de nomes. public static void main(String[] args) { List<String> nomes = new ArrayList<String>(); nomes.add("José"); nomes.add("João"); nomes.add("Maria"); System.out.println(nomes.get(0)); } Em relação a esse código, é possível afirmar que:
Leia o trecho a seguir. “Todo tipo primitivo tem uma classe empacotadora de tipo correspondente (no pacote java.lang). Essas classes chamam-se Boolean , Byte , Character , Double , Float , Integer , Long e Short . Elas permitem manipular valores de tipo primitivo como objetos. [...] Mas podem manipular objetos das classes empacotadoras de tipo, porque cada classe, em última análise, deriva de Object” (DEITEL; DEITEL, 2016, p. 539). DEITEL, P., DEITEL, H. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2016. Sobre tipos e classes, analise as asserções a seguir e a relação proposta entre elas. I. A interface List é implementada por várias classes, inclusive pelas classes ArrayList, LinkedList e Vector. O autoboxing ocorre quando valores de tipo primitivo são adicionados aos objetos dessas classes. POIS II. As variáveis de tipo primitivo armazenam apenas referências a objetos, em que as classes ArrayList e Vector são implementações de arrays redimensionáveis de List. A respeito das asserções, assinale a alternativa correta a seguir.