Foram encontradas 57.071 questões.
Considere a seguinte situação hipotética:
Uma equipe de desenvolvimento mantém um sistema corporativo, utilizando Git e pipelines CI/CD automatizados. O pipeline é definido em um arquivo YAML versionado no próprio repositório e contém as seguintes etapas:
stages:
- build
- test
- deploy
build-job:
stage: build
script:
- echo "Compilando aplicação..."
- ./build.sh
test-job:
stage: test
script:
- echo "Executando testes unitários..."
- ./run_tests.sh
deploy-job:
stage: deploy
script:
- echo "Publicando artefato em ambiente de homologação..."
- ./deploy.sh
when: manual
Fonte: dados do elaborador
Durante o desenvolvimento, a equipe decide integrar um branch de funcionalidades (feature/login) no branch principal (main). Existem dois caminhos possíveis:
1. git merge feature/login : cria um commit de merge, preservando o histórico do branch de funcionalidades.
2. git rebase main feature/login : reaplica os commits do branch de funcionalidades sobre o branch main, criando um histórico linear.
Com base nesse cenário e nos conceitos de DevOps, CI/CD e controle de versão com Git, analise as afirmativas a seguir:
I. A configuração apresentada no arquivo YAML caracteriza um pipeline de integração contínua, pois alterações integradas ao repositório podem acionar automaticamente as etapas de build e testes, ainda que o deploy dependa de aprovação manual.
II. O uso de git merge preserva o histórico completo do branch de funcionalidades, incluindo divergências e commits paralelos, mas pode gerar múltiplos commits de merge que poluem o histórico.
III. O uso de git rebase permite criar um histórico linear ao reaplicar commits sobre outro branch, porém essa operação reescreve o histórico dos commits, podendo causar inconsistências, caso o branch já tenha sido compartilhado com outros desenvolvedores.
IV. A configuração when: manual no job de deploy indica que a etapa de implantação depende de intervenção humana, caracterizando um processo típico de Continuous Deployment, e não de Continuous Delivery.
V. Definir pipelines CI/CD em arquivos YAML versionados no próprio repositório permite que o processo de automação seja rastreável e auditável, o que possibilita o controle de versões também sobre as mudanças no pipeline.
Assinale a alternativa CORRETA:
Provas
- Engenharia de SoftwareGerenciamento de Configuração de Software (SCM)
- Engenharia de SoftwareModelos de Desenvolvimento
Uma equipe de desenvolvimento adotou práticas de DevOps em um sistema corporativo. O fluxo definido estabelece que todo o código é versionado em Git, e que a cada push para o repositório remoto é executado automaticamente um pipeline de CI/CD.
Nesse pipeline são realizadas etapas de build, testes automatizados e análise estática de código. Caso todas as etapas sejam concluídas com sucesso, o artefato gerado é automaticamente implantado em ambiente de homologação.
Com base nos conceitos de integração contínua, entrega contínua e automação de pipelines, analise as afirmativas a seguir.
I. A integração contínua (continuous delivery) consiste na prática de integrar alterações de código com frequência em um repositório compartilhado, em que builds e testes automatizados são executados para detectar falhas precocemente no processo de desenvolvimento.
II. A entrega contínua (continuous delivery) pressupõe que o sistema esteja sempre em um estado potencialmente implantável em produção, embora a liberação final para produção dependa de uma aprovação manual.
III. Em pipelines de CI/CD, ferramentas como GitHub Actions e GitLab CI/CD permitem definir workflows ou pipelines automatizados por meio de arquivos de configuração versionados no próprio repositório do projeto.
IV. A cultura DevOps enfatiza a automação de processos de build, teste e deploy, reduzindo a necessidade de interação entre equipes de desenvolvimento e operações ao longo do ciclo de entrega de software.
Assinale a alternativa CORRETA:
Provas
Em sistemas Web utilizados por universidades, como Sistemas Integrados de GestãoAcadêmica, o protocolo HTTP é utilizado para comunicação entre navegadores dos usuários eservidores da aplicação. Métodos HTTP como GET e POST são empregados para envio dedados, enquanto cookies e sessões são utilizados para manter informações entrerequisições. Cookies podem incluir atributos de segurança adicionais, como HttpOnly e SameSite.
Considere o seguinte trecho de código em PHP, utilizado em um módulo de autenticação de umsistema acadêmico:
<?php
session_start();
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$matricula = $_POST['matricula'];
$_SESSION['aluno_logado'] = $matricula;
setcookie(
"ultimo_acesso",
date("Y-m-d H:i:s"),
[
'expires' => time() + 3600,
'httponly' => true,
'samesite' => 'Strict'
]
);
echo "Acesso registrado para o aluno: " . htmlspecialchars($matricula);
} else {
echo '<form method="POST">
Matrícula: <input type="text" name="matricula">
<input type="submit" value="Entrar no sistema">
</form>';
}
?>
Fonte: dados do elaborador
Com base no funcionamento do protocolo HTTP, no uso de sessões e cookies e nos atributos desegurança aplicados no código apresentado, analise as afirmações a seguir.
I. O atributo HttpOnly, configurado no cookie ultimo_acesso, impede que scriptsexecutados no navegador, como JavaScript, acessem diretamente o valor desse cookie.
II. O atributo SameSite=Strict restringe o envio do cookie em requisições originadas deoutros domínios, contribuindo para reduzir ataques de CSRF.
III. Uma vez criada, a variável de sessão $_SESSION['aluno_logado'] pode ser acessada apenas em requisições HTTP do tipo POST, pois foi definida em uma requisição desse tipo.
IV. Caso o formulário utilizasse o método GET em vez de POST, o valor da matrícula poderia aparecer na URL da requisição, o que pode ser indesejável em cenários em que o programador não quer deixar explícitos os valores dos parâmetros que estão sendo passados no formulário.
Assinale a alternativa CORRETA:
Provas
Em sistemas distribuídos, middleware é uma camada de software intermediária responsável por facilitar a comunicação e integração entre aplicações, sistemas e serviços. Essa camada oferece recursos como troca de mensagens, gerenciamento de APIs, autenticação e integração entre componentes de sistemas distribuídos, permitindo que diferentes aplicações interajam, mesmo estando executando em ambientes distintos.
Entre as soluções utilizadas para comunicação assíncrona estão os message brokers, que implementam o modelo de fila de mensagens, no qual produtores enviam mensagens para uma fila e consumidores as processam posteriormente.
Considere o seguinte código em Python, que utiliza a biblioteca pika para consumir mensagens de uma fila em um broker implementado com RabbitMQ.
1 import pika
2 connection = pika.BlockingConnection(
3 pika.ConnectionParameters('localhost')
4 )
5 channel = connection.channel()
6 channel.queue_declare(queue='tarefas')
7 def callback(ch, method, properties, body):
8 print("Mensagem recebida:", body.decode())
9 channel.basic_consume(
10 queue='tarefas',
11 on_message_callback=callback,
12 auto_ack=True
13 )
14 print("Aguardando mensagens...")
15 channel.start_consuming()
Fonte: dados do elaborador
Esse código ilustra um consumidor de mensagens que se conecta a um broker RabbitMQ e recebe mensagens publicadas em uma fila.
Com base no conceito de middleware e no funcionamento de sistemas de mensageria em arquiteturas distribuídas, analise as afirmações a seguir:
I. O programa estabelece uma conexão com um servidor de mensageria e passa a atuar como consumidor de mensagens da fila denominada “tarefas”.
II. Para toda mensagem entregue ao consumidor a partir da fila tarefas, a função callback será executada para processar o conteúdo recebido.
III. A utilização de um middleware de mensageria como o RabbitMQ implica que produtores e consumidores precisam estar em execução simultaneamente para que a comunicação ocorra de maneira síncrona.
Assinale a alternativa CORRETA.
Provas
Considerando o catálogo de serviços disponíveis e a arquitetura oficial de interoperabilidade, assinale a alternativa que contém solução técnica CORRETA para viabilizar essa consulta, de acordo com os princípios previstos na Lei de Governo Digital.
Provas
Provas
- Engenharia de SoftwareGerenciamento de Projetos de Software
- Engenharia de SoftwareModelos de DesenvolvimentoÁgeisScrum
Provas
Provas
Disciplina: TI - Desenvolvimento de Sistemas
Banca: Fênix
Orgão: Pref. Campo Alegre-SC
Provas
Disciplina: TI - Desenvolvimento de Sistemas
Banca: Fênix
Orgão: Pref. Campo Alegre-SC
Provas
Caderno Container