Prova Específica Cargo Desenvolvimento



Documentos relacionados
Associação Carioca de Ensino Superior Centro Universitário Carioca

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

CURSO DESENVOLVEDOR JAVA Edição 2010

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010.

Programação para Internet II

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

UFG - Instituto de Informática

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

Curso de Aprendizado Industrial Desenvolvedor WEB

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

Experiência em missão crítica de missão crítica

Listando, gravando, alterando e excluindo registro do banco de dados com JSP

Exercícios de Revisão Java Básico

Desenvolvendo Portlets utilizando JSF, Ajax, Richfaces. Gustavo Lira Consultor 4Linux

Sistemas Distribuídos: Conceitos e Projeto Java RMI

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

Java para WEB. Servlets

Manual de Procedimentos para Desenvolvimento de Softwares

Introdução a JavaServer Pages. Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Desenvolvimento de sistemas web

Java para Desenvolvimento Web

Java Enterprise Edition. by Antonio Rodrigues Carvalho Neto

JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto

Desenvolvimento de aplicações Web. Java Server Pages

Enterprise Java Beans

Argo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE

Desenvolvimento Web TCC Turma A-1

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Capítulo 1 - Java EE 6 por alto - 1

PADRÃO PARA MONITORAMENTO DE APLICATIVOS PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ

Gerador de código JSP baseado em projeto de banco de dados MySQL

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Gestão de projectos na Web

Implementando uma Classe e Criando Objetos a partir dela

UNIDADE III JAVA SERVER PAGES

JavaServer Faces. Parte 2

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

UFG - Instituto de Informática

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta

Padrões de Interação com o Usuário

Orientada a serviços: JAX-WS SOAP API

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

SCC Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Disciplina de Redes de Computadores Estudo Dirigido para a Prova II Professor Dr Windson Viana de Carvalho

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

J2EE TM Java 2 Plataform, Enterprise Edition

NETBEANS IDE UTILIZAÇAO DE RECURSOS PARA DESENVOLVIMENTO DE PROJETO JAVA WEB

TDC2012. EJB simples e descomplicado, na prática. Slide 1

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Framework. Marcos Paulo de Souza Brito João Paulo Raittes

Professor Antonio Benedito Coimbra Sampaio Jr

Java Beans e Servlets

ORDEM DE SERVIÇO OS 003/DINFO/ /09/2013

UML: Diagrama de Casos de Uso, Diagrama de Classes

Aula 12: Funções. Pré-requisitos: Todas as aulas anteriores deste módulo. 1. Aproveitando Códigos no Programa

PREFEITURA MUNICIPAL DE BOM DESPACHO-MG PROCESSO SELETIVO SIMPLIFICADO - EDITAL 001/2009 CARGO: COORDENADOR DE INCLUSÃO DIGITAL CADERNO DE PROVAS

Oracle WebLogic Server 11g: Conceitos Básicos de Administração

Curso de Java. Geração de Páginas WEB. TodososdireitosreservadosKlais

Escrevendo meu primeiro porlet. Gustavo Lira Consultor 4Linux

Auditoria Avançada de Persistência com Hibernate, JPA e Envers

UFG - Instituto de Informática

Programação para Web

e-stf WebServices Processo Eletrônico Smart Client Documentação

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

INTRODUÇÃO À TECNOLOGIA SERVLETS

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Java II. Sérgio Luiz Ruivace Cerqueira

WebWork 2. João Carlos Pinheiro.

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

Sessões. Cookies HTTP Sessões Atributos de sessão

Projuris Enterprise Visão Geral da Arquitetura do Sistema

Especificação do Trabalho

Aula de JavaScript 05/03/10

Web Services. Autor: Rômulo Rosa Furtado

Java II. Sérgio Luiz Ruivace Cerqueira

ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

J2EE. J2EE - Surgimento

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com

Persistência de Dados em Java com JPA e Toplink

Java. Marcio de Carvalho Victorino

Transcrição:

UNIVERSIDADE FEDERAL DO PIAUÍ Centro de Educação Aberta e a Distância CEAD/UFPI Rua Olavo Bilac 1148 - Centro CEP 64.280-001 Teresina PI Brasil Fones (86) 3215-4101/ 3221-6227 ; Internet: www.uapi.edu.br Prova Específica Cargo Desenvolvimento 1. A linguagem de programação Java, lançada em 1995, tem demonstrado ser muito estável. A respeito dessa linguagem, considere as afirmativas a seguir. I - Java é uma linguagem orientada a objetos de herança simples e mista que contém tipos de dados primitivos, como int e objetos. II - Java usa semântica de cópia para tipos de dados primitivos, e semântica de referência para objetos. III - Java é uma linguagem multiplataforma, com enfoque no desenvolvimento de aplicações para a Web. Está correto o que se afirma em a) I, apenas. b) III, apenas. c) I e II, apenas. d) II e III, apenas. e) I, II e III 2. Considere o código Java abaixo package br.ufpi.sie; import java.util.date; class Disciplina { protected String nome; protected Date datainicio; private Date datafim; private Professor ministrante; String getsiapeprofessor() { return ministrante.siape; Com base no código Java e nos conceitos de orientação a objetos, é correto afirmar: a) Qualquer classe, independentemente de pacote, pode herdar os atributos e métodos da classe Disciplina. b) Somente classes do pacote br.ufpa.sie podem herdar os atributos e métodos da classe Disciplina. c) Somente classes do pacote br.ufpa.academico podem herdar os atributos e métodos da classe Professor. d) O atributo siape da classe Professor é privado. e) Se adicionarmos a palavra static antes da definição do método getsiapeprofessor(), a JVM não apresentará erros de compilação.

3. Em relação aos servidores de aplicação Java Enterprise Edition (JEE) 5, todas as afirmativas a seguir estão corretas, EXCETO: a) A plataforma Java EE5 é considerada um padrão de desenvolvimento já que o fornecedor de software nesta plataforma deve seguir determinadas regras se quiser oferecer produtos compatíveis com Java EE5. b) O balanceamento de carga consiste na distribuição das requisições entre os vários servidores de aplicação disponíveis. c) A Microsoft oferece um servidor de aplicação compatível com JEE 5. d) A distribuição das requisições pode ser feita através do serviço de resolução de nomes (DNS), ou através de um recurso de redirecionamento do protocolo http ou por intermédio de um agente despachante (dispatcher). e) O GlassFish é um servidor de Web compatível com aplicações JEE 5. 4. Com relação ao código abaixo, considere que a variável i é local, e a variável Vi é uma variável de classe; a única documentação é o código acima apresentado; os métodos mist(), y1() e y2() fazem parte de uma mesma classe; o critério de aceitação do teste é: o método não entra em loop (laço infinito). public void mist(){ int i = 0; while (i < Vi){ i++; i = (calc(i) <= Vi)?y1(i):y2(i); System.out.println("ok"); Nesse contexto, o procedimento correto é aplicar teste(s) de a) caixa preta que forcem a chamada a mist() e, depois, medir a porcentagem de sucesso do método mist(). b) caixa preta isoladamente ao código objeto dos métodos mist(), y1(), y2() antes de aplicar um teste que envolva o método mist(). c) caixa branca aos métodos mist(), y1() e y2(), e, em seguida, usar o resultado para realizar um teste de mesa no método mist(). c) partição nos métodos mist(), y1() e y2(). e) sistema entre os métodos mist(), y1() e y2(). 5. public class SomaMisteriosa { private static void somatres(int x[]) { x[0] += 3; private static void somadois(int x) { x += 2; public static void main(string args[]) { int x = 0; int y[] = { 0 ; somadois(x);

somatres(y); somadois(y[0]); System.out.print(x + " " + y[0]); Após a execução do trecho acima, será impresso a) 2 5 b) 1 5 c) 0 5 d) 0 3 e) 0 0 6. Considere a seguinte classe: public class Produto implements java.io.serializable { private String nome; private String cor; public Produto() { public Produto(String nome, String cor) { this.nome = nome; this.cor = cor; public String getcor() { return this.cor; public void setcor(string cor) { this.cor = cor; public String getnome() { return this.nome; public void setnome(string nome) { this.nome = nome; O código acima apresenta um(a) a) EJB padrão 2.1 com informação de estado. b) bean de entidade para a tabela Produto. c) classe POJO que segue o padrão JavaBean. d) classe que utiliza JMS. e) classe que implementa o padrão FrontController. 7. Abaixo são exibidas expressões na linguagem Java, nas quais a, b e c são variáveis do tipo boolean. Qual, dentre as expressões que, ao ser avaliada, resulta em um valor diferente das demais? a) (!c b ) &! (a &!b); b) ((!c &!(a & b )) b ); c)((a & b) (!a &!b &!c ) (!a & b )); d) (!c b ) &! (a &!b); e) ((!a ^ c) (b & (a ^c))) &!(a &!b & c);

8. A aplicação do padrão MVC (Model-View-Controller) no desenvolvimento de aplicações Web J2EE permite dividir a aplicação em camadas e resolver uma série de problemas. Sobre os recursos da arquitetura J2EE e o desenvolvimento de aplicações J2EE utilizando o MVC, são feitas as afirmativas abaixo. I - Uma possível estratégia no desenvolvimento de um site Web seria utilizar páginas JSP para construir a camada View, Servlets para a camada Controller e EJBs para a camada Model. II - A API JTA do J2EE permite aos clientes de EJB obter um contexto inicial a partir do qual é possível recuperar o objeto Home de um EJB. III - Na demarcação de transação gerenciada pelo container, se o atributo transacional associado ao método de um EJB for definido como Required, o container sempre criará uma nova transação a cada chamada do método. Está(ão) correta(s) a(s) afirmativa(s) (A) I, apenas. (B) II, apenas. (C) III, apenas. (D) I e II, apenas. (E) I, II e III. 9. Em relação aos conceitos da tecnologia JavaServer Pages (JSP), analise as seguintes afirmativas: I. Uma página JSP é um documento texto que contém dados estáticos em formato HTML e XML, por exemplo, e elementos JSP que constroem o conteúdo dinâmico. II. Os elementos JSP em uma página JSP podem ser expressos nas sintaxes padrão e XML, embora em um dado arquivo, pode-se usar somente uma das sintaxes. III. Uma página JSP em sintaxe XML é um documento XML que pode ser manipulado pelas ferramentas e APIs para documentos XML. Além disso, pode ter um jsp:root como elemento raiz. Marque a alternativa CORRETA: a) apenas as afirmativas I e II são verdadeiras. b) apenas as afirmativas I e III são verdadeiras. c) apenas as afirmativas II e III são verdadeiras. d) todas as afirmativas são verdadeiras. 10. Um dos princípios do padrão de arquitetura MVC é a separação da lógica da apresentação do modelo. PORQUE É, muitas vezes, mais prático manter a visão e o controlador unificados, inclusive, por demandas da tecnologia. Analisando-se as afirmações acima, conclui-se que (A) as duas afirmações são verdadeiras, e a segunda justifica a primeira. (B) as duas afirmações são verdadeiras, e a segunda não justifica a primeira. (C) a primeira afirmação é verdadeira, e a segunda é falsa. (D) a primeira afirmação é falsa, e a segunda é verdadeira. (E) as duas afirmações são falsas. 11. Stored Procedure é uma coleção de comandos em a) JavaScript, que encapsulam tarefas repetitivas, aceitam parâmetros de entrada e retornam valores

correspondentes à execução dos comandos JavaScipt. b) SQL, que encapsulam tarefas repetitivas, aceitam parâmetros de entrada e retornam valores correspondentes à execução dos comandos SQL. c) SQL, que não encapsulam tarefas repetitivas, aceitam parâmetros de entrada e não retornam valores correspondentes à execução dos comandos SQL. d) JavaScript, que não encapsulam tarefas repetitivas, aceitam parâmetros de entrada e não retornam valores correspondentes à execução dos comandos SQL. e) SQL, que encapsulam tarefas únicas, não aceitam parâmetros de entrada e retornam valores correspondentes à execução dos comandos 12. Em relação ao Tomcat e Jboss: a) Tomcat é um servidor de aplicações completo baseado na plataforma J2EE. b) JBoss pode funcionar integrado a um servidor web dedicado, tal como Apache httpd ou Microsoft IIS. c) Tomcat implementa conteiner EJB. d) No Jboss todos os módulos que compõem o servidor, além das próprias aplicações, são componentes que podem ser substituídos sem a necessidade de paradas no servidor. e) JBoss é um conteiner Web, que utiliza parte da plataforma corporativa Java EE para implementar funcionalidades em Servlet e JSP. 13. No Hibernate, a) executa operações de busca, cadastro ou alteração de dados, sem requerer mapeamento da tabela em arquivo XML. b) INSERT é a única instrução SQL que requer utilização pelo desenvolvedor. c) os dados tabulares de um banco de dados são transformados em um grafo de objetos definido pelo desenvolvedor. d) a solução aos ambientes Java de mapeamento objeto/relacional é proporcionada pela abstração de toda a parte de representação de tipo de dados por meio de arquivos HTML. e) o desenvolvedor pode acessar diretamente uma tabela de banco de dados, bastando, para isso, abrir uma conexão. 14. Analise os itens a seguir sobre JEE e EJB I. Um servidor EJB gerencia contêineres EJB e Web. II. O contêiner EJB gerencia a execução de EJBs em aplicações J2EE III. O contêiner Web gerencia a execução de páginas JSP e componentes servlet em aplicações J2EE. IV. Um session bean representa um único cliente dentro do servidor J2EE. Para acessar um aplicativo que é instalado no servidor, o cliente invoca os métodos do session bean. Está correto o que se afirma em: a) I, II, III e IV b) I e II, apenas c) I, III e IV, apenas d) I e IV, appenas e) III e IV, apenas 15. Quanto às tecnologias Java, assinale a opção correta. a) Clientes J2EE são necessariamente páginas web dinâmicas que normalmente não fazem acessos a banco de dados, nem executam regras de negócio complexas.

b) Em uma aplicação J2EE típica, um EJB é criado, controlado e destruído pela aplicação cliente. c) JSP pode ser usado para desenvolvimento de páginas web dinâmicas. A lógica que gera o conteúdo dessas páginas é descrita utilizando-se a linguagem Java. d) Um componente J2EE é uma unidade funcional de software autocontida, escrito na linguagem de programação Java e executado exclusivamente em servidores. e) JPA lida com a forma como dados relacionais são mapeados para objetos Java e com a forma como esses objetos são armazenados em um banco de dados relacional. 16. Um servidor de aplicações provê diversos serviços para as aplicações que hospeda. Considerando-se implementações típicas em J2EE/JEE e.net, compondo uma arquitetura em 3 camadas, é correto afirmar que, dentre os serviços oferecidos pelos servidores de aplicações, encontra-se a) validação de objetos de domínio, segundo as regras de negócio da aplicação. b) geração de código através de MDA (Model Driven Architecture). c) persistência final dos objetos de domínio. d) suporte nativo à arquitetura MVC. e) estrutura para troca de mensagens entre aplicações. 17. Assinale a alternativa correspondente ao resultado da execução do código abaixo. <html> <body> <script> x = 5 y = 0 s = "5" if (x = 5) { alert("x = 5") if (y = 0) { alert("y = 0") if (x == "5") { alert("x igual ao caractere 5") if (x === s) { alert("valores iguais e tipos diferentes") </script> </body> </html> a) x = 5 y = 0 x igual ao caractere 5 b) x = 5 y = 0 x igual ao caractere 5 valores iguais e tipos diferentes c) x = 5 x igual ao caractere 5 valores iguais e tipos diferentes d) x igual ao caractere 5 valores iguais e tipos diferentes e) x = 5 x igual ao caractere 5 18. Um servlet é um objeto java que recebe requisições respondendo-as conforme cada solicitação,

como uma página HTML gerada dinamicamente. O gráfico abaixo ilustra isso: Com base em servlet, marque a alternativa correta. a) A interface Servlet possibilita o uso apenas do protocolo HTTP. b) Diversas requisições podem ser feitas à mesma servlet, em tempos diferentes, em um único servidor. c) Para escrevermos um Servlet, criamos uma classe java que estenda HttpServlet e sobrescreva um método chamado service. d) A tag <www-pattern> possibilita flexibilidade de disponibilizar uma servlet através de várias URLs de um caminho. e) O tratamento de erros em uma servlet é configurado no arquivo www.xml. 19. Durante um processo de revisão do sistema de Compras, escrito em plataforma J2EE, foram levantadas as necessidades a seguir. I - O sistema de Compras deverá utilizar a camada de negócio do sistema de Contabilidade, também desenvolvido em plataforma J2EE, e que está instalado em outros servidores, para realizar consultas a informações bancárias dos fornecedores, sendo que a camada de negócio dos dois sistemas está baseada em EJB. II - Um novo subsistema deverá ser implementado para atender novas necessidades do sistema de Compras, entretanto, os EJBs, que irão compor a camada de negócio deste novo subsistema, não devem utilizar descritores de deployment, mas sim, outra forma alternativa de configuração. III - Um mecanismo assíncrono que permita que fornecedores possam, por meio do site do sistema de Compras, solicitar o envio de um e-mail com a lista de licitações que estão disponíveis no site e o valor das licitações de que os fornecedores estão participando é assíncrono porque o fornecedor não precisa ser informado de que o seu pedido foi realizado com sucesso ou não, além do fato de que este seria um processo complexo de ser implementado de forma síncrona. IV - Um mecanismo de auditoria deve ser implementado em alguns EJBs do sistema de Compras de forma tal que sempre que os métodos de negócio destes EJBs forem chamados, um log de auditoria será gravado em uma tabela do banco de dados do sistema de Compras. Para cada uma das necessidades acima, um analista propôs, respectivamente, as seguintes soluções: Implementar as interfaces remotas dos EJBs do sistema de Contabilidade que forem chamados pelo sistema de Compras, além de realizar todas as configurações e builds necessários.como as chamadas serão remotas, os argumentos serão passados por referência para os métodos dos EJBs da Contabilidade. Utilizar o recurso de annotations, como por exemplo a Stateless annotation, que especifica que um EJB não pode manter o estado durante uma sessão com o cliente. implementar um MDB (Message Driven Bean) para tratar as requisições e o processamento do envio do e-mail, uma vez que o processo é assíncrono. Criar classes de interceptors para os EJBs, sendo o mecanismo de auditoria implementado nos métodos das classes de interceptors. Sabendo-se que os EJBs do sistema de Compras seguem o padrão 3.0 e os da Contabilidade seguem o padrão 2.1, conclui-se que as soluções apresentadas pelo analista atendem às necessidades (A) I e II, apenas. (B) II e III, apenas. (C) I, II e IV, apenas. (D) II, III e IV, apenas. (E) I, II, III e IV.

20. Aplicações web consistem de componentes web (Servlets, JSP, HTML, XML, etc), recursos estáticos (imagens, folhas de estilo, arquivos.js, etc) e classes e bibliotecas Java. Com raríssimas exceções, o desenvolvimento de aplicações web usando tecnologias baseadas em Java segue as seguintes etapas: a) Desenvolver o código dos componentes web b) Escrever o descritor de instalação da aplicação c) Compilar os componentes e classes auxiliares d) Empacotar a aplicação web e) Instalar a aplicação f) Acessar a URL que permite acessar a aplicação Usando linguagem dissertativa descreva cada uma das etapas acima.