Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Quiz de Revisão para Avaliação I - Desenvolvimento de SaaS

Total questions: 50

Worksheet time: 25mins

Name
Class
Date
1.

No modelo de computação em nuvem conhecido como SaaS (Software as a Service), qual é a principal característica que o diferencia dos demais modelos como IaaS e PaaS?

a)

Permite que os usuários instalem e personalizem o sistema operacional em seus próprios servidores locais.

b)

Oferece acesso a ferramentas de virtualização para que desenvolvedores configurem manualmente o ambiente de execução de aplicações.

c)

Fornece uma plataforma para desenvolvimento de aplicações com controle total sobre o ambiente de execução.

d)

Entrega softwares prontos para uso pela internet, eliminando a necessidade de instalação, manutenção e infraestrutura local por parte do usuário.

e)

Exige que os usuários criem e mantenham containers e imagens personalizadas para executar seus aplicativos na nuvem.

2.

Qual NÃO é uma vantagem do modelo SaaS?

a)

Atualizações automáticas

b)

Funcionamento offline completo

c)

Redução de custos iniciais

d)

Escalabilidade sob demanda

e)

Acesso multiplataforma

3.

No padrão arquitetural MVC (Model-View-Controller), é essencial separar as responsabilidades entre os componentes para garantir organização, reutilização e testabilidade do código. Suponha que uma equipe esteja desenvolvendo uma aplicação web com Spring MVC, onde é necessário aplicar regras como "um pedido só pode ser finalizado se houver pelo menos um item" e "o desconto só pode ser aplicado se o valor total for superior a R$ 100,00".

a)

View – pois é responsável por capturar os dados do usuário e aplicar as validações visuais.

b)

Controller – pois manipula diretamente a lógica de negócio para responder às requisições HTTP.

c)

Model – pois encapsula os dados e a lógica de negócio, sendo a camada responsável por garantir o funcionamento correto das regras do sistema.

d)

Repository – pois acessa os dados no banco e define a forma como a lógica de negócio será executada.

e)

Service – pois representa a camada de apresentação que exibe mensagens de erro e feedback ao usuário final.

4.

Qual é a principal função do Controller no MVC?

a)

Armazenar dados persistentes

b)

Renderizar a interface do usuário

c)

Mediar a comunicação entre View e Model

d)

Executar queries no banco de dados

e)

Estilizar elementos visuais

5.

Qual anotação do Spring marca uma classe como Controller?

a)

@Service

b)

@Controller

c)

@Component

d)

@Bean

e)

@WebServlet

6.

Qual interface do Spring Data JPA fornece métodos CRUD básicos?

a)

ListCrudRepository

b)

JpaRepository

c)

PagingAndSortingRepository

d)

EntityManager

e)

CrudService

7.

Qual anotação JPA transforma uma classe em entidade?

a)

@Table

b)

@Entity

c)

@Column

d)

@Id

e)

@Repository

8.

Qual anotação define a chave primária em uma entidade JPA?

a)

@GeneratedValue

b)

@Id

c)

@PrimaryKey

d)

@Column

e)

@Key

9.

Qual é o princípio da Inversão de Controle (IoC)?

a)

O desenvolvedor gerencia manualmente todas as dependências

b)

O framework controla o ciclo de vida dos objetos

c)

As classes devem criar suas próprias dependências

d)

Banco de dados gerencia as transações

e)

Interface gráfica gerencia o fluxo

10.

Qual anotação do Spring é usada para Injeção de Dependência?

a)

@Component

b)

@Autowired

c)

@Entity

d)

@Repository

e)

@Inject

11.

Qual método de injeção de dependência é considerado melhor prática no Spring?

a)

Injeção por setter

b)

Injeção direta no campo

c)

Injeção por construtor

d)

Injeção por método estático

e)

Injeção por herança

12.

Qual verbo HTTP é usado para recuperar um recurso?

a)

POST

b)

GET

c)

PUT

d)

DELETE

e)

PATCH

13.

Qual código HTTP indica que um recurso foi criado com sucesso?

a)

200

b)

201

c)

400

d)

404

e)

500

14.

Qual verbo HTTP é usado para substituir completamente um recurso?

a)

POST

b)

GET

c)

PUT

d)

DELETE

e)

PATCH

15.

Qual verbo HTTP é usado para atualizações parciais?

a)

POST

b)

GET

c)

PUT

d)

DELETE

e)

PATCH

16.

Qual código HTTP indica que a requisição foi malformada?

a)

200

b)

201

c)

400

d)

404

e)

500

17.

Qual anotação personaliza o nome da tabela no banco de dados?

a)

@Entity

b)

@Table

c)

@Column

d)

@Id

e)

@Repository

18.

Qual anotação personaliza o mapeamento de um atributo para coluna?

a)

@Entity

b)

@Table

c)

@Column

d)

@Id

e)

@Field

19.

Qual é a função da anotação @GeneratedValue?

a)

Validar valores de campos

b)

Gerar valores automáticos para chaves primárias

c)

Criar índices no banco de dados

d)

Definir valores padrão

e)

Mapear relacionamentos

20.

Como definir um método de consulta personalizado em um Repository?

a)

Implementando a interface

b)

Usando SQL puro no método

c)

Anotando com @Query e JPQL

d)

Criando uma classe separada

e)

Usando @FindBy

21.

Qual é o padrão de nomenclatura para métodos de consulta derivada?

a)

findBy[Propriedade]

b)

getBy[Propriedade]

c)

queryBy[Propriedade]

d)

searchBy[Propriedade]

e)

selectBy[Propriedade]

22.

Qual anotação marca uma classe como componente Spring?

a)

@Bean

b)

@Component

c)

@Service

d)

@Repository

e)

@Controller

23.

Qual starter do Spring Boot inclui o Spring MVC?

a)

spring-boot-starter-data-jpa

b)

spring-boot-starter-web

c)

spring-boot-starter-thymeleaf

d)

spring-boot-starter-test

e)

spring-boot-starter

24.

Qual arquivo é usado para configurações no Spring Boot?

a)

pom.xml

b)

application.properties

c)

web.xml

d)

config.json

e)

settings.gradle

25.

Qual anotação combina @Configuration, @EnableAutoConfiguration e @ComponentScan?

a)

@SpringApplication

b)

@SpringBootApplication

c)

@MainApplication

d)

@BootConfiguration

e)

@SpringConfig

26.

Qual template engine é comumente usado com Spring Boot?

a)

JSP

b)

Thymeleaf

c)

Angular

d)

React

e)

Freemarker

27.

Qual anotação define um método como handler de requisições HTTP?

a)

@RequestMapping

b)

@HttpHandler

c)

@RestController

d)

@Endpoint

e)

@WebMethod

28.

Qual é a diferença entre @Controller e @RestController?

a)

@Controller retorna JSON, @RestController retorna views

b)

@Controller é para MVC, @RestController é para APIs REST

c)

@Controller não existe, é apenas @RestController

d)

Não há diferença

e)

@RestController é para SOAP

29.

Qual é o papel do DispatcherServlet no Spring MVC?

a)

Processar templates Thymeleaf

b)

Gerenciar transações JPA

c)

Atuar como front controller

d)

Implementar segurança

e)

Configurar o DataSource

30.

Qual método do JpaRepository retorna todos os registros?

a)

getAll()

b)

findAll()

c)

listAll()

d)

retrieveAll()

e)

loadAll()

31.

Qual método do JpaRepository salva uma entidade?

a)

add()

b)

create()

c)

save()

d)

persist()

e)

insert()

32.

No contexto de aplicações SaaS, qual das alternativas abaixo melhor define uma arquitetura monolítica?

a)

Uma aplicação composta por múltiplos serviços pequenos e independentes.

b)

Uma estrutura onde cada componente da aplicação funciona como função isolada na nuvem.

c)

Um único aplicativo unificado onde todas as funcionalidades estão acopladas em um único processo.

d)

Um modelo onde o código é executado em resposta a eventos, sem provisionamento de servidor.

33.

Qual das opções é uma característica típica de uma arquitetura de microsserviços?

a)

Atualização da aplicação requer a reinstalação de todo o sistema.

b)

Baixa escalabilidade devido à integração de componentes.

c)

Execução automática de funções baseadas em eventos, com cobrança por execução.

d)

Divisão da aplicação em serviços independentes que podem ser escalados separadamente.

34.

Em uma arquitetura Serverless para SaaS, qual das opções representa uma vantagem significativa?

a)

Maior controle sobre o sistema operacional do servidor.

b)

Necessidade de gerenciamento manual da escalabilidade.

c)

Execução contínua de código, mesmo quando não está sendo usado.

d)

Redução de custos com base no uso, sem necessidade de provisionamento de recursos.

35.

Qual das seguintes arquiteturas permite que cada serviço possa ser desenvolvido, testado e implantado independentemente, favorecendo equipes multidisciplinares?

a)

Monolítica

b)

Cliente-Servidor

c)

Microsserviços

d)

Serverless

36.

Em relação às arquiteturas SaaS, qual alternativa apresenta uma desvantagem comum das arquiteturas monolíticas?

a)

A complexidade de gerenciar e manter um único grande código-fonte.

b)

Maior modularidade e isolamento de falhas.

c)

Adoção nativa de eventos para execução sob demanda.

d)

Facilidade de escalar funcionalidades específicas.

37.

O que melhor define o conceito de Serverless em uma arquitetura SaaS?

a)

Um modelo onde o código-fonte não precisa ser escrito, apenas configurado.

b)

Uma abordagem que exige o uso de hardware dedicado.

c)

Uma arquitetura baseada em microsserviços com camadas intermediárias.

d)

Uma forma de executar código sob demanda, sem gerenciamento de servidores.

38.

Em relação às decisões arquiteturais em projetos SaaS, qual afirmação está mais alinhada com as boas práticas para projetos em fase inicial?

a)

Microsserviços devem ser sempre preferidos, mesmo em projetos pequenos, pela sua escalabilidade.

b)

Serverless é a única opção viável para SaaS, pois elimina totalmente os custos técnicos.

c)

Microsserviços reduzem drasticamente a complexidade de desenvolvimento em projetos novos.

d)

A arquitetura monolítica é mais indicada no início de um projeto, pois tem menor custo técnico e é mais simples de desenvolver e implantar.

39.

Qual é a principal função da Injeção de Dependência (DI) no Spring Boot?

a)

O controle direto do desenvolvedor sobre o ciclo de vida dos objetos.

b)

A delegação da criação e gerenciamento de dependências ao framework.

c)

A substituição do banco de dados relacional por um banco NoSQL.

d)

A separação total entre frontend e backend.

40.

Qual é a principal função da Injeção de Dependência (DI) no Spring Boot?

a)

Compilar o código em tempo real.

b)

Substituir servidores web tradicionais.

c)

Permitir que componentes dependam uns dos outros sem acoplamento rígido, facilitando testes e manutenção.

d)

Criar automaticamente interfaces gráficas para o usuário.

41.

Em uma arquitetura SaaS com Spring Boot, qual é o benefício direto do uso do padrão de Injeção de Dependência?

a)

Permite que todas as dependências sejam instanciadas manualmente, garantindo maior controle sobre o código.

b)

Centraliza toda a lógica da aplicação em uma única classe, facilitando o entendimento do sistema.

c)

Reduz o acoplamento entre componentes, tornando a aplicação mais flexível e fácil de testar.

d)

Garante que os objetos sejam criados em tempo de execução apenas quando houver chamadas REST.

42.

Considerando um cenário de SaaS multitenant com Spring Boot, como a IoC pode contribuir para a escalabilidade da aplicação?

a)

Permitindo que os usuários acessem o código-fonte da aplicação.

b)

Forçando o uso de uma única instância para todos os tenants.

c)

Facilitando a configuração e instanciamento dinâmico de serviços específicos por cliente.

d)

Impedindo o uso de banco de dados distintos.

43.

No contexto do Spring Boot, o que acontece quando anotamos uma classe com @Service, @Component ou @Repository?

a)

O Spring ignora essas classes na inicialização.

b)

Elas são compiladas em tempo de execução.

c)

Elas são registradas no container de IoC e ficam disponíveis para injeção em outras partes da aplicação.

d)

Elas são automaticamente exportadas como APIs REST.

44.

Qual das alternativas melhor representa o papel do Spring Boot em aplicações SaaS modernas?

a)

Um framework que exige configuração manual detalhada para funcionar.

b)

Um toolkit para substituir bancos de dados relacionais.

c)

Uma plataforma que simplifica o desenvolvimento, configuração e deploy de aplicações SaaS com base em boas práticas.

d)

Um substituto para servidores de aplicação como Tomcat ou Jetty.

45.

No contexto de APIs RESTful, o que significa dizer que uma aplicação é stateless?

a)

O servidor REST mantém os dados de sessão do cliente entre as requisições para garantir segurança.

b)

O cliente precisa enviar um token em cada requisição para que o servidor recupere o estado da sessão anterior.

c)

Cada requisição enviada ao servidor deve conter todas as informações necessárias para ser processada, sem dependência de estado anterior.

d)

O cliente e o servidor compartilham uma memória de contexto para otimizar a troca de mensagens.

46.

Em uma arquitetura RESTful, quais informações são essenciais para que uma requisição HTTP seja corretamente interpretada e processada pelo servidor?

a)

Apenas o corpo da requisição com os dados em JSON.

b)

Apenas o endereço IP e porta do cliente solicitante.

c)

O método HTTP, a URI, os cabeçalhos e, se aplicável, o corpo da requisição.

d)

O nome do controller Java responsável pelo recurso.

47.

Em uma aplicação Spring Boot com APIs REST, como ocorre a conversão dos dados JSON recebidos em requisições POST e PUT para objetos Java, e vice-versa?

a)

Por meio de classes de utilitários específicas do Spring que fazem o mapeamento manual.

b)

Utilizando bibliotecas externas instaladas manualmente para cada tipo de objeto.

c)

Por meio da anotação @Entity combinada com o motor de persistência JPA.

d)

Automaticamente, pelo mecanismo de serialização e desserialização da biblioteca Jackson integrada ao Spring Boot.

48.

No contexto de testes de APIs REST com o Postman, qual das alternativas descreve corretamente uma funcionalidade essencial dessa ferramenta?

a)

O Postman é usado exclusivamente para gerar código-fonte de controladores REST em Java.

b)

O Postman permite criar e testar requisições HTTP, inspecionando respostas, status e headers, além de automatizar testes com scripts.

c)

O Postman funciona como um ambiente de execução para projetos Spring Boot, substituindo o servidor embutido.

d)

O Postman permite testar apenas endpoints com método GET, exigindo outra ferramenta para POST, PUT e DELETE.

49.

No contexto do Spring Boot e da arquitetura em camadas, qual é a principal função de uma classe anotada com @Service?

a)

Executar diretamente as requisições HTTP recebidas pela aplicação, tratando headers, parâmetros e corpo da requisição.

b)

Realizar mapeamento objeto-relacional (ORM) entre entidades Java e tabelas do banco de dados, sendo usada para persistência.

c)

Implementar regras e operações da lógica de negócios da aplicação, sendo automaticamente gerenciada pelo container IoC do Spring.

d)

Armazenar configurações externas da aplicação, como URLs e variáveis de ambiente, acessíveis via @Value ou @ConfigurationProperties.

50.

Em uma aplicação Spring Boot que expõe tanto uma interface web via Thymeleaf quanto uma API REST para consumo externo, um desenvolvedor define um serviço ClienteService que injeta um repositório ClienteRepository (interface que estende JpaRepository). Esse serviço é então injetado em dois controladores: um @Controller para páginas HTML e um @RestController para a API REST. Considerando os conceitos de injeção de dependência, mapeamento objeto-relacional e boas práticas arquiteturais, qual das alternativas descreve corretamente esse cenário?

a)

O uso compartilhado de ClienteService por múltiplos controladores viola o princípio da responsabilidade única, pois um serviço não pode atender simultaneamente interfaces diferentes.

b)

A injeção de ClienteRepository diretamente nos controladores seria mais apropriada para promover coesão e reduzir a quantidade de beans na aplicação.

c)

A reutilização de um serviço entre diferentes tipos de controladores é adequada, desde que o serviço concentre apenas a lógica de negócios e não dependa de detalhes da apresentação.

d)

A utilização de @RestController impede a injeção de componentes de serviço como @Service, sendo necessário criar serviços separados para APIs REST.