Prévia do material em texto
Desenvolvimento Web Full MVC
Marcio Quirino - 1
Exercícios
1. A arquitetura MVC aumenta a robustez de um sistema. No entanto, o programador precisa ficar
atento a diversos detalhes para construir cada classe conforme o papel que vai desempenhar.
Nesse sentido, selecione a alternativa correta a respeito dos aspectos básicos da arquitetura
MVC.
A utilização do gerenciador de dependências Maven oferece recursos que auxiliam na separação
das camadas de um projeto.
2. O Maven facilita bastante o desenvolvimento de projetos MVC. Na prática, o tempo e os recursos
para desenvolver projetos de software são escassos, então, dispor de um gerenciador de
dependências é muito importante nesse contexto. Nesse sentido, selecione a alternativa correta
a respeito da utilização do Maven.
A utilização de dependências permite desenvolver testes unitários que são fundamentais para
garantir a qualidade de um projeto.
3. O Spring Boot é um framework que facilita a publicação de projetos na web. Desse modo, é mais
simples segmentar as responsabilidades dos componentes de uma equipe nas tarefas de
desenvolvimento. Nesse sentido, selecione a alternativa correta a respeito dos aspectos
essenciais do desenvolvimento de um projeto com o Spring Boot:
Um projeto Spring Boot é obrigado a ter uma classe principal que inicia o ciclo de vida da
aplicação.
4. Aplicações para web são fundamentais em diversos cenários. Basicamente, algumas aplicações
fazem requisições de operações de consultas e gravações que são tratadas por serviços. O
Spring Boot se encaixa exatamente para atender essas necessidades, uma vez que oferece
diversos recursos que facilitam o processo de desenvolvimento. Nesse sentido, selecione a
alternativa correta a respeito do desenvolvimento de um projeto web com Spring Boot:
Para disponibilizar um serviço na web, um projeto com Spring Boot precisa utilizar a anotação
@RequestMapping.
5. O Spring Boot fornece importantes recursos para a implementação de um projeto MVC. Isso pode
ser facilmente verificado por meio de anotações que são adequadas para determinados contextos
de classes com objetivos bem específicos. Nesse sentido, selecione a alternativa correta a
respeito dos aspectos fundamentais da criação de pacotes segundo o modelo do MVC:
A interface do pacote "service" estabelece um contrato com uma classe do pacote "service.impl"
que deve implementar os serviços que serão utilizados pela classe "controladora".
6. A utilização de ferramentas de teste, como o Postman, auxilia a garantir a qualidade de um projeto
desenvolvido com o Spring Boot. Na realização de um teste bem-sucedido com o Postman, o
analista usou a seguinte configuração:
Foi realizada uma operação de escrita que pode ser uma inserção ou uma atualização de um
registro.
7. Ao desenvolver um sistema, devemos nos preocupar com a segregação de responsabilidades de
suas partes. Nesse contexto, a arquitetura MVC auxilia nessa separação e, como consequência,
facilita a manutenção e atualização do sistema ao longo do tempo. Nesse sentido, selecione a
alternativa correta a respeito da camada de modelo da arquitetura MVC:
Tem como responsabilidade atuar sobre o mapeamento e persistência de dados.
Desenvolvimento Web Full MVC
Marcio Quirino - 2
8. A programação orientada a objetos é um importante paradigma de desenvolvimento. Quando
aplicada para a arquitetura MVC, ele desempenha papéis específicos sobre o ciclo de vida dos
dados. Um exemplo disso são os objetos de acesso aos dados. Nesse sentido, selecione a
alternativa correta a respeito da utilização dos objetos de acesso aos dados.
Trata da aplicação de regras para manipular os dados.
9. A JPA é uma importante aliada para construção de sistemas que fazem persistência de dados.
Ela é formada por recursos, tais como classes e interfaces, que têm objetivos específicos. Nesse
sentido, selecione a alternativa correta a respeito dos componentes da arquitetura da JPA:
O gerenciamento das operações de persistência é da responsabilidade do EntityManager.
10. Um aspecto básico da JPA é o uso de anotações. São por meio delas que o desenvolvedor
caracteriza as propriedades de um item. Nesse sentido, selecione a alternativa correta a respeito
das anotações da JPA:
Podem ser usadas para definir estratégias de geração de valores para as colunas das tabelas.
11. É uma boa prática utilizar recursos que padronizem a programação. Este é o caso do Spring Data
JPA, bastante utilizado para construir serviços. Em relação ao Spring Data JPA, selecione a
alternativa correta:
Utiliza interfaces de repositórios que já possuem alguns métodos padrões.
12. O tempo sempre é um fator importante no processo de desenvolvimento de software. Então,
utilizar de ferramentas que auxiliem no processo de testes reduz a quantidade de problemas que
podem atrapalhar para cumprir os prazos de entrega. Neste sentido, o mecanismo de banco de
dados H2 ajuda a testar as funcionalidades da camada de Modelo. Em relação ao H2, selecione a
alternativa correta:
É possível utilizá-lo para realizar consultas complexas com instruções SOL.
13. Um projeto Maven auxilia na padronização do desenvolvimento de um projeto MVC. O principal
elemento estrutural desse tipo de projeto é o arquivo pom.xml. Nesse sentido, selecione a
alternativa correta a respeito do pom.xml:
É responsável por gerenciar as dependências do projeto.
14. Sistemas que operam com bancos de dados basicamente são compostos por operações CRUD.
Durante o processo de desenvolvimento, é comum que ocorram alguns problemas. Por isso, é
essencial ter uma rotina de testes que auxiliem na identificação desses problemas, para que
possam ser corrigidos rapidamente. Nesse sentido, selecione a alternativa correta a respeito da
classe de testes de um projeto Maven com JPA.
As operações de persistência de dados devem ter um commit para que sejam efetuadas.
15. Considere o trecho de código abaixo implementado em HQL:
String hq1 = "FROM teste t HERE t.m = 5";
Query query = session . createQuery(hq1);
List results = query.list();
Selecione a opção correta a respeito do código.
Caso exista, vai retornar todos os objetos do tipo teste cujo atributo m é igual a 5.
Desenvolvimento Web Full MVC
Marcio Quirino - 3
16. Considere o seguinte trecho de código:
private static final EntityManagerFactory FACTORY = Persistence
.create EntityManagerFactory("nome”);
Agora, selecione a opção correta a respeito dele.
A palavra "nome" se refere à unidade de persistência.
17. Reconhecer os aspectos básicos do Spring Data JPA é fundamental para um profissional de Tl
moderno. Nesse sentido, selecione a opção com uma afirmação correta sobre o Spring Data JPA.
É utilizado como interface para repositório de dados.
18. A Java Persistence API é uma especificação da linguagem de programação Java. Em relação à
JPA, selecione a opção correta.
Tem como objetivo atuar na persistência de dados.
19. Considere o seguinte script SQL
create table MinhaTabela (
ID bigint not null,
COLUNA1 varchar(255),
primary key (ID)
);
Selecione a opção correta a respeito da execução dele no H2.
Vai criar uma tabela chamada de MinhaTabela.
20. Considere a seguinte afirmação: "Como os dados do H2 não são persistidos no disco, então não
é possível executar instruções de consulta".
Nós sabemos que esta afirmação está errada. Neste sentido, selecione a opção correta com a
devida explicação.
O H2 persiste os dados na memória RAM, portanto eles estão disponíveis enquanto durar uma
sessão.
21. Selecione a opção que justifique a necessidade de separar as classes de um projeto em uma
estrutura de pacotes.
Para segregar as classes conforme suas responsabilidades.
22. Em relação ao mecanismo de banco de dados H2, selecione a opção correta.
Trabalha com dados persistidos na memória.
23. A JPQL pode ser caracterizada como a linguagemde consulta padrão da JPA. Nesse sentido,
selecione a opção correta a respeito da JPQL.
Todas as consultas JPQL são reconhecidas pela HOL.
24. Considere o trecho de código abaixo com JPQL
String jpql = "SELECT t FROM Teste t";
List lstModelos= em.createQuery(jpql, COMPLETAR)
.getResultList() ;
Selecione a opção que deve substituir o termo "COMPLETAR", para que o programa funcione
corretamente.
Teste.class
Desenvolvimento Web Full MVC
Marcio Quirino - 4
25. A configuração do H2 é um passo importante para posterior utilização em uma aplicação. Nesse
sentido, selecione a opção correta que tenha o nome do artefato do H2 que deve ser escrito no
arquivo pom.xml.
h2
26. A JPA é uma API para persistência de dados do Java. Selecione a opção correta que contém o
componente da arquitetura JPA responsável por realizar consultas.
Query
27. A arquitetura MVC é considerada um padrão no desenvolvimento de aplicativos cadastrais, tanto
em sistemas Web, quanto desktop ou móveis. Segundo o padrão arquitetural, que divide o
aplicativo em três camadas bem definidas, qual camada deveria conter os componentes do tipo
DAO?
Model
28. O framework Spring permite a inclusão de funcionalidades nas classes de forma simples, com
base em anotações, as quais são reconhecidas pelo ferramental, gerando o código necessário
para que se obtenha o efeito desejado. Supondo que desejamos mapear uma rota específica para
o controlador, ou seja, associar determinado endereço a um processo de negócios de nosso
sistema, qual seria a anotação adequada?
RequestMapping
29. Embora os sistemas cadastrais para Web tradicionais, dentro de uma arquitetura MVC, cumpram
efetivamente com as necessidades de gerenciamento de dados em uma empresa, a comunicação
com os clientes, no modelo B2C, deve se adequar às plataformas mais utilizadas por eles.
Atualmente, é inegável a preponderância dos dispositivos móveis como plataforma cliente, e os
aplicativos precisam se comunicar com serviços na Web, onde ocorre apenas o trânsito de dados,
sendo delegado para aplicativo a responsabilidade do desenho das telas. Qual o formato de
arquivo adotado preferencialmente na comunicação B2C?
JSON
30. Para que um serviço seja aderente ao modelo REST, deve fazer o uso correto dos métodos
disponibilizados pelo protocolo HTTP, e o mapeamento das rotas do controlador REST, quando
utilizamos o framework Spring, é feito com base em anotações. Supondo que você queira definir
o mapeamento de um método, no controlador REST, que promova a inclusão de um registro na
base de dados, qual anotação deveria ser utilizada?
PostMapping
31. Criptografia é um ferramental essencial para o sigilo de dados, mas como temos utilizações
diferenciadas para cada tipo de informação, os processos criptográficos disponíveis adotam
diferentes estratégias de funcionamento. Por exemplo, o algoritmo 3DES caracteriza-se por ser
um processo reversível, onde a mesma chave, normalmente denominada Secret Key, é utilizada
para criptografar e para recuperar os dados originais, segundo um processo conhecido como:
Criptografia simétrica
Desenvolvimento Web Full MVC
Marcio Quirino - 5
32. Ao definirmos um Web Service do tipo REST, oferecemos diversas funcionalidades, a partir de
endereços e métodos HTTP específicos, mas nem todos os endereços devem ser
disponibilizados para o público em geral. Em um primeiro nível de segurança, podemos solicitar
a autenticação do usuário, mas mesmo os usuários do sistema podem ter restrições de acesso
para algumas das funcionalidades, o que nos faz trabalhar com processos de autorização., onde
a forma mais comum é o uso de perfis de utilização. Qual método de HttpSecurity permite definir
o acesso ao endereço apenas para determinados perfis?
hasRole
33. Temos diversos algoritmos criptográficos, com diferentes finalidades. Entre os referidos
algoritmos, tem destaque um algoritmo matemático que transforma qualquer bloco de dados em
uma série de caracteres de comprimento fixo que impede a decriptografia, como aquele que é
citado na alternativa:
MD5
34. Considerando um serviço no estilo REST, implementado com base no framework Spring, e uma
entidade Aluno, persistida no sistema através da tecnologia JPA, qual deve ser a assinatura do
método que responda a uma consulta no endereço http://localhost:8080/alunos/29891, com o
retorno dos dados do aluno de matrícula 29891 no formato JSON?
@GetMapping("/{matricula}") public Aluno metodoX(@PathVariable Long matricula)
35. De forma geral, o resultado de um processo criptográfico é uma sequência binária, que apresenta
dificuldades relacionadas à persistência e transmissão em rede, requerendo uma transformação
para o formato texto. Qual algoritmo é tipicamente utilizado na conversão?
Base64
36. Com a grande diversidade de plataformas que surgiram ao longo do tempo, acabaram sendo
definidas "ilhas" de informação, com grande replicação de dados em diferentes sistemas e alta
probabilidade de ocorrência de erros na reinterpretação da informação. Surge, então, o conceito
de interoperabilidade, definindo meios padronizados para exposição e utilização de serviços em
plataformas heterogêneas, o que garante reuso e maior consistência para as informações. Nesse
contexto, como seria classificado um componente do tipo WSDL?
Descritor de Serviços
37. Para acessar um servidor REST, a partir de um aplicativo Java, podemos efetuar uma conexão
HTTP padrão e tratar os dados recebidos em formato JSON, programando o mapeamento para
instâncias de classes Java. Embora seja viável, é um processo trabalhoso, sendo possível obter
maior produtividade com uma biblioteca específica, criada para facilitar o controle de chamadas
HTTP, não importando o método de acesso utilizado. O texto se refere a qual biblioteca?
Retrofit
38. Considere um servidor REST que forneça dados climatológicos para um determinado estado,
com base em sua sigla, com autenticação padrão, via protocolo HTTP, tendo usuários definidos
no próprio sistema. Supondo que você deseja utilizar a consulta disponibilizada pelo servidor a
partir de um cliente Java, qual seria a estratégia correta para a implementação?
Utilizar uma chamada anotada com GET, a partir de uma interface de serviços baseada no
Retrofit, com a interceptação da chamada HTTP e inclusão das credenciais para autenticação.
Desenvolvimento Web Full MVC
Marcio Quirino - 6
39. No framework Spring, temos diversas opções para a autenticação do usuário, onde uma delas
seria a utilização de OAuth 2.0. Assinale, dentre as opções abaixo, a alternativa que representa o
conjunto de elementos normalmente presentes em requisições realizadas com controle de
acesso baseado em OAuth 2.0:
Cliente, Servidor Web ou API, Servidor de Autorização, Tokens
40. Quando adotamos o REST, muitas das chamadas ocorrem com a passagem dos valores no corpo
da requisição, de acordo com o método HTTP utilizado, exigindo um modelo simples para a
captura desses valores. Trabalhando com um controlador no estilo REST, criado através do
framework Spring, qual anotação deve ser utilizada para que o corpo da requisição possa ser
automaticamente associado a um parâmetro, no método de tratamento para a rota definida?
RequestBody
41. Um dos elementos essenciais da estrutura de segurança do Spring é uma sequência de filtros,
criados no padrão Intercept Filter, denominado SecurityFilterChain, que permite avaliar o direito
de acesso ao recurso, segundo diferentes combinações de componentes para autenticação e
autorização, e próximo ao final da cadeia temos o ExceptionTranslationFilter, muito importante
para a conclusão dos processos relacionados ao controle de acesso. Assinale a opção correta
acerca do ExceptionTranslationFilter:
Caso seja verificada uma exceção do tipo AccessDeniedException, teremos um erro 403 sendo
devolvido para o navegador.42. O processo de autenticação oferecido pelo Spring Security pode utilizar diferentes modelos,
sendo possível configurá-lo a partir dos métodos da classe HttpSecurity, em uma classe anotada
como Configuration. Considerando um Web Service do tipo RESTful, com autenticação efetuada
ao nível do protocolo HTTP, utilizando os usuários do próprio sistema, qual método da classe
HttpSecurity deve ser invocado para que seja configurado o modelo adequado?
HttpBasic
43. Com o objetivo de aproveitar todas as características apresentadas pelo protocolo HTTP, foi
criado o padrão REST (Representational State Transfer), onde os recursos, ou entidades, podem
ser representados a partir de endereços na Web. As ações associadas à consulta ou manipulação
dos dados dessas entidades estarão diretamente relacionadas aos métodos do protocolo HTTP,
sendo correto afirmar que:
Um acesso do tipo DELETE estará associado a uma ação de remoção da entidade, sendo
passado no endereço a chave para identificação da entidade que será removida.
44. O uso da arquitetura MVC permitiu uma boa organização das responsabilidades de cada tipo de
componente utilizado na programação do aplicativo. Segundo o padrão arquitetural, no ambiente
do framework Spring, em que camadas ficariam, respectivamente, uma classe DAO e uma página
JSP?
Model e View
45. Com base em arquivos XML, o framework Spring oferece diversas opções de configuração para
o contêiner de execução, com baixo acoplamento, já que o código Java em si não depende
diretamente dos valores especificados, o que permite, inclusive, que o sistema seja reutilizado
em outros ambientes, apenas com a redefinição dos arquivos de configuração. Qual a classe de
um bean utilizado para configurar a conexão com o banco de dados no XML de configuração?
Org.springframework.jdbc.datasource.DriverManagerDataSource
Desenvolvimento Web Full MVC
Marcio Quirino - 7
46. Segundo as diretivas da W3C, enquanto o HTML fica com a responsabilidade de estruturar as
páginas, toda formatação visual deve ser implementada por meio de folhas de estilo. Mais do que
formatações, o CSS permite controlar alguns comportamentos, como a mudança do aspecto do
componente com a passagem do mouse sobre ele, o que é feito com o qualificador:
hover
47. O surgimento do JQuery, um framework construído totalmente em Java Script, trouxe novas
possibilidades para a criação de páginas para Web. Com uma sintaxe que alia os seletores CSS
às melhores práticas de programação em Java Script, permitiu a realização de tarefas que antes
eram consideradas trabalhosas com poucas linhas de código, além de oferecer diversos módulos
que expandem sua funcionalidade básica, como JQuery UI. Qual método do JQuery UI deve ser
utilizado para criar uma sequência de painéis, cada um com título e possibilidade de ocultação?
accordion
48. As diretivas utilizadas no Thymeleaf permitem uma integração muito simples entre o template
HTML e o contexto do framework Spring, possibilitando recuperação de valores e reutilização de
fragmentos, entre diversas outras possibilidades. Se quisermos recuperar o nome da empresa a
partir de um parâmetro global, para que seja apresentado em cada página, qual símbolo seria
utilizado pela diretiva de recuperação?
Cerquilha
49. Os templates do Thymeleaf utilizam atributos nas tags HTML, definidos em seu namespace, para
definir ações diversas, como controle de visibilidade e substituição de conteúdo para a tag, sendo
normalmente adotado o prefixo th. Se quisermos repetir determinado trecho, para todos os
elementos de uma coleção, qual seria o atributo adotado na tag principal do trecho?
Th:each
50. O framework Bootstrap viabiliza a construção de interfaces responsivas, alinhadas com os
melhores padrões de design, de forma extremamente simples, com base em classes CSS, o que
permite, inclusive, a escolha de temas personalizados para cada empresa. Por exemplo, se nosso
sistema pergunta, em uma caixa de diálogo, se desejamos excluir todos os registros, qual seria
a classe CSS correta para o botão de confirmação?
btn-danger
51. Uma caraterística muito interessante do Thymeleaf é sua fácil integração com o modelo de
segurança do Spring, com base no Spring Security, o que permite a definição de templates com
o controle da disponibilidade de elementos para perfis específicos de usuários, ou simplesmente
a alternância da visibilidade de algum trecho quando ocorre autenticação. Para o segundo caso,
qual método retorna ao estado atual da autenticação?
IsAuthenticated
52. O uso de Bootstrap facilita muitas das tarefas comuns na construção de interfaces gráficas, além
de incluir recursos para garantia da responsividade. Entre os diversos ferramentas que são
disponibilizados, temos a criação de diálogos modais com o uso de classes CSS e um pequeno
conjunto de divs. Nesse contexto, qual a função do atributo data-bs-dismiss com valor modal?
Quando aplicado a um botão, fecha o diálogo modal como resposta ao clique.
Desenvolvimento Web Full MVC
Marcio Quirino - 8
53. Ao utilizar Bootstrap, temos algumas classes para a apresentação de alertas, alinhados ao padrão
de exibição da plataforma, que podem expressar mensagens informativas, avisos sobre erros ou
ações perigosas, e muitos outros tipos de informação. Supondo que queremos informar o final
bem-sucedido de um download, qual seria a classe mais adequada?
alert alert-success
54. Qualquer site precisa de um sistema de navegação adequado, onde temos como exemplo a barra
de navegação, posicionada no topo da página, com os links para as páginas, na forma de um
menu principal. Através do Bootstrap, temos a classe navbar para a definição de uma barra de
navegação a partir de uma tag nav, apresentando diversas opções, como uso de tema dark. Qual
das afirmativas seguintes é correta, no que se refere ao componente navbar?
De forma geral, a classe navbar-brand é aplicada na opção principal da barra de navegação.
55. Para utilizar o Bootstrap em um projeto Spring Boot, podemos acessar as bibliotecas via link para
os repositórios na Web, ou adicionar uma dependência para baixar os arquivos JavaScript e CSS
necessários, transformando em chamadas locais para o servidor, o que pode diminuir de forma
considerável o tempo necessário para a abertura das páginas. Qual componente deve ser incluído
para que os arquivos sejam baixados?
WebJars
56. Quando criamos uma página HTML, podemos acrescentar metadados, através da tag meta, para
definir características especificas, como página de código utilizada para acentuação, nome do
autor, descrição do conteúdo e palavras-chave para sistemas de busca. Qual dos metadados está
relacionado à responsividade, definindo a área de visualização padrão?
viewport
57. A construção de interfaces gráficas seguindo uma estratégia modular permite, entre outras
coisas, a reutilização de componentes visuais ao longo de todo o sistema, diminuindo o esforço
de programação e design consideravelmente. Quando utilizamos o Bootstrap em conjunto com
o Thymeleaf, a modularização é proporcionada pelo uso de fragmentos. Em termos práticos,
temos um template dividido em fragmentos, os quais podem ser incluídos em outros templates,
de acordo com a Standard Expression Syntax, através do símbolo:
Til
58. No conjunto de componentes do Thymeleaf, temos uma classe denominada WebContext, que
permite o encapsulamento de chamadas HTTP, com base na requisição, na resposta e no próprio
contexto do Servlet. Após ser instanciado, o componente permite obter os valores que foram
enviados na requisição, efetuar os procedimentos necessários, e definir valores que serão
utilizados no template, tornando-o uma ferramenta prática para a definição de controladores
genéricos. Qual método de WebContext permite enviar um valor para o template?
setVariable
59. Uma grande preocupação do Bootstrap é a garantiada responsividade, e ele traz diversas classes
para a definição de colunas, como col-sm-2 e col-sm-4, dividindo o espaço da tela em doze áreas
de igual espaçamento e utilizando o número de colunas indicado na classe, podendo ser 1, 2, 4,
8 ou 12. Qual o nome desse sistema de organização fornecido pelo Bootstrap?
Sistema de Grid
Desenvolvimento Web Full MVC
Marcio Quirino - 9
60. Utilizar o Thymeleaf junto ao Spring Boot permite eliminar muitas configurações, facilitando o
processo de fornecimento de dados para os templates HTML, dentro da arquitetura padrão de
controladores. Na prática, utilizamos o mesmo modelo de comunicação adotado para interfaces
JSP, mas agora com os dados sendo tratados em arquivos HTML, com os atributos e diretivas do
Thymeleaf. Nesse contexto, qual atributo do Thymeleaf permite associar um formulário HTML aos
dados de um objeto fornecido pelo controlador?
th:object
61. Uma das grandes vantagens na utilização do framework Spring é a gerência de segurança através
do módulo Spring Security, que oferece diversas formas de autenticação, como OAuth,
diretamente no protocolo HTTP ou através de formulários. Ao trabalhar com um aplicativo Web,
o processo de autenticação é normalmente feito através de formulários, onde o Spring Security
permite a personalização das páginas de login e logout. Analise as afirmativas e marque a opção
correta acerca da personalização de interfaces na autenticação baseada em formulários.
A configuração do objeto HttpSecurity permite o direcionamento para uma página de login
personalizada através do método loginPage.
62. As tags para tipografia, utilizadas nas versões antigas do HTML, são consideradas obsoletas
atualmente, sendo toda a formatação delegada para folhas de estilo em cascata (CSS), o que foi
definido como uma boa prática pela W3C. Supondo que seja necessário formatar determinado
trecho genérico único, identificado como "aviso", com fonte amarela, fundo vermelho, itálico e
sublinhado, qual seria a expressão utilizada em uma tag Style?
#aviso {color: yellow; background-color: red; text-decoration: underline; font-style: italic}
63. As tabelas já foram muito utilizadas para organizar o conteúdo da página HTML, mas a W3C
desaconselha a prática, por causa da incompatibilidade de alguns navegadores, levando a outro
tipo de organização, baseado em divs, segundo o padrão tableless. No entanto, as tabelas ainda
são utilizadas para exibição de dados tabulares. Qual tag define uma área de títulos na tabela?
thead
64. Podemos utilizar formatações CSS de diferentes formas, como escrita direta no atributo da tag,
de forma inline, em um trecho delimitado pela tag style, ou em um arquivo externo. O uso de
arquivo externo traz os maiores benefícios, pois traz uma separação física entre a estrutura e a
formatação do documento, além de promover o reuso, permitindo até mesmo a definição de
temas para o site. Qual tag deve ser utilizada na página HTML para importar as formatações
definidas em um arquivo CSS?
link
65. Selecione a opção que contenha a anotação do Spring Boot que é responsável por extrair partes
variáveis de uma URI.
@PathVariabIe
66. Um artefato no Maven é um recurso gerado ou usado por um projeto. Selecione a opção correta
que contenha contém o arquivo do Maven que descreve como os artefatos são construídos.
pom.xml
67. O Spring Boot fornece importantes recursos para a implementação de um projeto MVC. Selecione
a opção correta com a anotação responsável por mapear tabelas no framework Spring Boot.
@Table
Desenvolvimento Web Full MVC
Marcio Quirino - 10
68. Ao realizar alguns testes em um serviço de inserção. o desenvolvedor usou a seguinte entrada:
{
“id”: 45,
“titulo”: “Introdução ao Spring Boot”n
“peso_liquido”: 500
}
Em relação aos algoritmos à entrada que foi usada para testes. selecione a única opção
CORRETA
Está no formato JSON
69. Ao trabalhar com um aplicativo corporativo, segundo a arquitetura MVC, as camadas Model e
Controller são definidas ao nível do projeto interno com o terminador "ejb", e o NetBeans oferece
ferramentas de automatização para a geração dos componentes necessários, com utilização de
duas tecnologias específicas. Quais são as tecnologias utilizadas para as duas camadas citadas,
respectivamente?
JPA e EJB
70. A arquitetura MVC (Model, View e Controller) é utilizada de forma ampla, na criação de sistemas
cadastrais, e caracteriza-se pela divisão do sistema em três camadas, com objetivos específicos.
Considerando a divisão utilizada pelo MVC, a interface de usuário e o componente DAO estariam,
respectivamente, nas camadas:
View e Model
71. Ao trabalhar com um aplicativo corporativo, segundo a arquitetura MVC, ocorre uma divisão
natural das camadas, em termos dos projetos internos, ficando a camada View sob
responsabilidade do projeto com terminador "war". A interface padrão, conforme o próprio
terminador indica, é um aplicativo Java Web, sendo comum a implementação de um padrão de
desenvolvimento para centralizar o tratamento das requisições, bem como redirecionar para a
visualização correta, após efetuar as chamadas para a camada Controller. De qual padrão
estamos falando, e qual o componente deve implementá-lo?
Padrão de desenvolvimento Front Controller e componente do tipo Servlet
72. A Java Persistence APl é uma especificação da linguagem de programação Java. Em relação à
JPA, selecione a opção correta.
Tem como objetivo atuar na persistência de dados.
73. Uma mudança essencial no modelo de programação Java, com a evolução do JEE, foi o uso de
anotações nas diversas tarefas de configuração dos EJBs do aplicativo. Para que serve a
anotação Local no ambiente de criação de EJBs?
Definir a interface de acesso local ao pool de EJBs.
74. Os testes unitários constituem etapa fundamental no desenvolvimento de um projeto, pois eles
são usados para fazer validações. Em relação a uma aplicação de testes unitários do Maven,
selecione a opção correta para executá-la.
JUnit Test
Desenvolvimento Web Full MVC
Marcio Quirino - 11
75. Considere um determinado trecho de código declarado corretamente:
@ReguestMapping ( “/” )
String getTituIo ( ) {
return “Olá, mundo !”;
}
Nesse sentido, com base nas informações fornecidas na questão, selecione a opção correta:
Selecione a opção correta.
O serviço está disponível no endereço raiz
76. A arquitetura oferecida pelo JPA modicou a forma do Java lidar com os dados, e o conhecimento
acerca de suas características é fundamental para todo programador que utilize a plataforma.
Assinale a alternativa INCORRETA acerca do JPA
Com a adoção do JPA eliminamos a necessidade do JDBC
77. Mesmo que as novas tecnologias adotem anotações, no lugar de arquivos XML, para efetuar
diversas configurações, ainda temos a necessidade de utilizar um arquivo nesse formato, no
ambiente do JPA, com a responsabilidade de definir parâmetros globais e a conexão com o banco
de dados. Qual o nome do arquivo?
persistence.xml
78. Selecione a opção correta que contenha o valor da resposta de um serviço REST que executou
corretamente.
200
79. Em relação às anotações do Spring Boot, que são usadas para fornecer informações sobre um
programa, qual anotação é utilizada quando se necessita mais controle sobre o processo de
injeção de dependência?
@Qualiker
80. A JPA possui inúmeras anotações, mas, normalmente, utilizamos apenas um subconjunto delas.
Selecione a opção correta com a anotação responsável por mapear uma tabela específica com
uma classe.
@Table
81. A JPA permite que possamos mapear associações entre as entidades. Nesse sentido, selecione
a opção correta que deve ser utilizada para indicar a multiplicidade de um objeto de muitos para
um.
@ManyToOne.
82. A camada View, na arquitetura MVC, corresponde às interfaces grákcas, e deve englobar apenas
componentespara interação com o usuário e críticas de formatação. Ela depende de uma camada
Controller, fazendo com que a obtenção e manipulação de dados sejam sempre intermediadas
por um controlador. Considerando uma página JSP, onde uma lista é alimentada por uma coleção
de entidades, como ocorre o envio da coleção a partir de um controlador?
O controlador deve obter a coleção de entidades a partir do gestor JPA, ou equivalente, e
adicionar um atributo ao modelo, através de addAttribute, com a coleção obtida
Desenvolvimento Web Full MVC
Marcio Quirino - 12
83. No framework Spring temos um núcleo de execução, também denominado contêiner, que é
organizado em cinco módulos principais, os quais englobam conjuntos de funcionalidades
mínimas necessárias para a implementação de sistemas. Considerando a divisão adotada, em
qual dos módulos teríamos a utilização das ferramentas JUnit e TestNG?
Test
84. O uso de iterações baseadas em coleções é muito comum nas mais diversas plataformas,
inclusive no Java, onde temos o formato especial do for para iterar em coleções e vetores, o que
não seria diferente nos templates do Thymeleaf, onde é utilizado o atributo th:each. Qual das
afirmações a seguir é CORRETA, no que se refere ao uso do atributo th:each?
Recebe cada elemento da coleção em um objeto, permitindo acesso aos seus campos nas tags
internas do trecho estabelecido.
85. A biblioteca JQuery UI representou um grande avanço na construção de páginas, trazendo
componentes responsivos e perfeitamente alinhados com os melhores padrões de design. E uma
biblioteca gratuita, totalmente criada em linguagem JavaScript, e que faz uma ótima utilização da
sintaxe JSON para a definição de objetos. As alterações proporcionadas pelo JQuery UI são
realmente fantásticas, como a definição de uma janela para interação com o usuário, a partir de
algumas tags div no HTML e aplicação de um método específico sobre o seletor de mais alto nível
da estrutura. Qual seria esse método?
dialog
86. Os EJBs do tipo Session Bean podem ser divididos em três perfis, sendo que um deles permite
a ocorrência de apenas uma instância por máquina virtual, viabilizando o compartilhamento de
dados de forma global, entre todos os aplicativos do servidor. Qual é o perfil do EJB descrito?
Singleton
87. O nome de um artefato qualificado é: "exemplo.empresa.app:aplication:7". Neste sentido,
selecione a opção correta.
O "groupld" é "exemplo.empresa.app"
88. O Maven possui fases que apresentam papéis específicos no ciclo de vida do projeto. Selecione
a fase do ciclo de vida do mMaven que testa o código-fonte compilado.
Test-compile
89. Um aspecto básico da JPA é o uso de anotações. Selecione a opção correta que contenha o
parâmetro da anotação de multiplicidade que propaga as operações de persistência.
cascade = CascadeType.ALL
90. A arquitetura MVC simplifica a manutenção e atualização do sistema ao longo do tempo. A
respeito dessa arquitetura, selecione a opção correta.
Separa as funcionalidades de um sistema em grupos afins.
91. A empresa onde trabalha está modificando o sistema atual para que seja adotado o Spring como
ferramenta para gerenciamento de processos ao nível da Web, e você precisa definir os
controladores que receberão os dados dos formulários HTML atualmente disponibilizados para
os usuários. Supondo que um dos formulários solicite o departamento, através de uma lista, e
tenha como objetivo apresentar todos os produtos do departamento, qual seria a anotação para
a captura do valor enviado através do formulário, ao nível do controlador?
RequestParam.
Desenvolvimento Web Full MVC
Marcio Quirino - 13
92. Diversas configurações do Spring podem ser feitas através de arquivos XML, como conexões
com bancos de dados, gerenciadores de entidades JPA, gerenciamento de transações e padrões
de redirecionamento, entre várias outras opções. Os componentes Java acessam os recursos
definidos nos arquivos XML através de anotações, e no caso específico de um gerenciador de
entidades JPA, qual anotação efetuaria a associação com o recurso configurado no contêiner?
PeristenceContext
93. Segundo a arquitetura padrão utilizada na construção de páginas Web, o conteúdo deve ser
estruturado através da sintaxe HTML, enquanto a parte dinâmica é implementada na linguagem
JavaScript, ocorrendo interação com o usuário através de eventos. Supondo que uma função em
Java Script, acionada por um evento do HTML, precisa capturar o valor de um campo de entrada
do tipo texto, qual seria o comando mais adequado para acesso ao campo?
document.getElementById
94. Um problema muito comum nos sites é a existência de links quebrados, muitas vezes pelo uso
de um referencial errado para o endereço, como na mudança do domínio, ou por causa de uma
mudança de contexto devido a sucessivas chamadas efetuadas. Através do Thymeleaf temos a
correção da URL de forma simples, com base em uma diretiva da Standard Expression Syntax.
Qual seria o símbolo correto para utilização dessa diretiva?
arroba
95. Padrões arquiteturais definem os componentes estruturais de um sistema, e a forma de
comunicação entre eles ou com outros sistemas, organizando as regras gerais para a concepção
de aplicativos com algum perfil funcional específico. Plataformas de objetos distribuídos, como
o CORBA, trabalham em um padrão arquitetural denominado:
Broker
96. As mensagerias são um ferramental de ampla utilização em ambientes corporativos, e entre os
diferentes tipos de EJBs, os MDBs são os componentes responsáveis pelo comportamento
assíncrono do sistema, baseado na utilização de mensagerias. Assinale a alternativa correta com
relação aos Message Driven Benas, ou MDBs:
Tratam as mensagens através de seu único método, denominado onMessage.
97. Em relação à programação orientada a objetos, selecione a opção correta a respeito da
propriedade que trata da visibilidade de atributos e métodos de uma classe.
Encapsulamento
98. Considere que o trecho de código esteja funcionando corretamente:
Assert.assertEquals(1,1);
Selecione a opção correta.
Retorna verdadeiro
99. Uma forma simples para gerenciar os dados que são recebidos pela página JSP é através da
sintaxe JSTL, a qual permite expressar valores, utilizar estruturas condicionais e definir trechos
com repetição, entre diversas outras possibilidades. Qual comando do JSTL permite a repetição
de um trecho da página para cada elemento pertencente a uma coleção?
ForEach
Desenvolvimento Web Full MVC
Marcio Quirino - 14
100. Uma grande vantagem do Thymeleaf é a definição de templates no formato HTML, com uma
edição mais simples que as páginas JSP, o que facilita muito o trabalho dos designers. Para que
o ambiente funcione corretamente, precisamos configurar diversos componentes, incluindo um
que será responsável pelo processamento dos templates durante a construção da resposta no
ambiente Web. Qual é o componente responsável pelo processamento dos templates?
TemplateEngine