Logo Passei Direto
Buscar

Gabarito - DevOps e Integração Contínua-1

Ferramentas de estudo

Questões resolvidas

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Prévia do material em texto

É desafiador para os desenvolvedores de software criarem códigos funcionais em suas máquinas.
No entanto, mesmo quando esse objetivo é alcançado, há um longo percurso até que o software
realmente gere valor, uma vez que este só proporciona valor quando está em ambiente de
produção. A base da filosofia da disponibilização de software é desenvolver programas de modo
que estejam constantemente prontos para serem implementados em produção.
Esse conceito é conhecido como:
A) Integração Contínua (CI)
B) Instalação Continuada (IC)
C) Desenvolvimento Unificado (DU)
D) Entrega Contínua (CD)
E) Disponibilização Centralizada (DC)
O Git é o sistema de controle de versão mais popular do mundo. Ele é um projeto de código aberto
maduro e ativamente mantido, desenvolvido por Linus Torvalds, o criador do kernel do Linux. O Git
é usado em uma ampla variedade de projetos de software, tanto comerciais quanto de código
aberto. O Git é um sistema de controle de versão distribuído (DVCS). Para utilizar o Git, os
desenvolvedores empregam comandos específicos para copiar, criar, alterar e combinar código,
portanto, dominar branching, merging e pull requests é essencial para um fluxo de trabalho
eficiente no Git.
 
Relacione corretamente os comandos do Git:
 
1. Commits
2. Merge
3. Criação de Branch
4. Pull Requests
5. Push
 
(      ) Registra o progresso dos códigos na ramificação local
(      ) Inicia uma revisão do código e uma discussão
(      ) Enviar a ramificação para o repositório remoto para colaboração e backup
(      ) Iniciar uma nova ramificação para trabalhar em uma funcionalidade ou correção
(      ) Após a aprovação, a ramificação é mesclada na branch principal
Agora, selecione a alternativa que apresenta a sequência correta:
A) 2 – 1 – 5 – 3 – 4
B) 1 – 4 – 5 – 3 – 2
C) 1 – 4 – 2 – 5 – 3
D) 4 – 3 – 5 – 2 – 1
E) 1 – 4 – 2 – 3 – 5
As aplicações práticas do DevOps abrangem uma variedade de atividades e processos que visam
melhorar a colaboração, eficiência e qualidade ao longo do ciclo de vida do desenvolvimento e
operações de software. 
A implementação bem-sucedida de algumas aplicações práticas no contexto do DevOps contribui
para uma entrega de software mais eficiente, confiável e alinhada aos objetivos de negócios. Entre
essas aplicações práticas podemos citar:
A) Comunicação, agilidade, eficiência e cultura de colaboração
B) Orientação a objetos, estruturação e organização
C) Automação, colaboração e especificação
D) Tradição, influência e conservadorismo
E) Visão, individualismo e persistência
Nos primórdios da TI, um muro alto separava desenvolvimento e operações. Desenvolvedores
concentravam-se na criação de códigos, enquanto equipes de operações lidavam com
implantação, infraestrutura e manutenção.
Essa divisão frequentemente resultava em ciclos de desenvolvimento demorados, lançamentos
pouco frequentes e desafios significativos de comunicação. Para tentar resolver esse problema,
surgiu o(a):
A) Programação Orientada a objetos
B) Programação estruturada
C) Comunicação entre pares
D) Desenvolvimento ágil
E) Persistência de dados
Em DevOps temos uma representação visual que é uma série automatizada de processos que
facilitam o desenvolvimento, o teste e a implantação contínua de software. Essa representação
visual e automatizada do fluxo de trabalho do desenvolvimento de software, que envolve várias
etapas, desde a escrita do código até a entrega do produto, onde cada etapa é um estágio no ciclo
de vida do desenvolvimento de software e pode incluir tarefas como compilação, testes
automatizados, revisões de código, empacotamento, implantação e monitoramento.
Essa representação visual é conhecida como:
A) Integração Contínua
B) Automatização de processos
C) Implementação automática
D) Entrega Contínua
E) Pipeline
Para Pressman e Maxim (2014), a qualidade de software é definida como “conformidade com
requisitos funcionais e de desempenho explicitamente declarados, normas de desenvolvimento
explicitamente documentadas e características implícitas, que são esperadas em todo software
desenvolvido profissionalmente”. Diante disso temos que a medição da qualidade em DevOps
envolve a avaliação de diversos aspectos ao longo do ciclo de vida do desenvolvimento e
operações.
Dentre essas práticas e métricas que podem ser usadas para medir a qualidade em ambientes
DevOps, podemos citar algumas das principais:
A) Tempo de desenvolvimento, taxa de digitação e satisfação integral
B) Taxa de entrega e sucesso, qualidade do código e satisfação do cliente   
C) Indentação do código, domínio e qualidade da linguagem
D) Conhecimento avançado do desenvolvedor e tempo de entrega
E) Controle de versões, gerenciamento da equipe e implementação
A cultura DevOps é fundamental para o sucesso da implementação de práticas e ferramentas
associadas ao DevOps. Ela enfatiza a colaboração, a comunicação eficaz e a busca constante
pela melhoria na entrega de software.
Relacione corretamente os princípios que formam a cultura DevOps:
 
1. Monitoramento contínuo
2. Gerenciamento de configuração
3. Entrega contínua (CD)
4. Automação de infraestrutura
5. Integração contínua (CI)
 
(      ) Automação do processo de liberação de software para ambientes de teste e produção,
permitindo transferências frequentes e confiáveis
(      ) Utilização de ferramentas para automatizar a configuração e o provisionamento de
ambientes de infraestrutura
(      ) Controle e automação da configuração de software e infraestrutura
(      ) Automação da integração de código de diferentes contribuidores em um único projeto
(      ) Implementação de soluções de monitoramento para acompanhar o desempenho do software
em tempo real
Agora, selecione a alternativa que apresenta a sequência correta:
A) 2 – 1 – 5 – 3 – 4
B) 1 – 4 – 2 – 3 – 5
C) 3 – 4 – 2 – 5 – 1
D) 4 – 3 – 5 – 2 – 1
E) 3 – 4 – 2 – 1 – 5
Controle de versão é uma ferramenta que registra todas as alterações feitas em um arquivo ou
conjunto de arquivos ao longo do tempo. Isso permite que você recupere versões anteriores do
arquivo, compare alterações entre versões e visualize quem fez as alterações. Existe um problema
enfrentado por muitos usuários que é a colaboração com desenvolvedores que estão em outros
sistemas.
Para resolver essa problema, qual foi a primeira solução desenvolvida?
A) Controladores de objetos
B) Sistemas Centralizados de Controle de Versão (CVCSs)
C) Centralizadores universais
D) Sistemas Distribuídos de Controle de Versão (DVCS)
E) Sistemas de Controle de Versões distribuídas
Existe uma metodologia de desenvolvimento amplamente adotada nas empresas. Ela inicia seu
processo com um planejamento detalhado, em que a coleta de requisitos é prioritária para se
compreender as necessidades comerciais do software, seus recursos e funcionalidades. A história
é então escrita pelo cliente, que lhe atribui valores de prioridade com base no impacto geral no
negócio, recursos e funções.
Essa metodologia de desenvolvimento é a:
A) Programação Orientada a Objetos
B) Extreme Programming (XP)
C) Programação estruturada
D) Desenvolvimento ágil
E) Programação Sequencial
O controle de versão é uma prática essencial no desenvolvimento de software que visa gerenciar
as alterações realizadas em um projeto ao longo do tempo. Ele proporciona uma maneira
organizada e controlada de rastrear as modificações no código-fonte, facilitando a colaboração
entre desenvolvedores e a manutenção do histórico de alterações. Essa prática é fundamental
para evitar conflitos entre diferentes contribuições ao mesmo projeto, permitindo que equipes
trabalhem simultaneamente em partes distintas do código. Além disso, o controle de versão
possibilita reverter para versões anteriores do código em caso de problemas, garantindo a
estabilidade do projeto. Analise as afirmativas a seguir que trazem benefícios e desvantagens do
controle de versões:
1. Os Sistemas Centralizados de Controle de Versão (CVCSs) são uma solução para a questão
crucial decolaborar com desenvolvedores que estão em outros sistemas
2. Facilidade de colaboração: os desenvolvedores podem trabalhar nos mesmos arquivos ao
mesmo tempo, sem a necessidade de sincronizar manualmente seus arquivos
3. Controle de acesso: os administradores não gerenciam quem tem acesso aos arquivos de
controle de versão
4. Backups: os arquivos de controle de versão são armazenados centralmente, o que dificulta a
realização do backup e da recuperação
5. Os CVCSs dependem de um servidor central, o que pode ser um ponto de dificuldade e
podem ter um desempenho inferior aos sistemas distribuídos
São corretas apenas as afirmativas:
A) I e II
B) I, II e V
C) I, II e IV
D) I, III e V
E) III e IV
No cenário dinâmico e ágil da implementação DevOps, em que a colaboração eficiente e a entrega
contínuas são fundamentais, a gestão eficaz de acessos e permissões se torna uma prioridade
crítica. Autenticação e autorização emergem como pilares essenciais para garantir a segurança e o
controle adequado sobre os recursos de tecnologia da informação. A autenticação refere-se à
verificação da identidade dos usuários e sistemas que interagem com a infraestrutura, enquanto a
autorização se concentra na concessão adequada de permissões e privilégios para executar ações
específicas. Existe uma abordagem que integra a segurança no processo de DevOps. Isso
significa que a segurança é considerada em todas as etapas do desenvolvimento e implantação de
software, desde o planejamento até a operação.
Essa abordagem é conhecida como:
A) DevSecOps
B) CloudWatch
C) OSS
D) SAST
E) SCA
A Amazon Web Services (AWS) destaca-se como uma líder global no campo dos serviços de
nuvem, fornecendo uma ampla gama de recursos para atender às diversas necessidades de
computação em nuvem de organizações em todo o mundo. A infraestrutura oferecida pela AWS é
conhecida por sua escalabilidade, confiabilidade e segurança, proporcionando um ambiente
propício para a inovação e crescimento eficiente de empresas de todos os portes.
A AWS tem um serviço que é essencial para hospedar aplicativos e máquinas virtuais, oferecendo
capacidade computacional escalável na nuvem.
Esse serviço é o:
A) AWS Lambda
B) Amazon EC2 (Elastic Compute Cloud)
C) Amazon VPC (Virtual Private Cloud)
D) Amazon DynamoDB
E) Amazon SNS (Simple Notification Service)
Microsoft Azure é uma plataforma de nuvem abrangente, oferecendo uma ampla variedade de
serviços para atender às diversas necessidades de desenvolvimento, hospedagem e
gerenciamento de aplicativos em nuvem. Seja para infraestrutura, soluções avançadas de
inteligência artificial ou armazenamento de dados, o Azure fornece uma base sólida para empresas
de todos os tamanhos e setores.
O Azure também se destaca em soluções para contêineres, que proporciona um ambiente
gerenciado para implantação, gerenciamento e dimensionamento de contêineres.
Esse serviço é o:
A) Azure Blob Storage
B) Azure SQL Database
C) Azure Cognitive Services
D) Azure DevOps
E) Azure Kubernetes Service
Os contêineres têm revolucionado a maneira como desenvolvemos, distribuímos e executamos
aplicativos. Nesse contexto, o Docker se destaca como uma das principais ferramentas para
facilitar a criação e gerenciamento desses ambientes isolados. Uma imagem do Docker consiste
em sistemas de arquivos sobrepostos, sendo a base um sistema de arquivos de inicialização,
chamado bootfs, semelhante ao típico sistema de arquivos de inicialização do Linux/Unix. Cada um
desses sistemas de arquivos no Docker é chamado de imagem, e essas imagens podem ser
sobrepostas umas sobre as outras. A imagem mais abaixo é chamada de imagem pai, e você pode
percorrer cada camada até chegar à imagem base na parte inferior da pilha. Ao lançar um
contêiner a partir de uma imagem, o Docker monta um sistema de arquivos de leitura-escrita sobre
quaisquer camadas subjacentes. Este sistema de arquivos de leitura-escrita é onde os processos
desejados para o contêiner Docker serão executados. Analise as afirmativas a seguir que trazem
comandos com parâmetros para manipular contêineres do Docker:
 
1. Lista todos os contêineres: docker ps -a
2. Altera o endereço contêiner: docker rename [contêiner] [novo_nome]
3. Executa o contêiner fornecido: docker start [contêiner]
4. Para a utilização do SO: docker stop [contêiner]
5. Espera até que outros contêineres em execução sejam interrompidos: docker wait [contêiner]
São corretas apenas as afirmativas:
A) I e II
B) II e V
C) I, III e V
D) I, II e IV
E) I, III e IV
Máquinas virtuais (VMs) são ambientes virtuais completamente isolados e independentes, criados
para emular a funcionalidade de uma máquina física. Elas são uma forma de virtualização, que
permite a execução de vários sistemas operacionais e aplicativos em um único hardware físico. O
conceito de máquinas virtuais é fundamental para a eficiência na gestão de recursos de
computação e para a criação de ambientes de teste, desenvolvimento e produção mais flexíveis.
 Relacione corretamente os benefícios das VMs:
 
1. Flexibilidade
2. Isolamento
3. Recuperação de Desastres
4. Virtualização
5. Consolidação de Servidores
 
(      ) Cada VM opera independentemente das outras, garantindo afastamento completo. Isso é
crucial para segurança e estabilidade
(      ) Capacidade de executar diferentes sistemas operacionais em um único hardware oferece
agilidade significativa para testes, desenvolvimento e implantação de aplicativos
(      ) Várias VMs podem ser executadas em um único servidor físico, otimizando a utilização dos
recursos e reduzindo a necessidade de hardware físico
(      ) VMs podem ser facilmente copiadas, movidas ou restauradas, tornando o disaster recovery
mais rápido e eficiente
(      ) Tecnologia amplamente adotada em ambientes empresariais para melhorar a eficiência
operacional e a flexibilidade do gerenciamento de recursos de TI
Agora, selecione a alternativa que apresenta a sequência correta:
A) 2 – 1 – 5 – 3 – 4
B) 3 – 2 – 5 – 1 – 4
C) 2 – 1 – 4 – 3 – 5
D) 3 – 2 – 4 – 5 – 1
E) 2 – 1 – 4 – 5 – 3
Na área de desenvolvimento pode contar com ambientes leves e isolados que permitem
encapsular uma aplicação e suas dependências. Eles proporcionam consistência entre diferentes
ambientes de desenvolvimento, teste e produção, eliminando as divergências que podem surgir
devido a diferenças nos sistemas operacionais ou configurações.
Essa representação de um ambiente isolado para o código, caracterizado pela ausência de
conhecimento sobre o sistema operacional ou os arquivos do host é um:
A) GitHub
B) Servidor de Rede Distribuída
C) Máquinas Virtuais (VM)
D) Emulador de Desktop
E) Container
A busca por confiabilidade e continuidade em ambientes DevOps é crucial para garantir
estabilidade e entrega consistente de software. No contexto da confiabilidade, a atenção recai
sobre monitoramento proativo, automação de testes, resiliência e feedback rápido, visando
identificar e corrigir potenciais problemas antes que impactem os usuários. A continuidade em
DevOps, por sua vez, concentra-se na integração e implantação contínuas, rollbacks eficientes,
backup e recuperação, além da orquestração de contêineres. A integração contínua assegura a
validação contínua do código, enquanto a implantação contínua automatiza a entrega de novas
funcionalidades.
Um elemento no contorno de problemas tem o potencial de causar impactos significativos durante
as próximas atualizações, uma vez que o sistema modificado individualmente pode não ser
reconhecido.
Esse elemento é o(a):
A) Infraestrutura como Código
B) Riscos de disponibilidade
C) Riscos de desempenho
D) Desvio de configuração
E) Alterações manuais
Segurança em DevOps aprofunda-se na abordagem integrada para garantir a segurança ao longo
de todo o ciclo de vida do desenvolvimento e operações de software. Ele explora os fundamentos
da Integração Contínua de Segurança, delineando como a automação de testes de segurança,
análises estáticas e dinâmicas, e revisões de código sãoessenciais para a detecção precoce e a
mitigação de vulnerabilidades.
 Relacione corretamente as características de segurança implementada em projetos DevOps:
 
1. Resposta rápida a incidentes
2. Monitoramento contínuo
3. Testes automatizados
4. Gestão de Identidade e Acesso (IAM)
5. Implementação segura
 
(      ) Configuração adequada de ambientes e a adoção de boas práticas de segurança para
proteger a infraestrutura em nuvem
(      ) Característica crucial para identificar atividades suspeitas ou anomalias de segurança em
tempo real, análise de logs, métricas de segurança e a adoção de soluções de monitoramento
avançadas
(      ) Princípios de menor privilégio, autenticação multifatorial e monitoramento de acessos são
implementados para evitar acessos não autorizados
(      ) Protocolos de resposta a incidentes são estabelecidos, garantindo uma ação rápida e
eficiente em caso de violações de segurança
(      ) Com ciclos de entrega mais curtos, a realização manual de todos os testes necessários
torna-se praticamente inviável, obrigando a implantação de ações automáticas e destacando a
importância dessa característica no contexto do DevOps
Agora, selecione a alternativa que apresenta a sequência correta:
A) 2 – 4 – 5 – 3 – 1
B) 5 – 2 – 3 – 1 – 4
C) 2 – 1 – 4 – 3 – 5
D) 5 – 2 – 4 – 1 – 3
E) 5 – 1 – 3 – 2 – 4
No ambiente de containers é recomendável ter um orquestrador que simplifica o desenvolvimento
e a administração de aplicações. Sem um orquestrador, gerenciar um conjunto de containers pode
ser desafiador, exigindo a administração manual de execução, dimensionamento e escalabilidade.
Existe um orquestrador que automatiza essas tarefas, gerenciando de maneira eficiente clusters
com várias máquinas, destacando-se por sua arquitetura robusta. Sua estrutura compreende dois
componentes principais: o Mestre, responsável por gerenciar o cluster e manter seu estado
desejado, e os Nós (ou trabalhadores), responsáveis pela execução das aplicações.
Esse orquestrador de containers é o:
A) YAML
B) Docker Engine
C) Deployment
D) Kubernetes
E) Orchestrator
Na infraestrutura de TI existem ambientes completamente isolados e independentes, criados para
emular a funcionalidade de uma máquina física. Esse ambiente permite a execução de vários
sistemas operacionais e aplicativos em um único hardware físico. Esse conceito é fundamental
para a eficiência na gestão de recursos de computação e para a criação de ambientes de teste,
desenvolvimento e produção mais flexíveis. Sua principal característica é a capacidade de
executar um sistema operacional completo dentro de outro, chamado de sistema hospedeiro.
Essa abstração é possibilitada por um software conhecido como hipervisor. Esse ambiente é
conhecido como:
A) Servidor de Rede
B) Emulador de Servidor
C) Máquinas Virtuais (VM)
D) Hipervisor Master
E) Roteador
Containers Docker são ambientes de execução isolados que compartilham o kernel do sistema
operacional do host, tornando-os mais leves e portáteis do que máquinas virtuais, que necessitam
de seu próprio sistema operacional completo. A portabilidade dos containers Docker é viabilizada
por um elemento que é uma camada de abstração que gerencia esses ambientes. Ele é executado
no host, proporcionando uma interface de linha de comando (CLI) para a criação, inicialização e
administração dos containers.
Esse elemento que realiza a portabilidade dos containers Docker é o:
A) Docker Hub
B) Docker Engine
C) Containers Docker Server
D) Container Portable
E) Container Repository
As arquiteturas representam uma revolução no paradigma de desenvolvimento de software,
introduzindo uma abordagem que elimina a necessidade de gerenciamento direto de servidores
por parte dos desenvolvedores. Contrariando o modelo convencional, no qual os recursos são
provisionados de forma contínua, o serverless adota uma perspectiva onde a infraestrutura e´
completamente gerenciada pelos provedores de nuvem. Existe um componente essencial das
arquiteturas serverless, proporcionando uma abordagem inovadora para o desenvolvimento e
execução de código na nuvem. Nesse modelo, os desenvolvedores dividem suas aplicações em
funções independentes e granulares, que são acionadas em resposta a eventos específicos, sem a
necessidade de gerenciar a infraestrutura subjacente.
Esse componente é conhecido como:
A) FaaS (Function-as-a-Service)
B) Serverless
C) PaaS (Plataform-as-a-Service)
D) Auto Scaling Service
E) Aplicações RESTful
A segurança em código tornou-se uma prioridade essencial em ambientes de nuvem,
especialmente ao utilizar serviços da Amazon Web Services (AWS) em conjunto com ferramentas
como o Terraform. Essa abordagem, também conhecida como Infrastructure as Code (IaC), não
apenas permite a automação eficiente da infraestrutura, mas também impulsiona a implementação
de práticas seguras desde a concepção até a operação. Analise as afirmativas a seguir que trazem
como a segurança pode ser integrada efetivamente ao código ao utilizar AWS e Terraform:
 
1. Gerenciamento de credenciais: primeiro passo é assegurar o gerenciamento seguro de
credenciais na AWS
2. Práticas de segurança em Terraform: variáveis sensíveis e arquivos de estado, avaliação de
impacto e revisão de código
3. Monitoramento e conformidade: implementar identificação da linguagem de programação
para identificar e reagir a possíveis atualizações
4. Auditorias e revisões regulares: realizar auditorias regulares nas configurações do Terraform
e nos recursos provisionados na AWS para identificar e corrigir potenciais lacunas de
segurança
5. Atualizações e Patches automáticos: automatizar a instalação dos recursos financeiros do
projeto
São corretas apenas as afirmativas:
A) I, II e IV
B) I e II
C) I, III e V
D) II e V
E) I, III e IV
YAML é uma linguagem de marcação humanamente legível que é frequentemente usada para
descrever configurações e dados. É uma linguagem de sintaxe simples e fácil de aprender, mas
existem algumas regras básicas que você deve seguir ao criar arquivos YAML.
 Relacione corretamente os componentes básicos de YAML que são comuns as várias linguagens
de programação encontradas no mercado:
 
1. Listas
2. Mapas
3. Number
4. Strings
5. Boolean
 
(      ) São usados para armazenar dados associativos, como chaves e valores
(      ) São usadas para armazenar uma sequência de dados
(      ) São usadas para armazenar dados de texto
(      ) São usados para armazenar dados numéricos
(      ) São usados para armazenar dados lógicos, como verdadeiro ou falso
Agora, selecione a alternativa que apresenta a sequência correta:
A) 2 – 4 – 5 – 3 – 1
B) 3 – 2 – 5 – 1 – 4
C) 2 – 1 – 4 – 3 – 5
D) 5 – 2 – 4 – 3 – 1
E) 2 – 1 – 5 – 3 – 4

Mais conteúdos dessa disciplina