Buscar

Programação Cliente Servidor

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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.

Outros materiais