Buscar

Questões de Java

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 92 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 92 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 92 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

1a Questão
	
	
	
	
	Considerando que as variáveis inteiras a e b foram previamente declaradas e inicializadas, qual das opções seguintes apresentaria erro de compilação para o comando for?
		
	
	for(a=1,b=5; a < b ;a++,b--)
	 
	for(; ++a < b-- ;)
	
	for(a=1;b >= a*2;b--)
	
	for(; a <= b;)
	 
	for(a=1; a = 10; a++)
	Respondido em 14/05/2020 12:42:47
	
Explicação:
No comando for, a seção de teste aceita apenas um valor booleano, e não inteiro, como ocorre em a=10. Lembrando que a comparação é feita com ==.
	
	
	 
	
	 2a Questão
	
	
	
	
	Qual das IDEs abaixo não implementa código java?
		
	
	Netbeans
	 
	JDelphi
	
	Eclipse
	
	BlueJ
	
	Jcreator
	Respondido em 14/05/2020 12:43:07
	
Explicação:
Jdelphi nem é uma IDE
	
	
	 
	
	 3a Questão
	
	
	
	
	Considerando o código seguinte, em Java, quais os valores de x,y e w, respectivamente?  
int a = 5, b = 32, c = 7;     
boolean x, y, w;   
x = (b > a) && (c > b);  
y = (b < c) || (a < b - c);   
w = (a + c < b) && !(c > a); 
 
		
	
	false, true e true
	
	true, true e false
	 
	false, true e false
	
	true, false e false
	
	true, false e true
	Respondido em 14/05/2020 12:45:06
	
Explicação:
T && F -> F,  F || T -> T,  T && !T -> T && F -> F
	
	
	 
	
	 4a 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:
		
	
	Garbage Drunk
	
	Java Virtual Machine
	
	Java Collector
	
	Java Clean
	 
	Garbage Collector
	Respondido em 14/05/2020 12:45:29
	
Explicação:
O coletor de lixo, ou Garbage  Collector, elimina da memória os objetos que não podem mais ser referenciados.
	
	
	 
	
	 5a Questão
	
	
	
	
	Indique a opção que apresenta apenas operadores relacionais.
		
	
	Operadores &, |, ^ e !
	
	Operadores >, <, = e !
	
	Operadores +, -, * e /
	
	Operadores +, -, < e ^
	 
	Operadores >=, <, == e !=
	Respondido em 14/05/2020 12:45:54
	
Explicação:
Operadores relacionais analisam relações entre números, podendo ser >, <, >=, <=, == ou !=.
	
	
	 
	
	 6a Questão
	
	
	
	
	Qual das opções abaixo não é um tipo primitivo Java?
		
	
	int
	 
	text
	
	float
	
	boolean
	
	double
	Respondido em 14/05/2020 12:46:06
	
Explicação:
não existe tipo primitivo text
	
	
	
	
	 1a Questão
	
	
	
	
	O tipo de visibilidade que permite acesso aos recursos da príopria Classe e seus descendentes é:
		
	 
	protected
	
	public
	
	inner
	
	void
	
	private
	Respondido em 14/05/2020 17:44:26
	
Explicação:
protected
	
	
	 
	
	 2a Questão
	
	
	
	
	Qual a função do encapsulamento?
		
	
	Instanciar um objeto dentro de classes privadas.
	
	Fazer a transferência de dados segura entre usuário e servidor.
	 
	Impedir o acesso direto a um atributo.
	
	Fazer uma conexão entre usuário e servidor.
	
	Cria novos objetos.
	Respondido em 14/05/2020 17:42:27
	
Explicação:
Tradicionalmente o encapsulamento é feito com o uso de getters e setters públicos para o controle do acesso aos atributos privados.
	
	
	 
	
	 3a Questão
	
	
	
	
	Acerca de interfaces, na sintaxe Java, qual a informação correta?
		
	
	Define regras para o comportamento de classes de uma mesma família.
	
	Permite a definição de métodos concretos.
	
	É implementada pelas classes com o uso de extends.
	
	Deve ser definida com o uso de abstract class.
	 
	É um elemento totalmente abstrato, com um conjunto de assinaturas de métodos.
	Respondido em 14/05/2020 17:42:37
	
Explicação:
Uma interface é definida pela palavra interface e implementada com o uso de implements. Contém apenas assinaturas de métodos que podem ser implementados por qualquer classe, diferentemente de classes abstratas, que definem regras para uma família específica de classes descendentes.
	
	
	 
	
	 4a Questão
	
	
	
	
	Quando existe a necessidade de reescrever um método herdado da classe pai, mantendo a mesma assinatura que o método original, incluindo mesmo nome, mesmo tipo de dado de retorno e mesma lista de parâmetros, estamos nos referindo a que técnica?
		
	
	Herança
	 
	Sobrescrita
	
	Sobrecarga
	
	Agregação
	
	Encapsulamento
	Respondido em 14/05/2020 17:44:31
	
Explicação:
O polimorfismo, ou sobrescrita, consiste na possibilidade de recriar um método herdado, mantendo sua assinatura, o que é diferente de sobrecarga, onde são utilizadas múltiplas assinaturas para um mesmo método ou função.
	
	
	 
	
	 5a 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?
		
	 
	super
	
	new
	
	extends
	
	this
	
	implements
	Respondido em 14/05/2020 17:43:44
	
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.
	
	
	 
	
	 6a Questão
	
	
	
	
	Quando falamos das ações que um objeto pode realizar estamos nos referindo a:
		
	
	Herança
	
	Atributos
	 
	Métodos
	
	Nível de Acesso
	
	Agrupamentos
	Respondido em 14/05/2020 17:43:43
	
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.
	 
	
	 1a Questão
	
	
	
	
	Acerca das anotações, é correto afirmar:
		
	
	São interfaces comuns, que devem ser implementadas pelas classes com o uso de implements.
	
	São classes que servem para guardar lembretes durante o processo de programação.
	
	Não permitem a definição de valores default, e qualquer parâmetro definido precisa ser preenchido durante a utilização.
	 
	São metadados anexados aos elementos de programação que podem ser recuperados através de reflexividade computacional.
	
	É apenas um tipo de comentário que surgiu na versão 5 do Java.
	Respondido em 14/05/2020 17:44:56
	
Explicação:
As anotações são metadados não serializáveis que podem ser anexados aos elementos de programação para o reconhecimento posterior a partir de ferramentas externas. Não se trata de comentários simples, a definição é feita com o uso de @interface e elas aceitam valores default.
	
	
	 
	
	 2a Questão
	
	
	
	
	A biblioteca Java apresentam diversos tipos de estruturas de coleção, através do framework Collections. Uma destas estruturas funciona da mesma forma que uma tabela, com o relacionamento entre uma chave única e um conjunto de dados. Qual é esta estrutura?
		
	
	List
	
	ArrayList
	 
	HashMap
	
	Collection
	
	Vector
	Respondido em 14/05/2020 17:45:44
	
Explicação:
O uso de HashMap viabiliza a construção de coleções de pares chave-valor, onde as chaves não permitem duplicidade.
	
	
	 
	
	 3a Questão
	
	
	
	
	Quando se cria um programa de computador em Java, há possibilidade de ocorrerem erros imprevistos durante sua execução. Esses erros são conhecidos como exceções e podem ser provenientes de falhas na lógica ou acesso a dispositivos ou arquivos externos. As exceções, portanto, ocorrem quando algo imprevisto acontece, e elas podem ser provenientes de erros de lógica ou acesso a recursos que talvez não estejam disponíveis. Sobre o tratamento de exceções em Java, assinale a afirmativa INCORRETA.
		
	
	A cláusula catch nem sempre é executada.
	 
	As exceções em Java são fixas e não é possível definir novas exceções.
	
	A cláusula try sempre é executada, mas a sequencia completa pode ser interrompida por uma exceção.
	
	Uma exceção é sempre um objeto do tipo Throwable.
	
	A cláusula finally é sempre executada, mesmo ocorrendo o fluxo em um bloco try/catch.
	Respondido em 14/05/2020 17:47:06
	
Explicação:
No Java é possíveldefinir exceções de forma muito simples, bastando derivar da classe Exception ou de suas descendentes.
	
	
	 
	
	 4a Questão
	
	
	
	
	Qual das palavras reservadas abaixo não fazem parte do tratamento de excessões?
		
	
	try
	
	catch
	
	throw
	
	finally
	 
	out
	Respondido em 14/05/2020 17:47:15
	
Explicação:
out
	
	
	 
	
	 5a Questão
	
	
	
	
	Qual das opções abaixo não é uma descendente de Collection?
		
	
	LinkedList
	 
	HashList
	
	HashMap
	
	Vector
	
	Arraylist
	Respondido em 14/05/2020 17:47:08
	
Explicação:
HashList não é uma descente de Collection
	
	
	 
	
	 6a Questão
	
	
	
	
	A linguagem Java traz algumas palavras específicas para o tratamento de execeções, definindo o controle de fluxo para estas situações. Qual palavra é utilizada para definir um bloco de execução obrigatória, mesmo que na ocorrência de exceção? 
		
	
	catch
	
	try
	
	throw
	 
	finally
	
	throws
	Respondido em 14/05/2020 17:47:46
	
Explicação:
O comando try (tentar) serve para definir um bloco protegido, sendo o fluxo de exceção desviado para catch, e finally executado de forma obrigatória. O comando throw lança uma exceção, e o comando throws ecoa para o chamador do método.
	 
	
	 1a Questão
	
	
	
	
	Qual componente gráfico deve ser utilizado para representar opções mutuamente exclusivas em uma janela de cadastro?
		
	
	JCheckBox
	
	JTree
	
	JButton
	
	JLabel
	 
	JRadioButton
	Respondido em 14/05/2020 17:48:28
	
Explicação:
O uso de JRadioButton permite a definição de opções mutuamente exclusivas, ou seja, se uma é marcada, as demais são desmarcadas.
	
	
	 
	
	 2a Questão
	
	
	
	
	As interfaces ouvintes servem para a captura de eventos no ambiente gráfico criado com o uso de Java. Qual ouvinte deve ser utilizado para a captura do clique sobre um botão ou item de menu?
		
	 
	ActionListener
	
	FocusListener
	
	ChangeListener
	
	ItemListener
	
	KeyListener
	Respondido em 14/05/2020 17:48:42
	
Explicação:
Eventos de clique, como estes, são capturados com o uso de ActionListener e a implementação de seu único método, o actionPerformed.
	
	
	 
	
	 3a Questão
	
	
	
	
	Qual gerenciador de layout Swing do Java possui essas 5 regiões de distribuição de elementos: north, south, east, west, and center;
		
	
	Grid Layout
	
	Flow Layout
	
	Card Layout
	
	Spring Layout
	 
	Border Layout
	Respondido em 14/05/2020 17:48:37
	
Explicação:
Border
	
	
	 
	
	 4a Questão
	
	
	
	
	Entre os diversos elementos ouvintes disponibilizados pelas bibliotecas gráficas do Java, qual deles poderia ser utilizado para acompanhar o movimento do mouse sobre o componente?
		
	
	FocusListener
	 
	MouseMotionListener
	
	ActionListener
	
	MouseListener
	
	TextListener
	Respondido em 14/05/2020 17:48:51
	
Explicação:
Para acompanhar o mouse deve ser utilizado MouseMotionListener, e a implementação de seus métodos mouseMoved, para movimentos sem o uso do botão pressionado, e mouseDragged, para situações de tratamento de arraste.
	
	
	 
	
	 5a Questão
	
	
	
	
	Existem diversas bibliotecas para criação de interfaces gráficas com uso de Java, e duas delas já estão presentes no JDK. Quais são elas?
		
	
	swt e swing
	
	awt e jdbc
	
	awt e swt
	 
	awt e swing
	
	jdbc e swing
	Respondido em 14/05/2020 17:49:15
	
Explicação:
As bibliotecas seriam awt e swing. O pacote swt é voltado para criação de GUI, mas relacionado à IBM, e não ao JDK padrão, e com relação ao jdbc, não se refere a janelas, mas à conexão e manuseio do banco de dados.
	
	
	 
	
	 6a Questão
	
	
	
	
	As duas bibliotecas para GUI oferecidas pelo JDK trabalham com o uso de conteineres, os quais agrupam componentes visuais sobre eles com o uso de componentes do tipo Layout. Qual Layout trabalha com as posições North, South, East, West e Center?
		
	
	GridLayout
	
	FlowLayout
	 
	BorderLayout
	
	GridBagLayout
	
	BoxLayout
	Respondido em 14/05/2020 17:49:29
	
Explicação:
O correto seria BorderLayout, o qual aceita apenas um componente em cada uma das cinco posições, mas este componente pode ser um painel, com outro layout, como para adicionar os botões de OK e Cancela na posição South, bastando colocá-los em um Panel com FlowLayout.
	
	
	 
	
	 1a 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?
		
	 
	onchange
	
	onclick
	
	onfocus
	
	onblur
	
	onsubmit
	Respondido em 14/05/2020 18:02:27
	
Explicação:
O evento onchange ocorre na mudança do atributo value, não importando a origem desta mudança.
	
	
	 
	
	 2a Questão
	
	
	
	
	As tags responsáveis por quebra de linha, criação de parágrafo e criação de formulários são, respectivamente:
		
	
	< p > < br > < form >
	
	< br > < p > < h1 >
	
	< form > < br > < h1 >
	 
	< br > < p > < form >
	
	< h1 > < p > < br >
	Respondido em 14/05/2020 18:02:51
	
Explicação:
As tags seriam br (break), p (paragraph) e form. A tag h1 define uma fonte de título grande.
	
	
	 
	
	 3a Questão
	
	
	
	
	Tag utilizada para definir o cabeçalho de uma página HTML:
		
	 
	head
	
	foot
	
	body
	
	br
	
	title
	Respondido em 14/05/2020 18:02:46
	
Explicação:
	
	
	 
	
	 4a Questão
	
	
	
	
	Escolha qual opção melhor define a sentença abaixo:
"Linguagem de marcação utilizada na construção de páginas na Web" :
		
	
	css
	
	php
	
	java
	
	pyton
	 
	html
	Respondido em 14/05/2020 18:03:13
	
Explicação:
HTML
	
	
	 
	
	 5a Questão
	
	
	
	
	Escolha qual opção melhor define a sentença abaixo:
"Mecanismo para adicionar estilo a um documento web" :
		
	
	java
	
	php
	 
	css
	
	html
	
	pyton
	Respondido em 14/05/2020 18:03:18
	
Explicação:
css
	
	
	 
	
	 6a Questão
	
	
	
	
	Escolha qual opção melhor define a sentença abaixo:
"Linguagem de programação interpretada estruturada, de script em alto nível com tipagem dinâmica fraca e multiparadigma, amplamente utilizada em páginas Web" :
		
	 
	javascript
	
	PHP
	
	html
	
	java
	
	css
	Respondido em 14/05/2020 18:03:23
	
Explicação:
javascript
	
	
	 
	
	 1a Questão
	
	
	
	
	Qual das opções abaixo não representam frameworks para o ambiente Java Web:
		
	
	Hibernate
	 
	Netbeans
	
	Spring
	
	Java Server Faces (JSF)
	
	Struts
	Respondido em 14/05/2020 18:03:41
	
Explicação:
Netbeans é uma IDE não um framework
	
	
	 
	
	 2a Questão
	
	
	
	
	Pode-se dizer que está INCORRETO sobre as tecnologias Servlet/JSP:
		
	
	Não possuem o método main, pois estão sob controle dos contêineres.
	
	Toda página JSP é transformada em um Servlet.
	
	Para criar um Servlet é necessário criar uma classe derivada de HttpServlet.
	 
	JSP pode ser processado sem a utilização de um contêiner, e Servlet necessita de um contêiner.
	
	As páginas JSP são mais voltadas para o Designer, e os Servlets para o Programador.
	Respondido em 14/05/2020 18:03:53
	
Explicação:
Tanto páginas JSP quanto Servlets são executados no contêiner Web, sendo o JSP transformado em Servlet por este contêiner antes da execução.
	
	
	 
	
	 3a Questão
	
	
	
	
	Qual das opções abaixo não representa a afirmação abaixo:
"classe Java usada para estender as funcionalidades de um servidor."
		
	
	Java Server Faces (JSF)
	
	Struts
	
	Spring
	
	Hibernate
	 
	Servlet
	Respondido em 14/05/2020 18:04:29
	
Explicação:
Servlet
	
	
	 
	
	 4a Questão
	
	
	
	
	Qual das opções abaixo não representa a afirmação abaixo:
"Tecnologia Java para a criação de páginas web com programação no servidor." :
		
	
	JSS
	
	JSF
	
	PHP
	
	ASP
	 
	JSP
	Respondido em 14/05/2020 18:04:44
	
Explicação:
JSP
	
	
	 
	
	 5a Questão
	
	
	
	
	Preencha as lacunas e, em seguida, assinale a alternativacorreta.
Uma JSP consiste em uma combinação de ___________ e ___________ , que contêm o código executável, e a marcação estática, como ____________ ou ____________ . O código contido na JSP é identificado e executado pelo ___________ , e a página resultante é enviada para o cliente.
		
	
	tags JSP / HTML / Java / XML / servidor
	
	tags JSP / HTML / Java / Java Script / compilador
	 
	tags JSP / scriplets / HTML / XML / servidor
	
	tags JSP / HTML / Java / Java Script / servidor
	
	tags JSP / scriplets / HTML / XML / compilador
	Respondido em 14/05/2020 18:05:15
	
Explicação:
Os arquivo JSP compreendem diretivas e trechos Java (Scriptlets) encapsulados em documentos XML, XHTML ou HTML, e são trasnformados em Servlet pelo container para a subsequente execução no servidor.
	
	
	 
	
	 6a Questão
	
	
	
	
	Classe utilizada em páginas JSP para controle de sessão:
		
	
	SessionId
	
	HttpSessionId
	
	HttpCookie
	
	HttpCookieId
	 
	HttpSession
	Respondido em 14/05/2020 18:05:41
	
Explicação:
HttpSession
	
	
	 
	
	 1a Questão
	
	
	
	
	Qual o banco de dados que vem como padrão do NetBeans, sendo totalmente construído em Java?
		
	 
	Derby
	
	DB2
	
	MS Access
	
	Oracle
	
	Informix
	Respondido em 14/05/2020 18:05:59
	
Explicação:
Por padrão, o NetBeans traz suporte ao banco Derby, o qual é totalmente construído em Java e não depende da instalação de um servidor proprietário.
	
	
	 
	
	 2a Questão
	
	
	
	
	A linguagem Java apresenta como middleware padrão para acesso a bancos de dados o JDBC, cuja utilização envolve vários passos, indo desde o registro do Driver até a recepção da consulta em ResultSets. Neste processo podem ocorrer duas exceções principais, no que se refere ao uso do JDBC, as quais são:
		
	
	SQLException e ServletException
	 
	SQLException e ClassNotFoundException
	
	ServletException e ArithmeticException
	
	ClassNotFoundException e ServletException
	
	ClassNotFoundException e ArithmeticException
	Respondido em 14/05/2020 18:06:20
	
Explicação:
Pode ocorrer SQLException nas operações sobre o banco, e ClassNotFoundException ao instanciar o Driver.
	
	
	 
	
	 3a Questão
	
	
	
	
	Java Database Connectivity(JDBC) consiste de um conjunto de classes e interfaces (API) escritas em Java que fazem o envio de instruções SQL para qualquer banco de dados relacional. Dentre as alternativas abaixo, assinale INCORRETA referente a Java Database Connectivity(JDBC):
		
	
	Statement trabalha como um executor de comandos SQL.
	
	É possivel acessar Banco de Dados que não possuem Driver JDBC próprio através da ponte JDBC-ODBC.
	
	O PreparedStatement é um descendente de Statement que aceita parametrizações.
	 
	O executeQuery é um método da classe Connection para execução de uma consulta.
	
	O método close() da classe Connection fecha uma conexão com o banco de dados.
	Respondido em 14/05/2020 18:06:43
	
Explicação:
O método executeQuery pertence à classe Statement.
	
	
	 
	
	 4a Questão
	
	
	
	
	Qual das opções abaixo não representa a afirmação abaixo:
"Conjunto de classes e interfaces (API) escritas em Java que fazem o envio de instruções SQL para qualquer banco de dados relacional"
		
	
	JLO
	
	JVC
	
	JSP
	
	JSF
	 
	JDBC
	Respondido em 14/05/2020 18:07:20
	
Explicação:
JDBC
	
	
	 
	
	 5a Questão
	
	
	
	
	Supondo que você utilize um Managed Bean que funcione como DAO, através do nome "clienteDAO", e que o mesmo tenha um método "findAll" sem parâmetros para o retorno de toda a base de clientes, como seria definido um componente DataTable alimentado pelo mesmo?
		
	
	< h:dataTable value="#{produtoDAO.obterTodos()}" var="p" >
	
	< h:dataTable var="#{produtoDAO.findAll()}" value="p" >
	
	< h:dataTable value="#{clienteDAO.obterTodos()}" var="c" >
	
	< h:dataTable var="#{clienteDAO.findAll()}" value="c" >
	 
	< h:dataTable value="#{clienteDAO.findAll()}" var="c" >
	Respondido em 14/05/2020 18:07:46
	
Explicação:
Na sintaxe do DataTable, o atributo value deverá receber a lista de origem, fornecida a partir de clienteDAO.findAll, e o atributo var nomeia a variável que percorre o conjunto, assumindo os valores de cada entidade sequencialmente.
	
	
	 
	
	 6a Questão
	
	
	
	
	Os comandos em sql, SELECT, UPDATE, INSERT  são comandos do tipo:
		
	
	DDT
	
	DDL
	 
	DML
	
	DTL
	
	DMZ
	Respondido em 14/05/2020 18:08:12
	
Explicação:
DML, Data Manipulation Language, ou Linguagem de Manipulação de Dados. 
	
	
	 
	
	 7a Questão
	
	
	
	
	Os comandos em sql, CREATE, ALTER, DROP, RENAME e TRUNCATE, são comandos do tipo:
		
	
	DMZ
	 
	DDL
	
	DDT
	
	DML
	
	DTL
	Respondido em 14/05/2020 18:08:07
	
Explicação:
A DDL, Data Definition Language ou LInguagem de Definição de Dados, apesar do nome não interage com os dados e sim com os objetos do banco.
São comandos desse tipo o CREATE, o ALTER e o DROP.
	
	
	 
	
	 8a Questão
	
	
	
	
	Baseado na linha de comando abaixo, marque qual deve ser o comando seguinte:    
Statement st = Conexao.getConection().createStatement();
		
	
	ResultSet rs = st.executeUpdate("select * from ALUNOS");
	
	List< Aluno > ls = st.executeQuery("select * from ALUNOS");
	
	List ls = st().executeUpdate("select * from ALUNOS");
	
	List< Aluno > ls = st.prepareStatement("select * from ALUNOS");
	 
	ResultSet rs = st.executeQuery("select * from ALUNOS");
	Respondido em 14/05/2020 18:08:29
	
Explicação:
Após criar o executor de SQL (Statement), o próximo passo pode ser uma consulta, efetuada a partir do método executeQuery, com o retorno do resultado na forma de um ResultSet.
	
	
	
	
	 1a Questão
	
	
	
	
	Marque a opção que contém apenas estilos arquiteturais no modelo Mud to Structure:
		
	
	Microkernel, Reflexiva e MVC
	 
	Camadas, Pipes/Filters e Blackboard
	
	MVC, PAC e Camadas
	
	MVC, PAC e Broker
	
	Camadas, Blackboard e Broker
	Respondido em 14/05/2020 18:09:09
	
Explicação:
O modelo Mud to Structure pode ser observado nos estilos Camadas, Pipes/Filters e Blackboard. O estilo Broker segue o modelo de Sistemas distribuídos, enquanto PAC e MVC seguem o modelo de Sistemas Interativos, e, Microkernel e Reflexiva seguem o modelo de Sistemas Adaptáveis. 
	
	
	 
	
	 2a Questão
	
	
	
	
	Em uma arquitetura MVC com uso de JSF, qual seria o único tipo de componente que poderia instanciar um objeto do padrão DAO?
		
	
	Managed Bean
	 
	Controlador
	
	Entidade
	
	Facelet
	
	Faces Servlet
	Respondido em 14/05/2020 18:09:31
	
Explicação:
Apenas os controladores, presentes na camada Control, podem instanciar elementos do tipo DAO, pertencentes à camada Model, e solicitar que estes últimos efetuem operações sobre o banco de dados. As entidades são o elemento de transporte, transitando entre as camadas, e os componentes JSF pertencem à camada View.
	
	
	 
	
	 3a Questão
	
	
	
	
	Marque a opção que apresenta apenas estilos arquiteturais no modelo de Sistemas Interativos.
		
	
	Broker e Blackboard
	 
	MVC e PAC
	
	Microkernel e MVC
	
	Microkernel e Reflexiva
	
	PAC e Broker
	Respondido em 14/05/2020 18:09:41
	
Explicação:
O modelo Mud to Structure pode ser observado nos estilos Camadas, Pipes/Filters e Blackboard. O estilo Broker segue o modelo de Sistemas distribuídos, enquanto PAC e MVC seguem o modelo de Sistemas Interativos, e, Microkernel e Reflexiva seguem o modelo de Sistemas Adaptáveis. 
	
	
	 
	
	 4a Questão
	
	
	
	
	Em uma arquitetura MVC, com uso de JSF, qual o único componente que será utilizado em todas as camadas?
		
	
	DAO
	 
	Entidade
	
	Página JSF
	
	Managed Bean
	
	Controlador
	Respondido em 14/05/2020 18:09:37
	
Explicação:
Adotando a arquitetura MVC temos o DAO, na camada Model, que trabalha com Entidades e o banco de dados. Os controladores, da camada Control acessam o DAO e recebem as Entidades, enquanto os Managed Beans consultam os controladores,recebendo estas Entidades na camada View, de forma a direcionar a informação para a página JSF. Com isso, a Entidade é o único componente que está presente em todas as camadas.
	
	
	 
	
	 5a Questão
	
	
	
	
	Qual componente do JSF assume o papel de Front Control?
		
	
	Managed Bean
	 
	FacesServlet
	
	Request
	
	Facelet
	
	Response
	Respondido em 14/05/2020 18:09:43
	
Explicação:
Segundo o mapeamento feito no web.xml, toda chamada a páginas JSF será direcionada para o FacesServlet, fazendo com que o mesmo assuma o papel de Front Control na arquitetura do JSF.
	
	
	 
	
	 6a Questão
	
	
	
	
	Qual a fase do ciclo de vida do JSF onde a árvore de componentes é montada ao nível do servidor?
		
	
	Apply Requests
	
	Render Response
	
	Process Validations
	 
	Restore View
	
	Update Model Values
	Respondido em 14/05/2020 18:10:18
	
Explicação:
A fase inicial do ciclo de vida é a Restore View, onde é recebida a requisição HTTP e montada a árvore de objetos em memória.
	
	
	 
	
	 7a Questão
	
	
	
	
	A arquitetura MOM (Message Oriented Middleware) se torna muito importante no mundo corporativo ao permitir que sejam sequenciados diversos pedidos para atendimento de forma assíncrona, pois as solicitações são enviadas para filas de mensagens com a finalidade de serem processadas posteriormente, sem bloquear o cliente. Esta é um típico exemplo de qual padrão arquitetural?
		
	
	PAC
	
	MVC
	 
	Event-Driven
	
	Broker
	
	Blackboard
	Respondido em 14/05/2020 18:10:35
	
Explicação:
Os sistemas de mensageria são baseados em Middleware Orientado a Mensagens (MOM), os quais são assíncronos e guiados por eventos, segundo o padrão Event-Driven.
	
	
	 
	
	 8a Questão
	
	
	
	
	Na arquitetura MVC, os componentes JDBC podem ser utilizados em que camada(s)?
		
	
	View
	 
	Model
	
	Control
	
	Model, Control e View
	
	Control e Model
	Respondido em 14/05/2020 18:10:27
	
Explicação:
Como o JDBC está relacionado à persistência em banco de dados, ele deve ser utilizado exclusivamente na Model.
	
	
	 
	
	 1a Questão
	
	
	
	
	Os dois tipos de arquiteturas de envio e recepção que o JMS pode visualizar são:
		
	 
	Filas e Tópicos
	
	Get e Post
	
	Assinaturas e Tópicos
	
	Síncrona e Assíncrona
	
	Filas e Assinaturas
	Respondido em 14/05/2020 18:11:07
	
Explicação:
As estruturas de mensagerias, ambas assíncronas, são Filas, com vários emissores e um consumidor sequencial, e Tópicos, com vários publicadores e vários assinantes.
	
	
	 
	
	 2a 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.
		
	
	São definidos pela anotação @Message.
	
	Precisam implementar a interface SessionListener.
	
	Necessitam de interfaces @Local e @Remote.
	 
	Apresentam um único método para tratamento de mensagens denominado onMessage.
	
	Eles podem guardar informações de estado, como os Statefull Session Beans.
	Respondido em 14/05/2020 18:11:25
	
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.
	
	
	 
	
	 3a 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?
		
	
	Stateful
	
	Entity
	
	Stateless
	 
	Singleton
	
	Message Driven
	Respondido em 14/05/2020 18:11:40
	
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.
	
	
	 
	
	 4a Questão
	
	
	
	
	Qual tipo de EJB foi substituido pelo JPA no JEE5?
		
	
	Stateless Session Bean
	 
	Entity Bean
	
	MDB
	
	Sateful Session Bean
	
	Singleton
	Respondido em 14/05/2020 18:11:46
	
Explicação:
No J2EE, existia um EJB para persistência denominado EntityBean, que seguia o padrão Active Record, o qual, no entanto, se mostrou inferior a alguns frameworks de persistência em termos de eficiência, sendo substituído pelo JPA no JEE5.
	
	
	 
	
	 5a 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();
		
	
	EntityFactory; EntityManager; save
	
	Connection; Statement; execute
	
	Database; Entity; put
	 
	EntityManagerFactory; EntityManager; persist
	
	EntityManager; Command; insert
	Respondido em 14/05/2020 18:12:08
	
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.
	
	
	 
	
	 6a Questão
	
	
	
	
	Arquivo de configuração necessário para a definição das conexões no JPA:
		
	
	context.xml
	
	manifest
	
	readme.txt
	
	web.xml
	 
	persistence.xml
	Respondido em 14/05/2020 18:12:30
	
Explicação:
O arquivo persistence.xml guarda as configurações JDBC e definições de unidades de persistência.
	
	
	 
	
	 7a Questão
	
	
	
	
	Suponha que você precisa implementar uma funcionalidade de um novo sistema de Telemarketing que envolve o controle da quantidade de chamadas tratadas pelo operador enquanto estiver logado. Qual o tipo de EJB seria mais apropriado para acumular a quantidade de chamadas? 
		
	
	JPA
	
	Stateless Session Bean
	
	MDB
	
	Entity Bean
	 
	Stateful Session Bean
	Respondido em 14/05/2020 18:12:48
	
Explicação:
Por se tratar de uma chamada a um método de negócios síncrona, temos a clara utilização de um Session Bean, e como deve guardar o estado, no caso a quantidade e chamdas, precisamos de um Stateful Session Bean.
	
	
	 
	
	 8a 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:
		
	 
	Stateful Session Bean
	
	Entity Bean
	
	Async Queued Bean
	
	Stateless Session Bean
	
	Message Driven Bean
	Respondido em 14/05/2020 18:13:01
	
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.
	
	
	 
	
	 1a Questão
	
	
	
	
	Ao solicitar a criação de entidades JPA a partir do banco de dados, no NetBeans, é solicitado que se defina um pool de conexões para o acesso a este banco. Qual tecnologia Java é utilizada para o registro e localização deste pool?
		
	
	EJB
	 
	JNDI
	
	SWING
	
	JDBC
	
	JMS
	Respondido em 14/05/2020 18:13:29
	
Explicação:
O serviço de nomes e diretórios do Java é denominado JNDI, e serve para o registro e localização de objetos como pools de conexão e filas de mensagerias, entre diversos outros.
	
	
	 
	
	 2a Questão
	
	
	
	
	Ao gerar diversas camadas de um aplicativo corporativo, com uso dos processos de automação do NetBeans, você notou que os Session Beans vinham com a anotação PersistenceContext sobre alguns atributos. Qual a função desta anotação?
		
	 
	Instanciar o EntityManager, efetuando a relação com a unidade de persistência correta.
	
	Definir uma fachada abstrata para as operações de banco de dados.
	
	Dar suporte aos elementos de persistência do JSF.
	
	Indicar qual a interface local para uso com o EJB.
	
	Configurar o Session Bean para que possa trabalhar com processos assíncronos.
	Respondido em 14/05/2020 18:13:56
	
Explicação:A anotação citada serve para instanciar o EntityManager, efetuando a relação com a unidade de persistência correta, como no exemplo seguinte.
@PersistenceContext(unitName = "ExemploCompleto-ejbPU")
private EntityManager em;
Note que a automatização do NetBeans gera uma classe abstrata de base, agrupando as operações de banco, e concretiza estas operações, baseado em Generics, no descendente do tipo Session EJB, onde é também concretizada também a relação com o banco de dados, instanciando o EntityManager com a anotação do exemplo.
	
	
	 
	
	 3a Questão
	
	
	
	
	Na criação de um Managed Bean, a utilização da anotação SessionScoped serve para:
		
	
	Permitir o acesso a um Session Bean.
	 
	Manter o valor do Managed Bean entre chamadas sucessivas.
	
	Remover os valores do Managed Beans no carregamento da página.
	
	Solicitar a autenticação do usuário para executar o Managed Bean.
	
	Definir o nome que será utilizado pela página JSF para acesso ao Managed Bean.
	Respondido em 14/05/2020 18:14:02
	
Explicação:
Ao utilizar ScopedSession estamos definindo o escopo de sessão para o Managed Bean, o que manterá seus valores carregados entre chamadas sucessivas.
Um exemplo é apresentado a seguir.
@Named(value = "produtoMB")
@SessionScoped
public class ProdutoMB extends Produto{
 
	
	
	 
	
	 4a Questão
	
	
	
	
	No ambiente JEE, a anotação PersistenceContext é utilizada para:
		
	
	Definir um EJB do tipo Stateless.
	
	Acessar um EJB a partir de um Managed Bean.
	
	Efetuar a conexão com as filas de uma mensageria a patir do MDB.
	
	Acessar um Managed Bean a partir de outro no mesmo contexto.
	 
	Instanciar um EntityManager a partir da unidade de persistência.
	Respondido em 14/05/2020 18:14:14
	
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.
	
	
	 
	
	 5a Questão
	
	
	
	
	Assinale a alternativa correta.
		
	
	Na arquitetura MVC, as entidades JPA devem acessar os Managed Beans com o uso de @Inject.
	
	Os Managed Beans podem instanciar elementos do tipo EntityManager sem quebrar as regras do modelo MVC.
	
	Uma anotação @Id seria utilizada para acessar um EJB específico do pool de EJBs.
	 
	As transações nos EJBs são controladas através do JTA (Java Transaction API).
	
	Em termos da arquitetura MVC, os EJBs pertencem à camada View.
	Respondido em 14/05/2020 18:14:37
	
Explicação:
Na arquitetura MVC, JSF estaria na View, EJB na Control e JPA na Model. Nenhum componente da camada View deve acessar a camada Model sem passar pela Control, e nenhuma camada conhece os componentes de uma camada superior, ou seja, a Model não conhece a Control e a Control não conhece a View. A anotação @Id serve para identificr o campo chave de uma entidade JPA, e não é possível determinar o EJB que será acessado no pool.
	
	
	 
	
	 6a 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:
		
	
	Singleton
	
	Front Control
	
	Intercept Filter
	 
	Session Facade
	
	Adapter
	Respondido em 14/05/2020 18:14:53
	
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.
	
	
	 
	
	 7a Questão
	
	
	
	
	Qual anotação deve ser utilizada para efetuar o acesso a um Managed Bean a partir de outro?
		
	
	EJB
	
	Named
	
	SessionScoped
	
	ApplicationScoped
	 
	Inject
	Respondido em 14/05/2020 18:15:02
	
Explicação:
Enquanto @Named permite definir o nome do Managed Bean, com @Inject podemos acessá-lo através do nome definido anteriormente.
	
	
	 
	
	 8a Questão
	
	
	
	
	Em uma arquitetura MVC com uso de JSF, JPA e EJB, em que camadas estariam, respectivamente, os componentes de cada uma destas tecnologias?
		
	
	Model, Control e View
	
	Model, View e Control
	 
	View, Model e Control
	
	Control, Model e View
	
	View, Control e Model
	Respondido em 14/05/2020 18:15:15
	
Explicação:
Os componentes JSF irão compor a interface na camada View, enquanto o acesso ao banco será feito via JPA na camada Model, e as regras de negócio serão implementadas pelos EJBs na camada Control.
	
	 
		
	
		1.
		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.trunc(x,y) - transforma o valor real X em um inteiro para y.
	
	
	Math. pow(x,y) - retorna o resultado de x elevado a y.
	
	
	Math. abs(x) - retorna o valor absoluto de x.
	
	
	Math.sqrt(x) - retorna a raíz quadrada do valor x enviado.
	
	
	Math. random( ) - retorna um valor aleatório entre 0 e 1.
	
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.
	
	
	
	 
		
	
		2.
		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++;  
}
	
	
	
	5
	
	
	11
	
	
	24
	
	
	1
	
	
	4
	
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
	
	
	
	 
		
	
		3.
		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.
	
	
	
	É capaz de executar uma operação matemática válida.
	
	
	z=eval(6/3); e eval(z=(6/3)); Os dois códigos produzem o mesmo resultado.
	
	
	Converte uma string em código JavaScript e executa-o, se for um comando válido.
	
	
	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.
	
	
	
	 
		
	
		4.
		No Java Script, uma janela do tipo "prompt":
	
	
	
	Exibe apenas uma informação para o usuário.
	
	
	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.
	
	
	Solicita uma confirmação do usuário, positiva ou negativa.
	
	
	Exibe uma lista para que o usuário selecione um ou mais valores.
	
Explicação:
O comando prompt é utilizado como uma entrada de dados de texto, como em:
var x = prompt("Digite seu nome","");
	
	
	
	 
		
	
		5.
		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, false, false
	
	
	false, true, false
	
	
	true, true, false
	
	
	true, true, true
	
	
	true, false, 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
	
	
	
	 
		
	
		6.
		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 !=.
	
	
 
		
	
		1.
		Quanto à validação de formulários em Java Script, é correto afirmar que:
	
	
	
	Quando associada ao evento de envio do formulário necessita de uma função sem retornode valor.
	
	
	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.
	
	
	Pode ser utilizada para substituir os testes de consistência referentes aos relacionamentos do banco de dados, normalmente efetuados no servidor.
	
	
	Permite se utilizar de recursos locais, entre eles o acesso a bancos de dados e arquivos presentes no computador cliente.
	
	
	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.
	
	
	
	 
		
	
		2.
		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
	
	
	onclick
	
	
	onsubmit
	
	
	onblur
	
	
	onchange
	
Explicação:
O evento onchange ocorre na mudança do atributo value, não importando a origem desta mudança.
	
	
	
	 
		
	
		3.
		A afirmativa apresentada na questão diz respeito a que evento?
"Efetua a validação do formulário imediatamente antes do envio para o servidor. Necessita o retorno booleano, indicando se os valores podem ser enviados ou não".
	
	
	
	onsearch
	
	
	onblur
	
	
	onsubmit
	
	
	onselect
	
	
	onclick
	
Explicação:
onselect - seleciona objetos.
onblur - Quando o objeto perde o foco.
onclick -  Quando clica no objeto.
onsearch - Quando envia uma pesquisa.
	
	
	
	 
		
	
		4.
		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:
	
	
	
	onclick
	
	
	onblur
	
	
	onfocus
	
	
	onchange
	
	
	onsubmit
	
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.
	
	
	
	 
		
	
		5.
		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:
	
	
	
	querySelector
	
	
	getElementsByTagName
	
	
	getElementById
	
	
	getElementsByClassName
	
	
	querySelectorAll
	
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.
	
	
	
	 
		
	
		6.
		Quando falamos das ações que um objeto pode realizar estamos nos referindo a:
	
	
	
	Atributos
	
	
	Métodos
	
	
	Nível de Acesso
	
	
	Agrupamentos
	
	
	Herança
	
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.
	
 
		
	
		1.
		Diversos efeitos são disponibilizados com o uso de JQuery. Qual deles faria com que uma DIV desaparecesse "lentamente"?
	
	
	
	show
	
	
	hide
	
	
	fadeIn
	
	
	fadeOut
	
	
	shake
	
Explicação:
O efeito fadeOut apaga lentamente o componente, enquanto fadeIn exibe lentamente, show exibe instantaneamente, hide apaga instantaneamente, e shake faz ele "tremer".
	
	
	
	 
		
	
		2.
		No uso do JQuery, o seletor $("li:odd") serviria para selecionar:
	
	
	
	O primeiro item de cada lista.
	
	
	Todas as ocorrências ímpares de itens de lista.
	
	
	Todas as ocorrências pares de itens de lista.
	
	
	O último item de cada lista.
	
	
	O item central de cada lista da página.
	
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.
	
	
	
	 
		
	
		3.
		No que tange ao conceito de JQuery, analise as asserções subsequentes e, a seguir, assinale a alternativva correta.
I. JQuery é uma biblioteca de funções do HTML, desenvolvida para simplificar os scripts interpretados no navegador do cliente.
II. JQuery é uma biblioteca amplamente adotada pelo mercado no desenvolvimento de sistemas. Esta é uma biblioteca que executa do lado cliente, interagindo com os elementos da página e facilitando muitas das tarefas usuais no desenvolvimento das funcionalidades da interface.
III. A primeira versão da JQuery foi lançada em janeiro de 2006 pelo seu criador Josh Resig.
	
	
	
	Somente as asserções II e III estão corretas
	
	
	Somente a asserção I está correta
	
	
	Somente as asserções I e III estão corretas
	
	
	Somente as asserções I e II estão corretas
	
	
	Somente a asserção III está correta
	
Explicação:
jQuery é uma biblioteca de funções JavaScript que interage com o HTML, desenvolvida para simplificar os scripts interpretados no navegador do cliente.
JQuery é uma biblioteca amplamente adotada pelo mercado no desenvolvimento de sistemas. Esta é uma biblioteca que executa do lado cliente, interagindo com os elementos da página e facilitando muitas das tarefas usuais no desenvolvimento das funcionalidades da interface.
 A primeira versão foi lançada em janeiro de 2006 pelo seu criador Josh Resig.
	
	
	
	 
		
	
		4.
		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
	
	
	keydown, keyup e keypress
	
	
	focus, blur e change
	
	
	mouseenter, mouseleave e change
	
Explicação:
O método focus é executado quando o INPUT ganha o foco, blur quando ele perde e change quando seu atributo value é alterado.
	
	
	
	 
		
	
		5.
		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 as asserções I e III estão corretas
	
	
	Somente a asserção I está correta
	
	
	Somente a asserção II está correta
	
	
	Somente as asserções I e II estão corretas
	
	
	Somente as asserções II 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.
	
	
	
	 
		
	
		6.
		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. 
	
	
	
	Todas as afirmativas são verdadeiras.
	
	
	Apenas as afirmativas I e III são verdadeiras.
	
	
	Todas as afirmativas são falsas.
	
	
	Apenas as afirmativas II 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 vetoresutilizam colchetes. Quanto ao nulo, ele realmente é representado como null.
	
	
	
 
		
	
		1.
		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 a afirmação I está correta
	
	
	Apenas a afirmação II está correta
	
	
	Apenas as afirmações I e II estão corretas
	
	
	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.
	
	
	
	 
		
	
		2.
		"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)).
 
	
	
	
	Menu
	
	
	Caixa de texto
	
	
	Ícone
	
	
	Link
	
	
	Botão
	
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é mesmo com 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.
	
	
	
	 
		
	
		3.
		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 II está correta
	
	
	Somente a asserção I está correta
	
	
	Somente as asserções II e III estão corretas
	
	
	Somente as asserções I e III estão corretas
	
	
	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.
	
	
	
	 
		
	
		4.
		De modo geral, o XML parser nada mais é do que:
	
	
	
	Um analisador de documentos XML, que tem como objetivo carregar ou criar um documento utilizando o JavaScript.
	
	
	Um objeto DOM implementado dentro do XML.
	
	
	Um método utilizado exclusivamente na validação de documento JavaScript.
	
	
	Uma classe de documentos criados em JavaScript.
	
	
	Uma técnica utilizada para a manipulação de metadados.
	
Explicação:
Com o uso de um XML Parser, é possível trabalhar os dados de um documento XML segundo uma visão em árvore. 
	
	
	
	 
		
	
		5.
		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:
	
	
	
	Usa (x)html / css para definir o aspecto visual da página.
	
	
	Executa as requisições através do protocolo HTTP.
	
	
	Usa javascript como linguagem para desenvolver código no lado do cliente.
	
	
	Representa os objetos no lado cliente com DOM.
	
	
	Permite recuperação assíncrona de dados usando XMLHttpRequest.
	
Explicação:
O grande diferencial do AJAX é permitir um comportamento assícrono do cliente nas chamadas HTTP.
	
	
	
	 
		
	
		6.
		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 XSLT
	
	
	XSLT e XSL-FO
	
	
	XSD e XSL-FO
	
	
	XSD e XSLT
	
	
	DTD e XSD
	
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.
	
	
	
	 
		
	
		7.
		"Bastante similar a uma Activity, um (I) consiste em uma pequena porção de Activty, que permite um projeto mais modular. Não seria errado afirmarmos, assim, que um (II) é uma espécie de subactivity."
Na sentença acima, (I) e (II) representam respectivamente a: (assinale a alternativa correta)
 
	
	
	
	(I) fragmento; (II) menu
	
	
	(I) menu; (II) menu
	
	
	(I) fragmento; (II) botão
	
	
	(I) menu; (II) fragmento
	
	
	(I) fragmento; (II) fragmento
	
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.
	
	
 
		
	
		1.
		"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
	
	
	Notificação Android
	
	
	Classe
	
	
	Chamada Android
	
	
	Caixa de texto 
	
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.
	
	
	
	 
		
	
		2.
		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 permanentee 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 III e IV estão corretas
	
	
	Somente as asserções I, III e IV estão corretas
	
	
	Somente as asserções II, III e IV estão corretas
	
	
	Somente as asserções I, II e III estão corretas
	
	
	Somente as asserções I, II e IV estão corretas
	
Explicação:
Toast
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)
	
	
	
	 
		
	
		3.
		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 a afirmação I está correta
	
	
	Somente as afirmações I e III estão corretas
	
	
	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.
	
	
	
	 
		
	
		4.
		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
	
	
	4,17
	
	
	4
	
	
	12,5
	
	
	96
	
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
	
	
	
	 
		
	
		5.
		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):
 
 
	
	
	
	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)
	
	
	setNegativeButton: exibe a AlertDialog
	
	
	setNeutralButton: define um botão que nem cancela e nem define uma ação (Exemplo: Notifique-me mais tarde)
	
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
	
	
	
	 
		
	
		6.
		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
	
	
	extends
	
	
	this
	
	
	super
	
	
	implements
	
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.
	
	
	
	 
		
	
		7.
		__________________ é 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:
	
	
	
	Garbage Drunk
	
	
	Garbage Collector
	
	
	Java Collector
	
	
	Java Clean
	
	
	Java Virtual Machine
	
Explicação:
O coletor de lixo, ou Garbage  Collector, elimina da memória os objetos que não podem mais ser referenciados.
	
	
 
		
	
		1.
		O middleware de acesso ao banco de dados utilizado pelo Java é denominado:
	
	
	
	RPC
	
	
	JNDI
	
	
	JDBC
	
	
	JMS
	
	
	RMI
	
Explicação:
O middleware para acesso a banco de dados do Java é o JDBC (Java Database Conectivity)
	
	
	
	 
		
	
		2.
		O uso de um DAO (Data Access Object) em um código tem a função de:
	
	
	
	Impedir que uma classe tenha mais de um objeto instanciado.
	
	
	Gerenciar a geração de logs de acesso com API específica.
	
	
	Encapsular o usuário e senha de acesso ao banco de dados relacional.
	
	
	Prover uma interface para acesso a um banco de dados ou outro mecanismo de persistência.
	
	
	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.
	
	
	
	 
		
	
		3.
		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 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.
	
	
	Parte responsável pela apresentação de feedbacks ao cliente em uma aplicação Web.
	
	
	Parte responsável pelo coleta de dados do cliente em uma aplicação Web.
	
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.
	
	
	
	 
		
	
		4.
		No contexto da programação cliente-servidor, ao que se refere o termo front-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 Desktop.
	
	
	 Parte responsável pelo coleta de dados do cliente em uma aplicação Desktop
	
	
	  Parte responsável pela definição do estilo das interfaces em uma aplicação Desktop.
 
	
Explicação:
Em outras palavras se classifica como a parte visual de um sistema Web, aquilo com o qual o cliente interage.
	
	
	
	 
		
	
		5.
		O que faz o operador BETWEEN da linguagem SQL?
	
	
	
	Usado para determinar quais campos dos registros devem ser recuperados.
	
	
	Estabele um valor mínimo e um valor máximo para filtrar registros.
	
	
	Usado para selecionar registros.
	
	
	Usado para comparar registros.
	
	
	Determina as tabelas de onde serão recuperados os registros.
	
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.
	
	
	
	 
		
	
		6.
		Existem diversos componentes no JDBC, e um deles permite a parametrização de queries. Indique qual é este componente.
	
	
	
	Connection
	
	
	DriverManager
	
	
	Statement
	
	
	ResultSet
	
	
	PreparedStatement
	
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.
	
	
	
	 
		
	
		7.
		O que é um banco de dados relacional?
	
	
	
	 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.
	
	
	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. 
	
	
	Banco que armazena dados em tabelas. 
	
	
	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.
	
	
		Prezado (a) Aluno(a),
Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha.
Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS.
	
	 
		
	
		1.
		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
	
	
	Database; Entity; put
	
	
	EntityFactory; EntityManager; save
	
	
	EntityManager; Command; insert
	
	
	EntityManagerFactory; EntityManager; persist
	
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.
	
	
	
	 
		
	
		2.
		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:
	
	
	
	Async Queued Bean
	
	
	Stateful Session Bean
	
	
	Message Driven Bean
	
	
	Stateless Session Bean
	
	
	Entity 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.
	
	
	
	 
		
	
		3.
		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?
	
	
	
	Entity
	
	
	Stateless
	
	
	Message Driven
	
	
	Stateful
	
	
	Singleton
	
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.
	
	
	
	 
		
	
		4.
		O que é JPA?
	
	
	
	É 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.
	
	
	É 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 Ruby 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.
	
	
	
	 
		
	
		5.
		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 público.
	
	
	 É 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 privado.
	
	
	 É uma classe com métodos de negócios e com atributos definidos de forma privada e métodos de acesso privado.
	
	
	 É uma classe com métodos de negócios e atributos definidos de forma privada e métodos de acesso público.
	
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.
	
	
	
	 
		
	
		6.
		Sobre as redes de Petri é correto afirmar que:
	
	
	
	Define um grafo estocástico de elementos essenciais
	
	
	Definem graficamente a estrutura de um sistema distribuído como um autômato.
	
	
	São uma representação matemática para sistemas distribuídos discretos. 
	
	
	Formam uma linguagem de programação.
	
	
	 Possuem nós de posição, nós de transição, e arcos não-direcionados conectando posições com transições
	
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.
	
	
	
	 
		
	
		7.
		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.
	
	
	
	Eles podem guardar informações de estado, como os Statefull Session Beans.
	
	
	Precisam implementar a interface SessionListener.
	
	
	São definidos pela anotação @Message.
	
	
	Necessitam de interfaces @Local e @Remote.
	
	
	Apresentam um único método para tratamento de mensagens denominado onMessage.
	
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 guardarestado.
	
	
	
 
		
	
		1.
		Com relação aos conceitos de arquitetura de aplicações, é correto afirmar que o MVC é um padrão
	
	
	
	de objeto que executa uma operação quando ele recebe uma solicitação (mensagem) correspondente de um outro objeto.
	
	
	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".
	
	
	de operação dirigida para uma classe e não para um objeto individual.
	
	
	que garante que uma lógica de negócios possa ser acessada e visualizada por uma única interface.
	
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.
	
	
	
	 
		
	
		2.
		No ambiente JEE, a anotação PersistenceContext é utilizada para:
	
	
	
	Instanciar um EntityManager a partir da unidade de persistência.
	
	
	Acessar um EJB a partir de um Servlet.
	
	
	Definir um EJB do tipo Stateless.
	
	
	Definir uma interface remota para um EJB.
	
	
	Efetuar a conexão com as filas de uma mensageria a patir do MDB.
	
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.
	
	
	
	 
		
	
		3.
		Sobre os Servlets é incorreto afirmar que:
	
	
	
	São frequentemente usados para processar ou armazenar dados que foram submetidos de um formulário HTML.
	
	
	Não fazem uso de protocolos
	
	
	Fazem uso exclusivo do protocolo HTTP.
	
	
	 É uma classe Java usada para estender as funcionalidades de um servidor.
	
	
	Fornecem conteúdo dinâmico, como os resultados de uma consulta a um banco de dados.
	
Explicação:
Os servlets normalmente utilizam o protocolo HTTP, apesar de não serem restritos a ele.
	
	
	
	 
		
	
		4.
		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
	
	
	HttpRequest
	
	
	HttpResponse
	
	
	HttpServletResponse
	
	
	HttpServletRequest
	
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.
	
	
	
	 
		
	
		5.
		Sobre o controle de acesso é incorreto afirmar que:
	
	
	
	Por questões de segurança sessões não são usadas.
	
	
	Sessões são usadas
	
	
	Logins são uma forma de controle de acesso.
	
	
	O controle de acesso permite manter a confidencialidade e integridade das informações.
	
	
	Busca identificar os usuários legítimos das informações. 
	
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.
	
	
	
	 
		
	
		6.
		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:
	
	
	
	Singleton
	
	
	Session Facade
	
	
	Adapter
	
	
	Intercept Filter
	
	
	Front Control
	
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.
	
	
	
 
		
	
		1.
		Sobre REST é incorreto afirmar que:
	
	
	
	 É um modelo a ser utilizado para se projetar arquiteturas de software distribuído, baseadas em comunicação via rede.
	
	
	Um dos seus princípios diz que todo recurso deve possuir uma identificação única.
	
	
	É baseado em protocolos off-line.
	
	
	Consiste em princípios que, quando seguidas, permitem a criação de um projeto com interfaces bem definidas.
	
	
	É um estilo de arquitetura de software que define um conjunto de restrições a serem usadas para a criação de web services.
	
Explicação:
REST tem como base certos protocolos da internet, logo são on-line.
	
	
	
	 
		
	
		2.
		O que garante a plena interoperabilidade dos Web Services SOAP e transparência para os firewalls é:
	
	
	
	Trabalhar com as bibliotecas Microsoft.
	
	
	A criação em linguagem C#.
	
	
	Executar chamadas estilo RPC.
	
	
	A criação em linguagem Java.
	
	
	Uso de um protocolo baseado em XML.
	
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.
	
	
	
	 
		
	
		3.
		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:
	
	
	
	Service, WebMethod e Param
	
	
	WebServlet, WebMethod e Param
	
	
	WebService, Path e WebParam
	
	
	WebService, WebMethod e WebParam
	
	
	Service, Path e PathParam
	
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.
	
	
	
	 
		
	
		4.
		Nos Web Services do tipo RESTful, qual o método HTTP utilizado para efetuar consultas aos valores das entidades?
	
	
	
	PUT
	
	
	DELETE
	
	
	GET
	
	
	HEAD
	
	
	POST
	
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".
	
	
	
	 
		
	
		5.
		Componente dos Web Services SOAP que viabiliza a criação automatizada de clientes nas mais diversas plataformas:
	
	
	
	COS Naming
	
	
	RPC
	
	
	UDDI
	
	
	IDL
	
	
	WSDL
	
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.
	
	
	
	 
		
	
		6.
		Sobre os Web Services é incorreto afirmar que:
	
	
	
	Permitem que sistemas desenvolvidos em plataformas diferentes sejam compatíveis.
	
	
	 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 à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
	Acerto: 1,0  / 1,0
	
	"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:
		
	 
	meta
	
	link
	
	doctype
	
	title
	
	body
	Respondido em 14/05/2020 19:31:49

Outros materiais