Baixe o app para aproveitar ainda mais
Prévia do material em texto
Matéria: PROGRAMAÇÃO CLIENTE SERVIDOR Questão As tags responsáveis por quebra de linha, criação de parágrafo e criação de tabelas são, respectivamente: < tr > < p > < br > < p > < br > < table > < br > < p > < tr > < br > < p > < table > < table > < br > < tr > Explicação: As tags seriam br (break), p (paragraph) e table. A tag tr define uma linha da tabela, enquanto td definiria uma célula. Questão Na sintaxe da linguagem HTML para a construção de formulários, qual o tipo de INPUT deve ser utilizado para opções mutuamente exclusivas? sumbit hidden checkbox text radio Explicação: Usando componentes radio com o mesmo "name", é possível definir elementos mutuamente exclusivos, ou seja, ao marcar uma opção as demais são desmarcadas. Questão Quando pessoas de diferentes nacionalidades precisam se comunicar, é necessário que todos conheçam uma mesma língua, caso isto não aconteça, a comunicação não é possível, ou pode ser deteriorada, sendo possível usar apenas gestos e outros recursos de sinais. A mesma coisa acontece entre computadores, e outros dispositivos nas redes. Para que eles possam se comunicar é necessário que sejam utilizando o mesmo (a): Meio lógico de comunicação Meio físico de comunicação Servidor Protocolo Linguagem Explicação: Os protocolos existem para permitir a comunicação entre serviços, onde cada serviço tem um protocolo específico. Por exemplo, para que duas pessoas troquem email, ambas tem que utilizar o mesmo protocolo de comunicação, neste caso o protocolo referente a email. Questão A linguagem HTML 5 permite a utilização de diversas outras sintaxes na escrita do documento. Qual destas sintaxes é voltada para a construção de figuras vetoriais simples, como retângulos e círculos? MathML XML SVG JSON Java Script Explicação: A sintaxe SVG (Scalable Vector Graphics) permite a criação de formas simples com algum nível de interatividade. Questão "Permite a inclusão de informações e controle de características do documento, como o uso de UTF- 8 para acentuação da língua portuguesa. "Na criação de páginas HTML que tag devemos utilizar para produzir o que é colocado na afirmação apresentada na questão: link doctype meta body title Explicação: title - O que é apresentado na barra de títulos link - Usado para acessar outras páginas, documentos etc. doctype - Não é uma tag HTML; é uma instrução para o navegador da web sobre em qual versão do HTML a página está escrita. body - Corpo da página onde entramos o conteúdo da mesma. Questão Ao criar um hiperlink, qual o atributo que definirá para qual endereço ocorrerá a navegação? href src value destination target Explicação: O formato geral de um hiperlink seria: < a href = "Endereço HTTP" > Texto da Âncora < /a > Questão Assumindo que x vale 1 e y vale 5, quais seriam, respectivamente, os resultados das seguintes expressões? (x > y) && (y-2 < 3) (y < 3 * x) || (x*y <= y) !((x < y)||(y < x)) false, true, false true, true, false true, false, true false, false, false true, true, true Explicação: Analisando as expressões: (x > y) && (y-2 < 3) -> (1 > 5) && (3 < 3) -> F && F -> F (y < 3 * x) || (x*y <= y) -> (5 < 3) || (5 <= 5) -> F || T -> T !((x < y)||(y < x)) -> !((1 < 5) || (5 < 1)) -> !(T || F) -> !T -> F Questão Considerando o código Java Script seguinte, qual será o valor final de b? var a=1, b=1; while(a < 5) { b = b * a; a++; } 24 4 5 11 1 Explicação: Primeira rodada: b = 1, a = 2 Segunda rodada: b = 2 * 1 = 2, a = 3 Terceira rodada: b = 2 * 3 = 6, a = 4 Quarta rodada: b = 6 * 4 = 24, a = 5 Questão A Linguagem Java Script como muitas outras linguagens, possuem um conjunto de funções que agilizam o processo de codificação e consequentemente a construção das páginas, programas etc. Em relação a função eval, marque a resposta ERRADA. Converte uma string em código JavaScript e executa-o, se for um comando válido. z=eval(6/3); e eval(z=(6/3)); Os dois códigos produzem o mesmo resultado. É capaz de executar uma operação matemática válida. O trecho de código eval("A"), converte A para o código ascii. eval("x=(8*3/6+2)"); Atribui a x o valor 6. Explicação: O código ascii é apenas uma representação de caracteres para números inteiros e não temos uma função para fazer esta conversão. Questão No Java Script, uma janela do tipo "prompt": Exibe apenas uma informação para o usuário. Exibe uma lista para que o usuário selecione um ou mais valores. Solicita uma confirmação do usuário, positiva ou negativa. Permite a seleção de data a partir de um calendário. Permite que o usuário insira uma frase dentro da caixa de texto. Explicação: O comando prompt é utilizado como uma entrada de dados de texto, como em: var x = prompt("Digite seu nome",""); Questão Como apresentado na aula, as funções matemáticas usando o Java Script são referenciadas por Math.nome, onde nome é o nome existente da função. Em relação as funções matemáticas apresentadas é ERRADO afirmar que: Math.sqrt(x) - retorna a raíz quadrada do valor x enviado. Math.trunc(x,y) - transforma o valor real X em um inteiro para y. Math. abs(x) - retorna o valor absoluto de x. Math. random( ) - retorna um valor aleatório entre 0 e 1. Math. pow(x,y) - retorna o resultado de x elevado a y. Explicação: A função correta é Math.trunc(x), onde x é um número real na qual a função retornará apenas a parte inteira. Questão Indique a opção que apresenta apenas operadores relacionais. Operadores +, -, < e * Operadores >=, <, == e != Operadores >, <, = e ! Operadores &&, || e ! Operadores +, -, * e / Explicação: Operadores relacionais analisam relações entre números, podendo ser >, <, >=, <=, == ou !=. Questão Quanto à validação de formulários em Java Script, é correto afirmar que: Pode ser utilizada para substituir os testes de consistência referentes aos relacionamentos do banco de dados, normalmente efetuados no servidor. Quando associada ao evento de envio do formulário necessita de uma função sem retorno de valor. Permite se utilizar de recursos locais, entre eles o acesso a bancos de dados e arquivos presentes no computador cliente. Efetua críticas relativas à formatação e regras simples de interface, ao mesmo tempo em que diminui o fluxo de chamadas desnecessárias ao servidor. As críticas relativas à formatação são realizadas com sucessivas chamadas ao servidor. Explicação: O uso de JavaScript nos formulários irá permitir validações simples, mas não podem ser feitos acessos a recursos servidores, como críticas em Bancos de Dados, ou aos recursos locais da máquina, como arquivos. A principal finalidade é diminuir o fluxo de dados incorretos até o servidor. Questão Diversos eventos podem ser utilizados no processo de validação de formulários. Qual deles deve ser utilizado para efetuar críticas quando o valor de um campo é alterado? onfocus onsubmit onclick onblur onchange Explicação: O evento onchange ocorre na mudança do atributo value, não importando a origem desta mudança. Questão A afirmativa apresentada na questão diz respeito a que evento? "Efetua a validação do formulário imediatamente antes do enviopara o servidor. Necessita o retorno booleano, indicando se os valores podem ser enviados ou não". onsubmit onselect onblur onclick onsearch Explicação: onselect - seleciona objetos. onblur - Quando o objeto perde o foco. onclick - Quando clica no objeto. onsearch - Quando envia uma pesquisa. Questão Caso fosse necessário validar um campo para CPF, de acordo com a regra de formação do número, logo que o usuário saísse da caixa de texto, o evento correto seria: onsubmit onclick onfocus onblur onchange Explicação: O evento onblur ocorre na perda do foco, permitindo adicionar máscaras ou apagar o conteúdo quando uma regra é quebrada, a exemplo do dígito verificador do CPF. Questão Marque a resposta correta em relação a afirmativa. "Retorna uma coleção de objetos referenciando todos os componentes que apresentem o atributo class desejado." A afirmativa faz referência a: querySelectorAll getElementsByTagName getElementsByClassName querySelector getElementById Explicação: getElementsByClassName - Retorna um vetor de objetos com todos os elementos filhos que possuem o nome da classe dada. Quando invocado no objeto document, o documento é examinado por completo, incluindo o nó raiz. Você também pode invocar getElementsByClassName(), em qualquer elemento; isso retornaria somente elementos que são descendentes do nó raiz especificado com o nome da classe. Questão Quando falamos das ações que um objeto pode realizar estamos nos referindo a: Atributos Nível de Acesso Métodos Herança Agrupamentos Explicação: Os elementos básicos de uma classe são os métodos, definindo ações que podem ser executadas, e atributos, com as características físicas do objeto que será instanciado. Questão Diversos efeitos são disponibilizados com o uso de JQuery. Qual deles faria com que uma DIV desaparecesse "lentamente"? fadeOut hide show shake fadeIn Explicação: O efeito fadeOut apaga lentamente o componente, enquanto fadeIn exibe lentamente, show exibe instantaneamente, hide apaga instantaneamente, e shake faz ele "tremer". Questão No uso do JQuery, o seletor $("li:odd") serviria para selecionar: Todas as ocorrências pares de itens de lista. O item central de cada lista da página. Todas as ocorrências ímpares de itens de lista. O último item de cada lista. O primeiro item de cada lista. Explicação: Se utilizássemos apenas li, estariamos buscando esta tag ao longo da página, ou seja, todos os itens de lista. Porém, com o uso do limitador :odd passamos a considerar apenas os elementos ímpares. Questão No que tange ao JSON (Java Script Object Notation), leia as asserções abaixo e, a seguir, assinale a alternativa correta. I. Várias tecnologias atuais utilizam o JSON como formato texto para troca de informações; II. O Web Services REST passou a ter uso restrito em função das plataformas móveis, como Android e iOS. III. A definição do objeto JSON é iniciada com o uso de chaves, e os pares chave-valor são separados por vírgula. Somente a asserção I está correta Somente as asserções II e III estão corretas Somente as asserções I e II estão corretas Somente a asserção II está correta Somente as asserções I e III estão corretas Explicação: Várias tecnologias atuais utilizam o JSON como formato texto para troca de informações, das quais podemos destacar os Web Services REST, com o uso muito ampliado pelo advento das plataformas móveis, como Android e iOS. A definição do objeto JSON é iniciada com o uso de chaves, e os pares chave-valor são separados por vírgula. Questão Ao implementar uma página, com uso de JQuery, deseja-se que os campos de texto fiquem com o fundo amarelo quando ganharem o foco, branco quando perderem o foco e laranja quando o conteúdo for modificado. Quais métodos devem ser utilizados, respectivamente? mouseenter, mouseleave e click focus, blur e click mouseenter, mouseleave e change focus, blur e change keydown, keyup e keypress Explicação: O método focus é executado quando o INPUT ganha o foco, blur quando ele perde e change quando seu atributo value é alterado. Questão Analise as seguintes afirmativas acerca da sintaxe JSON e assinale a opção correta. I - Valores numéricos devem ser colocados entre aspas. II - Valores nulos são representados por null. III - Vetores são definidos com o uso de chaves. Apenas as afirmativas II e III são verdadeiras. Todas as afirmativas são verdadeiras. Todas as afirmativas são falsas. Apenas as afirmativas I e III são verdadeiras. Apenas a afirmativa II é verdadeira. Explicação: A afirmativa I está incorreta porque os números não utilizam aspas, e a de número III está incorreta porque vetores utilizam colchetes. Quanto ao nulo, ele realmente é representado como null. Questão Em aplicativos Android, um recurso extremamente utilizado é o de menu. Basta você baixar alguns aplicativos na Google Play Store que os encontrará facilmente. Podemos trabalhar com três tipos de menus em Android, os quais: I. Menu de opção e barra de opção II. Menu de texto III. Menu pop-up Após a leitura, assinale a alternativa correta. Apenas as afirmações I e III estão corretas Apenas as afirmações I e II estão corretas Apenas a afirmação II está correta Apenas a afirmação I está correta Apenas as afirmações II e III estão corretas Explicação: TIPOS DE MENU: Menu de opção e barra de opção - É o menu default das aplicações Android; - Normalmente encontramos nesse menu as principais opções. Menu de contexto - É exibido quando o usuário clica e segura, por mais de 2 segundos, um componente visual; - Não suporta atalhos, ícones ou até mesmo submenus; - Pode ser compartilhado entre diferentes Views. Menu Pop-up - Abre quando tocamos no item de menu Options (Opções) ou em menu contextual; - Não suporta ícones; - Não suporta submenus aninhados. Questão Ajax não é meramente uma tecnologia. É uma abordagem moderna para desenvolvimento de sites interativos. A abordagem de desenvolvimento tradicional tem semelhanças e diferenças em relação ao Ajax. Uma característica exclusiva de Ajax em relação à abordagem tradicional é que: Representa os objetos no lado cliente com DOM. Executa as requisições através do protocolo HTTP. Permite recuperação assíncrona de dados usando XMLHttpRequest. Usa javascript como linguagem para desenvolver código no lado do cliente. Usa (x)html / css para definir o aspecto visual da página. Explicação: O grande diferencial do AJAX é permitir um comportamento assícrono do cliente nas chamadas HTTP. Questão "Em aplicativos Android, um recurso extremamente utilizado é o de (I). Basta você baixar alguns aplicativos na Google Play Store que os encontrará facilmente. Embora sejam de fácil implementação, devemos reforçar os cuidados em relação à usabilidade e aparência dos mesmos." A sentença acima refere-se a: (assinale a alternativa que preencher corretamente a (I)). Caixa de texto Botão Ícone Link Menu Explicação: Em aplicativos Android, um recurso extremamente utilizado é o de menu. Basta você baixar alguns aplicativos na Google Play Store que os encontrará facilmente. Embora sejam de fácil implementação, devemos reforçar os cuidados em relação à usabilidade e aparência dos mesmos. É muito comum encontrarmos aplicativos sem nenhum menu, menus sem ícones ou até mesmocom títulos inapropriados. Por isso, é importante lembrarmos de que um bom apelo visual e/ou textual facilitará muito a interação do usuário com o aplicativo. Questão No que tange ao conceito de fragmento, analise as asserções abaixo e, a seguir, assinale a alternativa correta: I. Bastante similar a uma Activity, um fragmento (fragment) consiste em uma pequena porção de Activty, que permite um projeto mais modular. II. Pode-se afirmar que um fragmento é uma espécie de activity. III. O conceito de fragmento surgiu com o Android 3.0 (Honeycomb) devido à necessidade de customizá-lo para as interfaces dos aplicativos, em função da pluralidade de tipos e tamanhos de dispositivos, em especial os tablets. Somente a asserção I está correta Somente as asserções I e III estão corretas Somente as asserções II e III estão corretas Somente a asserção II está correta Somente as asserções I e II estão corretas Explicação: Fragmento Bastante similar a uma Activity, um fragmento (fragment) consiste em uma pequena porção de Activty, que permite um projeto mais modular. Não seria errado afirmarmos, assim, que um fragment é uma espécie de subactivity. Esse conceito surgiu com o Android 3.0 (Honeycomb) devido à necessidade de customizá-lo para as interfaces dos aplicativos, em função da pluralidade de tipos e tamanhos de dispositivos, em especial os tablets. Questão De modo geral, o XML parser nada mais é do que: Um objeto DOM implementado dentro do XML. Uma classe de documentos criados em JavaScript. Uma técnica utilizada para a manipulação de metadados. Um analisador de documentos XML, que tem como objetivo carregar ou criar um documento utilizando o JavaScript. Um método utilizado exclusivamente na validação de documento JavaScript. Explicação: Com o uso de um XML Parser, é possível trabalhar os dados de um documento XML segundo uma visão em árvore. Questão Um esquema define uma gramática para determinado domínio do problema, e a sintaxe XML permite duas formas para a definição de esquemas, que são: DTD e XSD XSD e XSL-FO XSLT e XSL-FO DTD e XSLT XSD e XSLT Explicação: As duas formas são: DTD, que apresenta sintaxe mais simples, mas que não é XML, e XSD, com uso de XML e apresentando uma sintaxe mais complexa. Questão Qual será a saída obtida pelo seguinte trecho com sintaxe Java? int a = 1, b=100; while( ++a < 5 ) b = b / a; System.out.println(b); 25 96 4,17 12,5 4 Explicação: Primeira rodada: a = 2, b = 100 / 2 = 50. Segunda rodada: a = 3, b = 50 / 3 = 16. Terceira rodada: a= 4, b = 16 / 4 = 4 Questão A classe Toast(android.widget.Toast) é muito utilizada quando desejamos exibir mensagens de alertas para o usuário. Ela exibe uma pequena tela, que pode ser personalizada, sem caráter permanente, ou seja, desaparecendo sem qualquer tipo de intervenção do usuário. Para implementarmos este tipo de mensagem, é necessário obter uma instância de objeto Toast através do método estático, desta mesma classe, makeText(), que possui três parâmetros, demonstrados a seguir: Toast.makeText (contexto, texto, duração) Dada a explicação supracitada, analise a explicação de cada um dos parâmetros citados e, após, assinale a alternativa correta: I. No parâmetro contexto, definimos os botões do aplicativo a serem exibidos na mensagem. II. No parâmetro texto, definimos o texto a ser exibido na mensagem. III. No parâmetro duração, podemos definir o tempo de duração que a mensagem será exibida. A própria classe Toast nos oferece constantes para definirmos este tempo de duração, sendo elas Toast.LENGTH_SHORT e Toast.LENGTH_LONG. Somente as afirmações I e III estão corretas Somente a afirmação I está correta Somente as afirmações I e II estão corretas Somente a afirmação II está correta Somente as afirmações II e III estão corretas Explicação: A classe Toast(android.widget.Toast) é muito utilizada quando desejamos exibir mensagens de alertas para o usuário. Esta exibe uma pequena tela, que pode ser personalizada, sem caráter permanente, ou seja, desaparecendo sem qualquer tipo de intervenção do usuário. Para implementarmos este tipo de mensagem, é necessário obter uma instância de objeto Toast através do método estático, desta mesma classe, makeText(), que possui três parâmetros, conforme demonstrado abaixo: Toast.makeText (contexto, texto, duração) - No parâmetro contexto, definimos o contexto do aplicativo a ser exibido na mensagem; - No parâmetro texto, definimos o texto a ser exibido na mensagem; - No parâmetro duração, podemos definir o tempo de duração que a mensagem será exibida. A própria classe Toast nos oferece constantes para definirmos este tempo de duração, sendo elas Toast.LENGTH_SHORT e Toast.LENGTH_LONG. Questão "Uma (I) nada mais é do que uma mensagem que aparece na barra de status Android. Seu objetivo é notificar ao usuário sobre algum evento, seja através de um ícone na barra de status, através de vibração, som ou acender de luzes do dispositivo. É muito comum seu uso quando temos uma aplicação que roda em segundo plano, como, por exemplo, um aplicativo de mensagem instantânea, e não podemos ser interrompidos em uma aplicação que roda em primeiro plano, como, por exemplo, uma ligação telefônica." (I) na sentença acima explica o conceito de: (assinale a alternativa correta) Text Box Classe Caixa de texto Notificação Android Chamada Android Explicação: Notifications Uma notificação Android nada mais é do que uma mensagem que aparece na barra de status Android. Seu objetivo é notificar ao usuário sobre algum evento, seja através de um ícone na barra de status, através de vibração, som ou acender de luzes do dispositivo. É muito comum seu uso quando temos uma aplicação que roda em segundo plano, como, por exemplo, um aplicativo de mensagem instantânea, e não podemos ser interrompidos em uma aplicação que roda em primeiro plano, como, por exemplo, uma ligação telefônica. Questão __________________ é a tecnologia que gerencia a memória alocada para um programa, a fim de liberar objetos que não estão sendo utilizados. Complete a questão escolhendo um dos itens a sequir: Java Clean Java Virtual Machine Java Collector Garbage Collector Garbage Drunk Explicação: O coletor de lixo, ou Garbage Collector, elimina da memória os objetos que não podem mais ser referenciados. Questão No que tange ao conceito da Classe Toast, leia as asserções abaixo e, a seguir, assinale a alternativa correta: I. A classe Toast (android.widget.Toast) é muito utilizada quando desejamos exibir mensagens de alertas para o usuário. II. A classe Toast (android.widget.Toast) exibe uma pequena tela, que pode ser personalizada, sem caráter permanente, ou seja, desaparecendo sem qualquer tipo de intervenção do usuário. III. A classe Toast (android.widget.Toast) exibe um pop-up de caráter permanente e que necessita de interação do usuário para ser finalizada (fechada). IV. Para implementarmos este tipo de mensagem, é necessário obter uma instância de objeto Toast através do método estático, desta mesma classe, makeText(), que possui três parâmetros: Toast.makeText (contexto, texto, duração) Somente as asserções I, II e IV estão corretas Somente as asserções I, II e III estão corretas Somente as asserções III e IV estão corretas Somente as asserções II, III e IV estão corretas Somente as asserções I, III e IV estão corretas Explicação: Toast A classe Toast(android.widget.Toast) é muito utilizada quando desejamos exibir mensagensde alertas para o usuário. Esta exibe uma pequena tela, que pode ser personalizada, sem caráter permanente, ou seja, desaparecendo sem qualquer tipo de intervenção do usuário. Para implementarmos este tipo de mensagem, é necessário obter uma instância de objeto Toast através do método estático, desta mesma classe, makeText(), que possui três parâmetros, conforme demonstrado abaixo: Toast.makeText (contexto, texto, duração) Questão Em termos de herança, em determinadas situações é necessário acessar um método do pai a partir do método de mesmo nome do filho, quando tratamos de uma operação sobrescrita no processo de polimorfismo. Qual palavra reservada do Java permite este acesso? new implements extends super this Explicação: A palavra super é utilizada quando desejamos acessar um método existente no pai ou outra superclasse da linha hierárquica, podendo ser utilizado inclusive em construtores. Questão A Classe AlertDialog tem como objetivo exibir uma caixa de dialogo (Android Dialog) para o usuário no Android. Ela possui vários métodos, dentre os quais poderemos observar através das alternativas subsequentes, exceto (ou seja, assinale a alternativa incorreta): setPositiveButton: define um botão para aceitar e conntinuar uma ação (Exemplo: OK) setNeutralButton: define um botão que nem cancela e nem define uma ação (Exemplo: Notifique-me mais tarde) setTitle: define o título de nossa AlertDialog setNegativeButton: exibe a AlertDialog setMessage: define a mensagem de nossa AlertDialog Explicação: A Classe AlertDialog tem como objetivo exibir uma caixa de dialogo (Android Dialog) para o usuário no Android. Ela possui vários métodos, os quais: setTitle: define o título de nossa AlertDialog setMessage: define a mensagem de nossa AlertDialog setPositiveButton: define um botão para aceitar e conntinuar uma ação (Exemplo: OK) setNeutralButton: define um botão que nem cancela e nem define uma ação (Exemplo: Notifique-me mais tarde) setNegativeButton: define um botão para cancelar a ação (Exemplo: Cancel) show(): exibe a AlertDialog Questão No contexto da programação cliente-servidor, ao que se refere o termo back-end? Parte responsável pela manipulação de dados do cliente em uma aplicação Web. Parte responsável pelo coleta de dados do cliente em uma aplicação Web. Parte responsável pela apresentação de feedbacks ao cliente em uma aplicação Web. Parte responsável pela definição do estilo das interfaces em uma aplicação Web. Parte responsável pelo coleta de dados do cliente em uma aplicação Desktop. Explicação: Back End vem da ideia do que tem por trás de uma aplicação. O Back End trabalha em boa partes dos casos fazendo a ponte entre os dados que vem do navegador rumo ao banco de dados e vice-versa, sempre aplicando as devidas regras de negócio, validações e garantias em um ambiente onde o usuário final não tenha acesso e possa manipular algo. Questão No contexto da programação cliente-servidor, ao que se refere o termo front-end? Parte responsável pela definição do estilo das interfaces em uma aplicação Desktop. Parte responsável pela apresentação de feedbacks ao cliente em uma aplicação Desktop. Parte responsável pelo coleta de dados do cliente em uma aplicação Desktop Parte responsável pelo coleta de dados do cliente em uma aplicação Web. Parte responsável pela manipulação de dados do cliente em uma aplicação Web. Explicação: Em outras palavras se classifica como a parte visual de um sistema Web, aquilo com o qual o cliente interage. Questão O que faz o operador BETWEEN da linguagem SQL? Usado para comparar registros. Usado para selecionar registros. Determina as tabelas de onde serão recuperados os registros. Estabele um valor mínimo e um valor máximo para filtrar registros. Usado para determinar quais campos dos registros devem ser recuperados. Explicação: O operador BETWEEN recebe um valor mínimo e um valor máximo e retorna os dados da coluna que atendem a esse critério. Questão O que é um banco de dados relacional? Banco que armazena dados em tabelas. Oferecem a possibilidade de armazenar informações históricas a respeito de um determinado objeto que nele está sendo mantido. Banco replicado para vários servidores como em um processo de espelhamento. Esse tipo de banco de dados tem como objetivo a manipulação de uma grande quantidade de informações de grande complexidade, como os mapas e imagens de satélite, por exemplo. Banco que fica em mais de um servidor, permitindo a descentralização dos dados. Explicação: Bancos de dados relacionais são baseados no modelo relacional, uma maneira intuitiva e direta de representar dados em tabelas. Em um banco de dados relacional, cada linha na tabela é um registro com uma ID exclusiva chamada chave. As colunas da tabela contêm atributos dos dados e cada registro geralmente tem um valor para cada atributo, facilitando o estabelecimento das relações entre os pontos de dados. Questão O middleware de acesso ao banco de dados utilizado pelo Java é denominado: JNDI JDBC JMS RPC RMI Explicação: O middleware para acesso a banco de dados do Java é o JDBC (Java Database Conectivity) Questão O uso de um DAO (Data Access Object) em um código tem a função de: Prover uma interface para acesso a um banco de dados ou outro mecanismo de persistência. Encapsular o usuário e senha de acesso ao banco de dados relacional. Gerenciar a geração de logs de acesso com API específica. Impedir que uma classe tenha mais de um objeto instanciado. Prover uma camada de segurança para a aplicação. Explicação: O padrão DAO concentra as chamadas SQL, evitando que este tipo de código se perpetue ao longo da aplicação. Questão Existem diversos componentes no JDBC, e um deles permite a parametrização de queries. Indique qual é este componente. PreparedStatement ResultSet DriverManager Connection Statement Explicação: Um componente do tipo PreparedStatement é obtido a partir de uma chamada ao método prepareStatement de Connection, sendo utilizadas interrogações nos trechos do SQL que serão considerados como parâmetros. Questão Complete as lacunas no trecho de código-fonte abaixo com os termos corretos: __________ emf = Persistence.createEntityManagerFactory("PU"); __________ em = emf.createEntityManager(); em.getTransaction().begin(); c = new Curso(3, "EE"); em.__________(c); em.getTransaction().commit(); Connection; Statement; execute EntityManagerFactory; EntityManager; persist EntityFactory; EntityManager; save Database; Entity; put EntityManager; Command; insert Explicação: Um elemento essencial no JPA é a classe EntityManager, responsável pelo manuseio das diversas entidades. Objetos desta classe são gerados a partir do EntityManagerFactory, e o método persist viabiliza a gravação de uma entidade no banco de dados. Questão O tipo de bean utilizado para tratamento de regras de negócio síncronas, onde ocorre a necessidade de guardar informações entre chamadas sucessivas seria: Message Driven Bean Stateful Session Bean Stateless Session Bean Entity Bean Async Queued Bean Explicação: Os componentes EJB do tipo Session são voltados para o tratamento de regras de negócio de forma síncrona, sendo o Stateless sem a guarda de estado e o Stateful com a guarda de estado. QuestãoSobre as redes de Petri é correto afirmar que: Definem graficamente a estrutura de um sistema distribuído como um autômato. Possuem nós de posição, nós de transição, e arcos não-direcionados conectando posições com transições Define um grafo estocástico de elementos essenciais Formam uma linguagem de programação. São uma representação matemática para sistemas distribuídos discretos. Explicação: Uma rede de Petri ou rede de transição é uma das várias representações matemáticas para sistemas distribuídos discretos. Como uma linguagem de modelagem, ela define graficamente a estrutura de um sistema distribuído como um grafo direcionado com comentários. Possui nós de posição, nós de transição, e arcos direcionados conectando posições com transições. Questão Sobre POJO é correto afirma que: É uma classe sem métodos de negócios, mas com atributos definidos de forma privada e métodos de acesso privado. É uma classe sem métodos de negócios, mas com atributos definidos de forma publica e métodos de acesso público. É uma classe sem métodos de negócios, mas com atributos definidos de forma privada e métodos de acesso público. É uma classe com métodos de negócios e atributos definidos de forma privada e métodos de acesso público. É uma classe com métodos de negócios e com atributos definidos de forma privada e métodos de acesso privado. Explicação: um POJO (Plain Old Java Object), ou seja, uma classe sem métodos de negócios, mas com atributos definidos de forma privada e métodos de acesso públicos, além de um construtor padrão e alguns métodos utilitários, como hash. Esta classe deve receber anotações que serão responsáveis pelo mapeamento efetuado entre a classe e a tabela, ou seja, o mapeamento objeto-relacional. Questão O que é JPA? É uma API Padrão da linguagem Ruby que descreve uma interface comum para frameworks de persistência de dados. É uma API Padrão da linguagem Python que descreve uma interface comum para frameworks de persistência de dados. É uma API Padrão da linguagem Java que descreve uma interface comum para frameworks de persistência de dados. É uma API Padrão da linguagem PHP que descreve uma interface comum para frameworks de persistência de dados. É uma API Padrão da linguagem SQL que descreve uma interface comum para frameworks de persistência de dados. Explicação: Como o próprio nome diz, JPA (Java Persistence API) é uma tecnologia JAVA. Questão Entre os diferente tipos de EJBs, os MDBs são responsáveis pelo comportamento assíncrono baseado em mensagerias. Assinale a alternativa correta com relação aos MDBs. Apresentam um único método para tratamento de mensagens denominado onMessage. Precisam implementar a interface SessionListener. São definidos pela anotação @Message. Necessitam de interfaces @Local e @Remote. Eles podem guardar informações de estado, como os Statefull Session Beans. Explicação: Os MDBs são componentes EJB para tratamento assícrono de mensagens, através do método onMessage, lidando diretamente com as mensagerias via JMS, sem interfaces remotas ou locais, e sem a possibilidade de guardar estado. Questão Os EJBs do tipo Session Bean podem ser divididos em três tipos, sendo que um deles permite a ocorrência de apenas uma instância por máquina virtual. Qual é este tipo? Message Driven Singleton Stateful Entity Stateless Explicação: Os EJBs do tipo Sngleton seguem o padrão de desenvolvimento de mesmo nome, ocorrendo apenas uma vez por JVM, e mantendo uma única referência, mesmo em ambientes clusterizados. Questão Sobre o controle de acesso é incorreto afirmar que: Logins são uma forma de controle de acesso. Busca identificar os usuários legítimos das informações. O controle de acesso permite manter a confidencialidade e integridade das informações. Sessões são usadas Por questões de segurança sessões não são usadas. Explicação: A maioria das soluções de controle de acesso faz uso de sessões para aumentar o nível de segurança ao acesso à informação. Através das sessões, por exemplo, é possível ter o controle e o registro de acesso. Sessões ainda podem definir as operações que o usuário pode execer sobre um objeto. Questão Sobre os Servlets é incorreto afirmar que: Não fazem uso de protocolos Fazem uso exclusivo do protocolo HTTP. São frequentemente usados para processar ou armazenar dados que foram submetidos de um formulário HTML. Fornecem conteúdo dinâmico, como os resultados de uma consulta a um banco de dados. É uma classe Java usada para estender as funcionalidades de um servidor. Explicação: Os servlets normalmente utilizam o protocolo HTTP, apesar de não serem restritos a ele. Questão No ambiente JEE, a anotação PersistenceContext é utilizada para: Acessar um EJB a partir de um Servlet. Instanciar um EntityManager a partir da unidade de persistência. Efetuar a conexão com as filas de uma mensageria a patir do MDB. Definir uma interface remota para um EJB. Definir um EJB do tipo Stateless. Explicação: O uso da anotação PersistenceContext permite instanciar um EntityManager a partir do nome da unidade de persistência, conforme as definições efetuadas no arquivo persistence.xml. Questão O protocolo HTTP não armazena estado, ou seja, os dados são perdidos na navegação entre as páginas. Para manter os dados referentes a uma conexão deve ser utilizado, no servidor, um objeto do tipo: HttpSession HttpServletRequest HttpRequest HttpResponse HttpServletResponse Explicação: Os atributos de sessão, referentes a uma dada conexão, podem ser manipulados com o uso de um objeto do tipo HttpSession. No Servlet ele é obtido a partir da requisição com a chamada ao método getSession, enquanto no JSP ele é um objeto implícito denominado session. Questão O ferramental do NetBeans permite gerar de forma automática os EJBs responsáveis por invocar as diversas operações a serem efetuadas no banco a partir de entidades JPA. Ao fazer isto, ele segue um padrão de desenvolvimento denominado: Adapter Intercept Filter Front Control Session Facade Singleton Explicação: É utilizado o padrão Session Facade, onde os Stateless Session Beans servem de fachada para as operações de banco intermediadas pelo JPA. Questão Com relação aos conceitos de arquitetura de aplicações, é correto afirmar que o MVC é um padrão de operação dirigida para uma classe e não para um objeto individual. de objeto que executa uma operação quando ele recebe uma solicitação (mensagem) correspondente de um outro objeto. que garante que uma lógica de negócios possa ser acessada e visualizada por uma única interface. de desenvolvimento cuja finalidade é definir uma interface na mesma camada da "lógica da aplicação". de arquitetura de aplicações que visa separar a "lógica da aplicação", a "interface do usuário" e a "persistência de dados". Explicação: A arquitetura MVC divide o aplicativo em 3 camadas: Model (Persistência), Control (Regras de Negócio) e View (Interfaces). Não pode ocorrer contato entre a View e a Model. Questão Sobre os Web Services é incorreto afirmar que: Permitem que novas aplicações possam interagir com aquelas que já existem. Formam uma solução utilizada na integração de sistemas e na comunicação entre aplicações distintas Permitem que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. Permitem às aplicações enviar e receber dados.Formam uma solução utilizada na integração de sistemas e na comunicação entre aplicações identicas Explicação: Os web services são funções de softwares que apresentam uma estrutura arquitetural que permitem a comunicação entre aplicações, mesmo que suas linguagens sejam diferentes. Questão Sobre REST é incorreto afirmar que: Consiste em princípios que, quando seguidas, permitem a criação de um projeto com interfaces bem definidas. É baseado em protocolos off-line. É um estilo de arquitetura de software que define um conjunto de restrições a serem usadas para a criação de web services. Um dos seus princípios diz que todo recurso deve possuir uma identificação única. É um modelo a ser utilizado para se projetar arquiteturas de software distribuído, baseadas em comunicação via rede. Explicação: REST tem como base certos protocolos da internet, logo são on-line. Questão O que garante a plena interoperabilidade dos Web Services SOAP e transparência para os firewalls é: Trabalhar com as bibliotecas Microsoft. Executar chamadas estilo RPC. A criação em linguagem C#. Uso de um protocolo baseado em XML. A criação em linguagem Java. Explicação: A interoperabilidade é a comunicação entre plataformas distintas, e o uso de um protocolo texto, transparente aos firewalls, com a adoção de uma sintaxe interpretável em qualquer plataforma, no caso XML, acaba por garantir esta interoperabilidade. Não apenas o protocolo SOAP, mas também a descrição dos serviços (WSDL) e o registro (UDDI) são no formato XML, permitindo a interoperabilidade de Web Services SOAP em todos os níveis. Questão Componente dos Web Services SOAP que viabiliza a criação automatizada de clientes nas mais diversas plataformas: RPC UDDI IDL WSDL COS Naming Explicação: Através do descritor de serviços do SOAP, no caso o WSDL, ambientes como Visual Studio (C#) e NetBeans (Java) conseguem gerar os stubs de comunicação e classes para o encapsulamento das chamadas aos serviços oferecidos, o que tira do programador a responsabilidade de implementar toda essa comunicação em rede. Questão Nos Web Services do tipo RESTful, qual o método HTTP utilizado para efetuar consultas aos valores das entidades? GET DELETE POST PUT HEAD Explicação: A utilização dos métodos HTTP pelo REST é bastante padronizada, como na adoção de GET para "SELECT" , PUT para "INSERT" e POST para "UPDATE". Questão As anotações utilizadas para definir um Web Service SOAP, um método deste Web Service, e os parâmetros de chamada do método são, respectivamente: WebServlet, WebMethod e Param Service, Path e PathParam WebService, Path e WebParam WebService, WebMethod e WebParam Service, WebMethod e Param Explicação: Para o Java, um Web Service SOAP é uma classe comum que recebe a anotação @WebService. Esta classe pode ter diversos métodos e nem todos eles devem ser expostos, sendo necessário o uso de @WebMethod nos métodos expostos, bem como @WebParam nos parâmetros dos mesmos.
Compartilhar