Prévia do material em texto
Você acertou 1 de 10
questões
Verifique o seu desempenho e continue
treinando! Você pode refazer o exercício
quantas vezes quiser.
Verificar Desempenho
A
B
C
1 Marcar para revisão
Para diversas funcionalidades de um sistema
ocorre a necessidade de um usuário válido, ou
seja, deve haver algum meio de autenticação
disponível. Em termos do Angular, o acesso a
uma rota pode ser controlado de forma simples,
com base em um serviço para verificação de
usuário que é associado às rotas privadas. Qual
interface deve ser implementada pelo serviço?
SignIn
CanActivate
Authenticate
Questão 1 de 10
Corretas (1)
Incorretas (9)
Em branco (0)
1 2 3 4 5
6 7 8 9 10
Lista de exercícios Angular Sair
26/10/2026, 09:42 estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/ 1/15
D
E
SignOut
VerifyUser
Resposta correta
Parabéns, você selecionou a
alternativa correta. Confira o
gabarito comentado!
Gabarito Comentado
Para estabelecer uma rota autenticada no
Angular, é necessário associar a ela um
atributo chamado canActivate. Este atributo
deve estar vinculado a um serviço que
implemente a interface CanActivate. Ao
implementar essa interface, o método
canActivate é utilizado para verificar se há
um usuário logado. Se houver um usuário
logado, o método retorna verdadeiro,
liberando o acesso à rota. Caso contrário,
retorna falso, bloqueando o acesso.
Alternativamente, pode-se retornar uma
página de login para redirecionar o usuário,
em vez de simplesmente bloquear o
acesso.
2 Marcar para revisão
Em um sistema de controle de estacionamento,
devem ser exibidas apenas as vagas vazias na
página de listagem, através de tags div
configuradas como painéis, permitindo que o
operador associe a vaga ao carro que estiver
acessando o local naquele momento. Qual
26/10/2026, 09:42 estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/ 2/15
A
B
C
D
E
diretiva do Angular permitirá condicionar o
desenho da div ao estado atual da vaga?
ngIf
ng-app
ngFor
ng-template
ngModel
Resposta incorreta
Opa! A alternativa correta é a letra
A. Confira o gabarito comentado!
Gabarito Comentado
A diretiva correta seria ngIf, aplicada na
forma de atributo, com uma expressão que
retorna valor booleano, indicando se o
elemento será desenhado ou não. Para o
contexto descrito, poderia ser algo como . Quanto
às demais opções, ngFor permite repetir o
desenho do elemento para cada objeto de
um conjunto, ngModel define um
relacionamento bidirecional entre um
campo de entrada e um atributo da classe,
ng-app é o seletor que identifica o
aplicativo, e ng-template define um trecho
reutilizável no modelo. A diretiva ngIf é
utilizada para exibir ou ocultar um elemento
de acordo com uma condição. No caso do
exemplo, a condição é que a vaga esteja
vazia. Se a vaga estiver vazia, o elemento
26/10/2026, 09:42 estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/ 3/15
A
B
C
D
E
será exibido. Se a vaga estiver ocupada, o
elemento não será exibido.
3 Marcar para revisão
A biblioteca RxJS é uma excelente opção para a
implementação de elementos assíncronos, com
a substituição das funções assíncronas (async)
e diretivas de espera (await) por um padrão
Observer, onde temos fontes de dados
assinadas, que enviam suas alterações para o
conjunto de assinantes, com a informação
sendo tratada em funções de resposta.
Considerando a criação de um aplicativo para
acompanhamento estatístico, onde diversos
gráficos são atualizados de forma simultânea, a
cada vez que uma nova pesquisa é cadastrada,
qual seria o componente da biblioteca RxJS
adequado para emissão da informação
atualizada?
Observable
Subject
Operator
Subscription
Observer
26/10/2026, 09:42 estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/ 4/15
Resposta incorreta
Opa! A alternativa correta é a letra
B. Confira o gabarito comentado!
Gabarito Comentado
Os componentes que devem receber a
informação devem assinar (Subscription) a
fonte de dados, ficando responsáveis por
tratar a informação recebida (Observer).
No entanto, existem dois modelos para a
fonte de dados: o Observable, que é
utilizado para uma ação pontual com
apenas um assinante, e o Subject, que é
voltado para a criação de canais com
múltiplos assinantes. Nesse contexto, o
Subject seria a solução mais adequada,
pois permite a atualização simultânea de
diversos gráficos a cada vez que uma nova
pesquisa é cadastrada. Quanto aos
operadores (Operator), são os elementos
que permitem operações comuns através
do paradigma funcional.
4 Marcar para revisão
Uma novidade interessante do HTML 5 foi a
definição de folhas de estilo por escopo,
trazendo a possibilidade de adotar formatações
específicas para o elemento e seus filhos, sem
interferir no restante da página. Essa
característica é utilizada pelos componentes do
Angular, onde temos formatações CSS
específicas, adotadas no escopo de utilização
do seletor. Observe o fragmento de código que
é apresentado a seguir.
.container{
26/10/2026, 09:42 estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/ 5/15
A
B
C
D
E
display: flex; flex-direction: row; flex-wrap:
wrap;
width: 100%; overflow-y: scroll; height:230px;
}
Qual informação é verdadeira, acerca da
formatação que foi definida?
Exibe uma barra de rolagem horizontal
quando a quantidade de elementos
ocupar uma área superior às
dimensões especificadas.
Especifica que o elemento formatado
pela classe terá uma largura de 100
pixels.
Define uma exibição sequencial de
elementos na vertical, com a quebra
de linha para cada elemento filho
adicionado ao corpo da tag.
Permite definir uma área de exibição
na forma de grid, com o
posicionamento sequencial de
elementos e a quebra de linha quando
não há mais espaço na horizontal.
Especifica que o elemento formatado
pela classe utilizará 100% do espaço
vertical disponível.
Resposta incorreta
Opa! A alternativa correta é a letra
D. Confira o gabarito comentado!
Gabarito Comentado
26/10/2026, 09:42 estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/ 6/15
O código CSS apresentado define uma
classe chamada "container" que possui
várias propriedades. A propriedade
"display: flex" permite que os elementos
filhos do container sejam dispostos em
uma linha ou coluna flexível. A propriedade
"flex-direction: row" define que os
elementos serão dispostos em linhas. A
propriedade "flex-wrap: wrap" permite que
os elementos sejam quebrados para a
próxima linha se não houver espaço
suficiente na linha atual. A propriedade
"width: 100%" define que o container
ocupará 100% da largura disponível. A
propriedade "overflow-y: scroll" garante
que uma barra de rolagem vertical seja
exibida, mesmo que não haja conteúdo
suficiente para preencher a altura do
container. Por fim, a propriedade "height:
230px" define a altura do container em 230
pixels. Portanto, a alternativa D é a correta,
pois afirma que o código permite definir
uma área de exibição na forma de grid,
com o posicionamento sequencial de
elementos e a quebra de linha quando não
há mais espaço na horizontal.
5 Marcar para revisão
Na estrutura de um projeto baseado em
Angular, temos um conjunto de arquivos no
diretório raiz voltados para a configuração geral
do aplicativo. Entre os arquivos encontrados,temos um com o nome polyfills.ts, que tem
como objetivo:
26/10/2026, 09:42 estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/ 7/15
A
B
C
D
E
Definir o conteúdo da página inicial do
aplicativo.
Estabelecer as formatações globais,
através de configurações CSS.
Configurar a inicialização do
aplicativo.
Inicializar o ambiente de testes para o
aplicativo.
Incluir elementos para compatibilidade
em diferentes plataformas e
navegadores.
Resposta incorreta
Opa! A alternativa correta é a letra
E. Confira o gabarito comentado!
Gabarito Comentado
Na base do diretório src temos o ícone do
aplicativo (favicon.ico), polyfills.ts, para a
garantia de compatibilidade em diferentes
plataformas e navegadores, main.ts, com
o código de inicialização, uma folha de
estilos com as formatações globais
(styles.css), o conteúdo inicial do
aplicativo, na página index.html, e a
inicialização do ambiente de testes, no
arquivo test.ts.
6 Marcar para revisão
26/10/2026, 09:42 estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/ 8/15
A
B
C
D
E
Com a estrutura modular do Angular,
conseguimos acrescentar funcionalidades ao
sistema de forma muito simples, através da
importação dos módulos necessários. Entre os
módulos mais comuns, em um sistema baseado
no Angular, qual deles permite gerenciar a troca
de conteúdo com base em rotas, dentro de uma
interface no estilo SPA (Single Page
Application)?
BrowserModule
ReactiveFormsModule
RouterModule
FormsModule
HttpClientModule
Resposta incorreta
Opa! A alternativa correta é a letra
C. Confira o gabarito comentado!
Gabarito Comentado
O módulo que permite gerenciar a troca de
conteúdo com base em rotas, dentro de
uma interface no estilo SPA (Single Page
Application), é o RouterModule. Este
módulo deve ser configurado a partir de
um objeto Routes, que contém o
mapeamento das rotas disponíveis para os
componentes de resposta. No nível dos
modelos HTML, os links são associados às
rotas por meio do atributo routerLink, e o
26/10/2026, 09:42 estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/ 9/15
A
B
C
D
E
conteúdo é exibido no seletor router-outlet.
Portanto, a alternativa correta é a letra C.
7 Marcar para revisão
Para qualquer programador Angular, é
fundamental conhecer a utilização da biblioteca
RxJS para implementação de funcionalidades
assíncronas. Considere o fragmento de código
seguinte.
const observable = interval(1000)
.pipe(map((x:number)=>x*x))
.pipe(observeOn(asyncScheduler));
Para que serve o método pipe no código
apresentado?
Gerar números sequencialmente.
Elevar cada número gerado ao
quadrado.
Fornecer o resultado de forma
assíncrona para o assinante da fonte
de dados.
Gerar o conjunto de números inteiros
compreendido entre 1 e 1000.
Direcionar o fluxo de dados para o
processamento seguinte, antes de
enviar o resultado.
Resposta incorreta
26/10/2026, 09:42 estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/ 10/15
Opa! A alternativa correta é a letra
E. Confira o gabarito comentado!
Gabarito Comentado
No código temos a criação de um
Observable, que gera números
sequencialmente, em intervalos de 1
segundo (interval), cada número gerado é
elevado ao quadrado (map) e o valor final é
retornado de forma assíncrona
(asyncScheduler). Como temos três
processamentos sendo executados,
precisamos do pipe para direcionar o fluxo
de dados para o processamento seguinte,
antes de enviar o resultado.
8 Marcar para revisão
Formulários são a forma padrão para viabilizar a
entrada de dados em sistemas cadastrais para
Web, podendo ser especificados no Angular ao
nível dos modelos HTML. No entanto, para a
construção de um formulário em um front-end
baseado no Angular, temos algumas regras de
implementação que devem ser observadas.
Qual das opções a seguir constitui uma regra
válida para a implementação de formulários no
Angular?
26/10/2026, 09:42 estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/ 11/15
A
B
C
D
E
A diretiva ngModel será utilizada para
estabelecer um relacionamento
unidirecional com os atributos da
classe.
É necessário importar o módulo
RouterModule para a definição de
formulários.
O evento de submissão do formulário
deve ser associado a um método da
classe.
Todo formulário precisa de um botão
do tipo Reset para envio das
informações.
Não é possível utilizar as tags
convencionais do HTML para campos
de entrada.
Resposta incorreta
Opa! A alternativa correta é a letra
C. Confira o gabarito comentado!
Gabarito Comentado
Para trabalhar com formulários no Angular,
precisamos da importação do módulo
FormsModule, ou ReactiveFormsModule,
para adicionar o suporte necessário. Com o
suporte ativado, utilizamos a diretiva
ngModel para estabelecer um
relacionamento bidirecional entre o campo
de entrada e o atributo da classe. São
utilizados tags convencionais do HTML
para definir os campos de entrada,
incluindo um botão para envio, do tipo
26/10/2026, 09:42 estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/ 12/15
A
B
C
D
E
Submit. Finalmente, o evento de
submissão do formulário deve ser
associado a um método da classe,
permitindo que o clique sobre o botão de
envio ative o método associado, sem a
mudança de endereço.
9 Marcar para revisão
As tags semânticas trouxeram para o HTML 5 a
possibilidade de transmitir significado para as
áreas nas quais uma página é dividida,
viabilizando a melhoria no reconhecimento a
partir dos sistemas de busca, como o que é
utilizado pelo Google. Qual dessas tags deve
ser utilizada para configurar a porção inferior
de uma página?
article
main
header
aside
footer
Resposta incorreta
Opa! A alternativa correta é a letra
E. Confira o gabarito comentado!
26/10/2026, 09:42 estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/ 13/15
A
B
C
Gabarito Comentado
De acordo com a estrutura mais comum de
um site, a tag footer corresponde ao
rodapé, na parte inferior da página, header
define a parte superior, ou cabeçalho,
aside é uma divisão lateral (esquerda ou
direita), normalmente para a navegação
secundária ou informações
complementares, main define o conteúdo
principal, e article caracteriza um conteúdo
genérico, como um painel para
apresentação de informações específicas.
10 Marcar para revisão
Os padrões de desenvolvimento visam resolver
problemas recorrentes na implementação de
sistemas, com a definição de soluções
padronizadas, amplamente testadas e com
modelos bem-organizados, utilizando a notação
UML. Supondo que os gastos com a
manutenção de um determinado sistema
estejam muito altos, devido à proliferação de
instruções SQL ao longo de todo o código, e
você tenha sido contratado para refatorá-lo,
qual padrão deverá utilizar para a melhoria da
estratégia de persistência e consequente
redução do custo de manutenção?
Observer
Proxy
Data Access Object
26/10/2026, 09:42 estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/ 14/15
D
E
Flyweight
Service Locator
Resposta incorreta
Opa! A alternativa correta é a letra
C. Confira o gabarito comentado!
GabaritoComentado
O padrão de projeto mais adequado para a
situação descrita no enunciado é o DAO
(Data Access Object). Este padrão é
utilizado para centralizar as chamadas ao
banco de dados em classes específicas,
permitindo que o restante do sistema opere
estritamente com objetos e tipos primitivos.
Isso contribui para a redução da
proliferação de instruções SQL no código,
o que pode levar a uma diminuição dos
custos de manutenção. Quanto aos outros
padrões mencionados, eles têm aplicações
diferentes. O Flyweight, por exemplo, é útil
em ambientes de objetos distribuídos,
sendo usado para a criação de um pool de
objetos. O Proxy é usado para encapsular a
comunicação remota, enquanto o Service
Locator centraliza as chamadas a serviços
remotos. Por fim, o padrão Observer seria
indicado se a necessidade fosse atualizar
as interfaces de forma assíncrona.
26/10/2026, 09:42 estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/
https://estacio.saladeavaliacoes.com.br/exercicio/6adf4ab6e8a60a6c7d241565/gabarito/ 15/15