Buscar

Teste de conhecimento desenvol de software

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

Teste desenvolvimento de software
		1.
		__________________ é 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 Virtual Machine
	
	
	Garbage Drunk
	
	
	Java Clean
	
	
	Java Collector
	
	
	Garbage Collector
	
Explicação:
O coletor de lixo, ou Garbage  Collector, elimina da memória os objetos que não podem mais ser referenciados.
	
	
	
	 
		
	
		2.
		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; a = 10; a++)
	
	
	for(a=1;b >= a*2;b--)
	
	
	for(; ++a < b-- ;)
	
	
	for(; a <= b;)
	
	
	for(a=1,b=5; a < b ;a++,b--)
	
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 ==.
	
	
	
	 
		
	
		3.
		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); 
 
	
	
	
	true, false e true
	
	
	false, true e false
	
	
	true, true e false
	
	
	true, false e false
	
	
	false, true e true
	
Explicação:
T && F -> F,  F || T -> T,  T && !T -> T && F -> F
	
	
	
	 
		
	
		4.
		Qual das IDEs abaixo não implementa código java?
	
	
	
	Netbeans
	
	
	Eclipse
	
	
	BlueJ
	
	
	Jcreator
	
	
	JDelphi
	
Explicação:
Jdelphi nem é uma IDE
	
	
	
	 
		
	
		5.
		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.
		Qual a função do encapsulamento?
	
	
	
	Cria novos objetos.
	
	
	Fazer a transferência de dados segura entre usuário e servidor.
	
	
	Fazer uma conexão entre usuário e servidor.
	
	
	Impedir o acesso direto a um atributo.
	
	
	Instanciar um objeto dentro de classes privadas.
	
Explicação:
Tradicionalmente o encapsulamento é feito com o uso de getters e setters públicos para o controle do acesso aos atributos privados.
	
	
	
	 
		
	
		2.
		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?
	
	
	
	Encapsulamento
	
	
	Agregação
	
	
	Sobrecarga
	
	
	Herança
	
	
	Sobrescrita
	
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.
	
	
	
	 
		
	
		3.
		Acerca de interfaces, na sintaxe Java, qual a informação correta?
	
	
	
	Define regras para o comportamento de classes de uma mesma família.
	
	
	É implementada pelas classes com o uso de extends.
	
	
	Deve ser definida com o uso de abstract class.
	
	
	Permite a definição de métodos concretos.
	
	
	É um elemento totalmente abstrato, com um conjunto de assinaturas de métodos.
	
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.
	
	
	
	 
		
	
		4.
		O tipo de visibilidade que permite acesso aos recursos da príopria Classe e seus descendentes é:
	
	
	
	void
	
	
	public
	
	
	inner
	
	
	private
	
	
	protected
	
Explicação:
protected
	
	
	
	 
		
	
		5.
		Quando falamos das ações que um objeto pode realizar estamos nos referindo a:
	
	
	
	Nível de Acesso
	
	
	Herança
	
	
	Atributos
	
	
	Métodos
	
	
	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.
	
	
	
	 
		
	
		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
	
	
	super
	
	
	this
	
	
	extends
	
	
	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.
		1.
		Qual das palavras reservadas abaixo não fazem parte do tratamento de excessões?
	
	
	
	finally
	
	
	out
	
	
	try
	
	
	throw
	
	
	catch
	
Explicação:
out
	
	
	
	 
		
	
		2.
		Acerca das anotações, é correto afirmar:
	
	
	
	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.
	
	
	São interfaces comuns, que devem ser implementadas pelas classes com o uso de implements.
	
	
	É apenas um tipo de comentário que surgiu na versão 5 do Java.
	
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.
	
	
	
	 
		
	
		3.
		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
	
	
	throws
	
	
	finally
	
	
	throw
	
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.
	
	
	
	 
		
	
		4.
		Qual das opções abaixo não é uma descendente de Collection?
	
	
	
	Arraylist
	
	
	LinkedList
	
	
	HashMap
	
	
	HashList
	
	
	Vector
	
Explicação:
HashList não é uma descente de Collection
	
	
	
	 
		
	
		5.
		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 finally é sempre executada, mesmo ocorrendo o fluxo em um bloco try/catch.
	
	
	A cláusula try sempre é executada, mas a sequencia completa pode ser interrompida por uma exceção.
	
	
	A cláusula catch nem sempre é executada.
	
	
	Uma exceção é sempre um objeto do tipo Throwable.
	
	
	As exceções em Java são fixas e não é possível definir novas exceções.
	
Explicação:
No Java é possível definir exceções de forma muito simples, bastando derivar da classe Exception ou de suas descendentes.
	
	
	
	 
		
	
		6.
		A bibliotecaJava 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?
	
	
	
	ArrayList
	
	
	Collection
	
	
	List
	
	
	Vector
	
	
	HashMap
	
Explicação:
O uso de HashMap viabiliza a construção de coleções de pares chave-valor, onde as chaves não permitem duplicidade.
		1.
		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?
	
	
	
	ChangeListener
	
	
	ActionListener
	
	
	ItemListener
	
	
	KeyListener
	
	
	FocusListener
	
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.
	
	
	
	 
		
	
		2.
		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?
	
	
	
	BorderLayout
	
	
	BoxLayout
	
	
	GridLayout
	
	
	GridBagLayout
	
	
	FlowLayout
	
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.
	
	
	
	 
		
	
		3.
		Qual gerenciador de layout Swing do Java possui essas 5 regiões de distribuição de elementos: north, south, east, west, and center;
	
	
	
	Card Layout
	
	
	Grid Layout
	
	
	Flow Layout
	
	
	Spring Layout
	
	
	Border Layout
	
Explicação:
Border
	
	
	
	 
		
	
		4.
		Qual componente gráfico deve ser utilizado para representar opções mutuamente exclusivas em uma janela de cadastro?
	
	
	
	JTree
	
	
	JButton
	
	
	JCheckBox
	
	
	JRadioButton
	
	
	JLabel
	
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.
	
	
	
	 
		
	
		5.
		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 swt
	
	
	awt e swing
	
	
	jdbc e swing
	
	
	awt e jdbc
	
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.
	
	
	
	 
		
	
		6.
		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?
	
	
	
	ActionListener
	
	
	MouseMotionListener
	
	
	MouseListener
	
	
	FocusListener
	
	
	TextListener
	
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.
		1.
		As tags responsáveis por quebra de linha, criação de parágrafo e criação de formulários são, respectivamente:
	
	
	
	< h1 > < p > < br >
	
	
	< p > < br > < form >
	
	
	< form > < br > < h1 >
	
	
	< br > < p > < h1 >
	
	
	< br > < p > < form >
	
Explicação:
As tags seriam br (break), p (paragraph) e form. A tag h1 define uma fonte de título grande.
	
	
	
	 
		
	
		2.
		Tag utilizada para definir o cabeçalho de uma página HTML:
	
	
	
	foot
	
	
	br
	
	
	body
	
	
	title
	
	
	head
	
Explicação:
	
	
	
	 
		
	
		3.
		Escolha qual opção melhor define a sentença abaixo:
"Linguagem de marcação utilizada na construção de páginas na Web" :
	
	
	
	php
	
	
	css
	
	
	html
	
	
	java
	
	
	pyton
	
Explicação:
HTML
	
	
	
	 
		
	
		4.
		Escolha qual opção melhor define a sentença abaixo:
"Mecanismo para adicionar estilo a um documento web" :
	
	
	
	pyton
	
	
	html
	
	
	php
	
	
	java
	
	
	css
	
Explicação:
css
	
	
	
	 
		
	
		5.
		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
	
	
	onblur
	
	
	onclick
	
	
	onsubmit
	
	
	onfocus
	
Explicação:
O evento onchange ocorre na mudança do atributo value, não importando a origem desta mudança.
	
	
	
	 
		
	
		6.
		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" :
	
	
	
	java
	
	
	PHP
	
	
	css
	
	
	html
	
	
	javascript
	
Explicação:
javascript
		1.
		Pode-se dizer que está INCORRETO sobre as tecnologias Servlet/JSP:
	
	
	
	Toda página JSP é transformada em um Servlet.
	
	
	Não possuem o método main, pois estão sob controle dos contêineres.
	
	
	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.
	
	
	Para criar um Servlet é necessário criar uma classe derivada de HttpServlet.
	
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.
	
	
	
	 
		
	
		2.
		Classe utilizada em páginas JSP para controle de sessão:
	
	
	
	HttpSessionId
	
	
	HttpSession
	
	
	SessionId
	
	
	HttpCookie
	
	
	HttpCookieId
	
Explicação:
HttpSession
	
	
	
	 
		
	
		3.
		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
	
	
	Servlet
	
	
	Hibernate
	
Explicação:
Servlet
	
	
	
	 
		
	
		4.
		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." :
	
	
	
	ASP
	
	
	JSS
	
	
	JSP
	
	
	PHP
	
	
	JSF
	
Explicação:
JSP
	
	
	
	 
		
	
		5.
		Preencha as lacunas e, em seguida, assinale a alternativa correta.
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 / scriplets / HTML / XML / compilador
	
	
	tags JSP / HTML / Java / Java Script / servidor
	
	
	tags JSP / HTML / Java / XML / servidor
	
	
	tags JSP / scriplets / HTML / XML / servidor
	
	
	tags JSP / HTML / Java / Java Script / compilador
	
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.
	
	
	
	 
		
	
		6.
		Qual das opções abaixo não representam frameworks para o ambiente Java Web:
	
	
	
	Struts
	
	
	Netbeans
	
	
	Hibernate
	
	
	Java Server Faces (JSF)
	
	
	Spring
	
Explicação:
Netbeans é uma IDE não um framework
		1.
		Os comandos em sql, CREATE, ALTER, DROP, RENAME e TRUNCATE, são comandos do tipo:
	
	
	
	DDL
	
	
	DTL
	
	
	DMZ
	
	
	DDT
	
	
	DML
	
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.2.
		Qual o banco de dados que vem como padrão do NetBeans, sendo totalmente construído em Java?
	
	
	
	Derby
	
	
	Oracle
	
	
	MS Access
	
	
	DB2
	
	
	Informix
	
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.
	
	
	
	 
		
	
		3.
		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="#{clienteDAO.obterTodos()}" var="c" >
	
	
	< h:dataTable value="#{produtoDAO.obterTodos()}" var="p" >
	
	
	< h:dataTable value="#{clienteDAO.findAll()}" var="c" >
	
	
	< h:dataTable var="#{clienteDAO.findAll()}" value="c" >
	
	
	< h:dataTable var="#{produtoDAO.findAll()}" value="p" >
	
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.
	
	
	
	 
		
	
		4.
		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):
	
	
	
	É possivel acessar Banco de Dados que não possuem Driver JDBC próprio através da ponte JDBC-ODBC.
	
	
	O método close() da classe Connection fecha uma conexão com o banco de dados.
	
	
	O executeQuery é um método da classe Connection para execução de uma consulta.
	
	
	Statement trabalha como um executor de comandos SQL.
	
	
	O PreparedStatement é um descendente de Statement que aceita parametrizações.
	
Explicação:
O método executeQuery pertence à classe Statement.
	
	
	
	 
		
	
		5.
		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:
	
	
	
	ClassNotFoundException e ArithmeticException
	
	
	SQLException e ClassNotFoundException
	
	
	SQLException e ServletException
	
	
	ClassNotFoundException e ServletException
	
	
	ServletException e ArithmeticException
	
Explicação:
Pode ocorrer SQLException nas operações sobre o banco, e ClassNotFoundException ao instanciar o Driver.
	
	
	
	 
		
	
		6.
		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"
	
	
	
	JSF
	
	
	JLO
	
	
	JDBC
	
	
	JVC
	
	
	JSP
	
Explicação:
JDBC
	
	
	
	 
		
	
		7.
		Baseado na linha de comando abaixo, marque qual deve ser o comando seguinte:    
Statement st = Conexao.getConection().createStatement();
	
	
	
	List ls = st().executeUpdate("select * from ALUNOS");
	
	
	List< Aluno > ls = st.executeQuery("select * from ALUNOS");
	
	
	ResultSet rs = st.executeQuery("select * from ALUNOS");
	
	
	ResultSet rs = st.executeUpdate("select * from ALUNOS");
	
	
	List< Aluno > ls = st.prepareStatement("select * from ALUNOS");
	
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.
	
	
	
	 
		
	
		8.
		Os comandos em sql, SELECT, UPDATE, INSERT  são comandos do tipo:
	
	
	
	DDT
	
	
	DML
	
	
	DTL
	
	
	DMZ
	
	
	DDL
	
Explicação:
DML, Data Manipulation Language, ou Linguagem de Manipulação de Dados.
		1.
		Qual componente do JSF assume o papel de Front Control?
	
	
	
	Request
	
	
	Response
	
	
	Managed Bean
	
	
	Facelet
	
	
	FacesServlet
	
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.
	
	
	
	 
		
	
		2.
		Marque a opção que contém apenas estilos arquiteturais no modelo Mud to Structure:
	
	
	
	MVC, PAC e Camadas
	
	
	Camadas, Pipes/Filters e Blackboard
	
	
	Microkernel, Reflexiva e MVC
	
	
	Camadas, Blackboard e Broker
	
	
	MVC, PAC e Broker
	
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. 
	
	
	
	 
		
	
		3.
		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?
	
	
	
	Broker
	
	
	PAC
	
	
	Event-Driven
	
	
	Blackboard
	
	
	MVC
	
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.
	
	
	
	 
		
	
		4.
		Definição da seguna camada MVC:
	
	
	
	Verificável
	
	
	Vertiginoso
	
	
	Verdadeiro
	
	
	View
	
	
	Virtual
	
Explicação:
View, de Model-View-Controller
	
	
	
	 
		
	
		5.
		Definição da terceira camada MVC:
	
	
	
	Cadastrado
	
	
	Concorrente
	
	
	Componente
	
	
	Controller
	
	
	Corrente
	
Explicação:
Controller, de Model-View-Controller
	
	
	
	 
		
	
		6.
		Marque a opção que apresenta apenas estilos arquiteturais no modelo de Sistemas Interativos.
	
	
	
	Microkernel e MVC
	
	
	Broker e Blackboard
	
	
	Microkernel e Reflexiva
	
	
	PAC e Broker
	
	
	MVC e PAC
	
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. 
	
	
	
	 
		
	
		7.
		Definição da primeira camada MVC:
	
	
	
	Model
	
	
	Método
	
	
	Manutenção
	
	
	Mecânica
	
	
	Melhoria
	
Explicação:
Model, de Model-View-Controller
	
	
	
	 
		
	
		8.
		Qual a fase do ciclo de vida do JSF onde a árvore de componentes é montada ao nível do servidor?
	
	
	
	Restore View
	
	
	Process Validations
	
	
	Update Model Values
	
	
	Apply Requests
	
	
	Render Response
	
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.
		1.
		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.
	
	
	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.
	
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.
	
	
	
	 
		
	
		2.
		Qual tipo de EJB foi substituido pelo JPA no JEE5?
	
	
	
	Sateful Session BeanMDB
	
	
	Singleton
	
	
	Entity Bean
	
	
	Stateless Session Bean
	
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.
	
	
	
	 
		
	
		3.
		Os dois tipos de arquiteturas de envio e recepção que o JMS pode visualizar são:
	
	
	
	Síncrona e Assíncrona
	
	
	Filas e Tópicos
	
	
	Assinaturas e Tópicos
	
	
	Get e Post
	
	
	Filas e Assinaturas
	
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.
	
	
	
	 
		
	
		4.
		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:
	
	
	
	Entity Bean
	
	
	Message Driven Bean
	
	
	Stateless Session Bean
	
	
	Async Queued Bean
	
	
	Stateful Session 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.
	
	
	
	 
		
	
		5.
		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? 
	
	
	
	Stateless Session Bean
	
	
	Entity Bean
	
	
	MDB
	
	
	Stateful Session Bean
	
	
	JPA
	
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.
	
	
	
	 
		
	
		6.
		Arquivo de configuração necessário para a definição das conexões no JPA:
	
	
	
	web.xml
	
	
	manifest
	
	
	readme.txt
	
	
	context.xml
	
	
	persistence.xml
	
Explicação:
O arquivo persistence.xml guarda as configurações JDBC e definições de unidades de persistência.
	
	
	
	 
		
	
		7.
		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();
	
	
	
	EntityManagerFactory; EntityManager; persist
	
	
	Database; Entity; put
	
	
	Connection; Statement; execute
	
	
	EntityFactory; EntityManager; save
	
	
	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.
	
	
	
	 
		
	
		8.
		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
	
	
	Stateful
	
	
	Message Driven
	
	
	Singleton
	
	
	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.
		1.
		Qual anotação deve ser utilizada para efetuar o acesso a um Managed Bean a partir de outro?
	
	
	
	SessionScoped
	
	
	Inject
	
	
	ApplicationScoped
	
	
	EJB
	
	
	Named
	
Explicação:
Enquanto @Named permite definir o nome do Managed Bean, com @Inject podemos acessá-lo através do nome definido anteriormente.
	
	
	
	 
		
	
		2.
		Na criação de um Managed Bean, a utilização da anotação SessionScoped serve para:
	
	
	
	Remover os valores do Managed Beans no carregamento da página.
	
	
	Manter o valor do Managed Bean entre chamadas sucessivas.
	
	
	Definir o nome que será utilizado pela página JSF para acesso ao Managed Bean.
	
	
	Permitir o acesso a um Session Bean.
	
	
	Solicitar a autenticação do usuário para executar o Managed Bean.
	
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{
 
	
	
	
	 
		
	
		3.
		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?
	
	
	
	JDBC
	
	
	EJB
	
	
	JNDI
	
	
	SWING
	
	
	JMS
	
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.
	
	
	
	 
		
	
		4.
		Em uma arquitetura MVC com uso de JSF, JPA e EJB, em que camadas estariam, respectivamente, os componentes de cada uma destas tecnologias?
	
	
	
	View, Control e Model
	
	
	View, Model e Control
	
	
	Control, Model e View
	
	
	Model, View e Control
	
	
	Model, Control e View
	
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.
	
	
	
	 
		
	
		5.
		No ambiente JEE, a anotação PersistenceContext é utilizada para:
	
	
	
	Acessar um EJB a partir de um Managed Bean.
	
	
	Definir um EJB do tipo Stateless.
	
	
	Instanciar um EntityManager a partir da unidade de persistência.
	
	
	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.
	
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.
	
	
	
	 
		
	
		6.
		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.
	
	
	Configurar o Session Bean para que possa trabalhar com processos assíncronos.
	
	
	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.
	
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.
	
	
	
	 
		
	
		7.
		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
	
	
	Session Facade
	
	
	Intercept Filter
	
	
	Singleton
	
	
	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.8.
		Assinale a alternativa correta.
	
	
	
	Uma anotação @Id seria utilizada para acessar um EJB específico do pool de EJBs.
	
	
	Em termos da arquitetura MVC, os EJBs pertencem à camada View.
	
	
	Os Managed Beans podem instanciar elementos do tipo EntityManager sem quebrar as regras do modelo MVC.
	
	
	Na arquitetura MVC, as entidades JPA devem acessar os Managed Beans com o uso de @Inject.
	
	
	As transações nos EJBs são controladas através do JTA (Java Transaction API).
	
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.

Continue navegando