Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Verifique o seu desempenho e continue
treinando! Você pode refazer o exercício
quantas vezes quiser.
A
1
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?
A diretiva ngModel será utilizada para
estabelecer um relacionamento
unidirecional com os atributos da
classe.
Questão de 10
Corretas
Incorretas
Em branco
1 2 3 4 5
6 7 8 9 10
Angular
Firefox https://estacio.saladeavaliacoes.com.br/exercicio/691a463186db33e930...
1 of 16 16/11/2025, 18:47
B
C
D
E
É 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.
Opa! A alternativa correta é a letra
C. Confira o 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
Submit. Finalmente,
,
Firefox https://estacio.saladeavaliacoes.com.br/exercicio/691a463186db33e930...
2 of 16 16/11/2025, 18:47
A
B
C
D
E
permitindo que o clique sobre o botão de
envio ative o método associado, sem a
mudança de endereço.
2
O uso de decorações, ou anotações, permite a
definição de configurações para os diversos
elementos do Angular de forma simples, como
na definição das propriedades do módulo, por
meio da anotação NgModule. Qual dos atributos
de NgModule define o componente principal de
um módulo do Angular?
imports
providers
exports
bootstrap
declarations
Opa! A alternativa correta é a letra
D. Confira o gabarito comentado!
Firefox https://estacio.saladeavaliacoes.com.br/exercicio/691a463186db33e930...
3 of 16 16/11/2025, 18:47
A
B
Os atributos da anotação NgModule
permitem definir quais outros módulos
serão importados para o módulo corrente
(imports), quais componentes serão
disponibilizados para utilização a partir dos
seletores (declarations), os serviços que
estarão disponíveis para utilização via
injeção de dependência (providers), e os
módulos exportados para outros módulos
(exports). Entre os componentes
disponibilizados, um deles deve ser
especificado como principal, ou raiz, no
atributo .
3
No Angular é possível efetuar as críticas sobre
os campos de um formulário durante o seu
preenchimento, com base na tecnologia de
formulários reativos. O processo envolve a
criação de um FormGroup, ao nível da classe,
contendo as configurações para cada campo,
incluindo a possibilidade de uma lista de
validadores, e o grupo é associado ao
formulário, no modelo. Para uma situação em
que o usuário deve aceitar as regras do site
para se cadastrar, com a marcação de uma
caixa de seleção, qual seria o validador correto
para o campo?
Validators.required
Validators.pattern
Firefox https://estacio.saladeavaliacoes.com.br/exercicio/691a463186db33e930...
4 of 16 16/11/2025, 18:47
C
D
E
Validators.max
Validators.minLength
Validators.requiredTrue
Opa! A alternativa correta é a letra
E. Confira o gabarito comentado!
Para exigir a marcação da caixa de seleção,
adotamos . Quanto
aos demais, required exige o
preenchimento de algum campo não
selecionável, como texto, número ou e-
mail, pattern define um padrão de
preenchimento, para dados como CEP, max
define o valor máximo aceito para um
número, e minLength define o número de
caracteres mínimo para um campo de
texto.
4
Partindo de uma iniciativa do Google, com foco
no sistema Android, o Material Design trouxe
diretivas relacionadas ao design que se
tornaram uma referência de mercado, visando
sempre a garantia de usabilidade,
responsividade e acessibilidade nas mais
Firefox https://estacio.saladeavaliacoes.com.br/exercicio/691a463186db33e930...
5 of 16 16/11/2025, 18:47
A
B
C
D
E
diversas plataformas. Além das diretivas
estabelecidas, temos a especificação de
componentes padronizados e modelo para
implementação em cada plataforma, como
Android, Web, iOS e Flutter. Os componentes
podem ser categorizados de acordo com seus
objetivos, e segundo essa classificação, qual
das opções a seguir contém apenas elementos
para comunicação, feita através da exibição de
mensagens?
Card, Tabs e Dialog
SnackBar, Banner e Dialog
TextField, Switch e Card
Button, Banner e List
SnackBar, Dialog e Tabs
Opa! A alternativa correta é a letra
B. Confira o gabarito comentado!
Os componentes do Material Design podem
ser categorizados de acordo com seus
objetivos. Nesse sentido, temos que os
elementos Card e List são voltados para a
organização do conteúdo, pertencendo,
portanto, ao grupo de exibição. Já os
Firefox https://estacio.saladeavaliacoes.com.br/exercicio/691a463186db33e930...
6 of 16 16/11/2025, 18:47
A
B
componentes TextField e Switch são
destinados à entrada de dados pelo
usuário, fazendo parte do grupo de
entrada. O componente Button, por sua
vez, pertence ao grupo de ações, pois é
voltado para a execução de um processo
qualquer. O componente Tabs integra o
grupo de navegação, pois reflete a
alternância de rotas ou telas. Por fim, temos
os componentes SnackBar, Banner e
Dialog, que pertencem ao grupo de
comunicação, pois são responsáveis por
prover diferentes formas de exibição de
mensagens para o usuário. Portanto, a
alternativa correta é a B� "SnackBar, Banner
e Dialog".
5
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
Firefox https://estacio.saladeavaliacoes.com.br/exercicio/691a463186db33e930...
7 of 16 16/11/2025, 18:47
C
D
E
RouterModule
FormsModule
HttpClientModule
Parabéns, você selecionou a
alternativa correta. Confira o
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 . 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 conteúdo é
exibido no seletor router-outlet. Portanto, a
alternativa correta é a letra C.
6
Durante o desenvolvimento de um sistema,
principalmente nas fases iniciais, alguns
recursos necessários para a funcionalidade
desejada podem não estar disponíveis,
Firefox https://estacio.saladeavaliacoes.com.br/exercicio/691a463186db33e930...
8 of 16 16/11/2025, 18:47
A
B
C
D
E
impedindo a execução de testes. No entanto,
podemos emular os recursos, permitindo a
continuidade do projeto. No caso do Angular,
qual interface permite emular um servidor REST
com persistência em banco de dados?
CanActivate
OnInit
HttpClient
InMemoryDbService
Router
Opa! A alternativa correta é a letra
D. Confira o gabarito comentado!
Na linguagem de programação Angular, a
interface que permite emular um servidor
REST com persistência em banco de dados
é a InMemoryDbService. Esta interface é
utilizada para fornecer dados de teste
(createDb)
e o processo de geração da
chave primária (genId). Assim, toda
chamada efetuada por um HttpClient será
direcionada para o servidor emulado. As
demais opções apresentadas na questão
têm funções diferentes: o CanActivate é
Firefox https://estacio.saladeavaliacoes.com.br/exercicio/691a463186db33e930...
9 of 16 16/11/2025, 18:47
A
B
C
D
utilizado no processo de autenticação para
as rotas do front-end, o OnInit especifica o
método de inicialização de um
componente, o HttpClient permite acessar
endereços HTTP e o Router controla as
rotas internas do front-end.
7
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.
Firefox https://estacio.saladeavaliacoes.com.br/exercicio/691a463186db33e930...
10 of 16 16/11/2025, 18:47
E
Direcionar o fluxo de dados para o
processamento seguinte, antes de
enviar o resultado.
Opa! A alternativa correta é a letra
E. Confira o 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
.
8
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?
Firefox https://estacio.saladeavaliacoes.com.br/exercicio/691a463186db33e930...
11 of 16 16/11/2025, 18:47
A
B
C
D
E
article
main
header
aside
footer
Opa! A alternativa correta é a letra
E. Confira o gabarito comentado!
De acordo com a estrutura mais comum de
um site, a tag 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.
9
Firefox https://estacio.saladeavaliacoes.com.br/exercicio/691a463186db33e930...
12 of 16 16/11/2025, 18:47
A
B
C
D
E
Considerando um serviço no estilo REST,
implementado com base no NodeJS e na
biblioteca Express, e uma entidade Aluno,
persistida no MongoDB via MongoClient, qual a
assinatura do método, no servidor, para
responder à chamada http://localhost:3000/
alunos/29891, obtendo como retorno os dados
do aluno de matrícula 29891 no formato JSON?
router.get('/alunos', async (req, res) �
{ });
router.put('/alunos/:id', async (req, res)
� { });
router.get('/alunos/:id', async (req, res)
� { });
router.delete('\alunos/:id', async (req,
res) � { });
router.post('/alunos', async (req, res)
� { });
Parabéns, você selecionou a
alternativa correta. Confira o
gabarito comentado!
De acordo com a definição do REST, o
método GET do HTTP é utilizado para
realizar consultas, o POST para incluir uma
entidade, o PUT para alterar uma entidade
Firefox https://estacio.saladeavaliacoes.com.br/exercicio/691a463186db33e930...
13 of 16 16/11/2025, 18:47
existente e o DELETE para remover uma
entidade. Quando queremos consultar os
dados de uma entidade específica, o
identificador, ou chave primária, deve ser
fornecido no último segmento da chamada,
o que leva à necessidade da definição de
uma variável (id) na rota. Os métodos de
resposta do Express, que são
disponibilizados a partir de um Router,
adotam os mesmos nomes dos métodos
HTTP, e usam como parâmetros a rota e a
função para tratamento. Portanto, a
assinatura correta para a situação descrita
no enunciado é:
router.get('/alunos/:id', async (req, res) � {
});
Essa assinatura indica que estamos
utilizando o método GET para buscar um
aluno específico, identificado pelo id na
rota. A função assíncrona (req, res) � { } é
o tratamento que será dado à requisição e
resposta do servidor.
10
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
Firefox https://estacio.saladeavaliacoes.com.br/exercicio/691a463186db33e930...
14 of 16 16/11/2025, 18:47
A
B
C
D
E
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
Opa! A alternativa correta é a letra
B. Confira o 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 , 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
Firefox https://estacio.saladeavaliacoes.com.br/exercicio/691a463186db33e930...
15 of 16 16/11/2025, 18:47
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.
Firefox https://estacio.saladeavaliacoes.com.br/exercicio/691a463186db33e930...
16 of 16 16/11/2025, 18:47