Foram encontradas 210 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
Considere a seguinte situação hipotética:
Uma universidade utiliza um sistema acadêmico para gerenciar informações de estudantes, dados cadastrais de pessoas e emissão de cartões institucionais. Um analista de dados precisa identificar estudantes ativos que ainda não possuem cartão institucional emitido.
Para isso, foi utilizada a seguinte consulta SQL em um banco de dados MySQL:
SELECT e.registro_academico, p.nome_completo, e.data_ingresso
FROM estudantes e
INNER JOIN pessoas p
ON e.id_pessoa = p.id_pessoa
LEFT JOIN cartoes_acesso ca
ON e.id_pessoa = ca.id_pessoa
WHERE ca.id_cartao IS NULL
AND e.ind_exclusao = 0;
Fonte: dados do elaborador
Considere ainda que o analista avalia o seguinte plano de execução simplificado obtido por meio do comando EXPLAIN:
| table | type | possible_keys | key | rows |
|---|---|---|---|---|
| e | ALL | idx_estudante_pessoa | NULL | 12000 |
| p | eq_ref | PRIMARY | PRIMARY | 1 |
| ca | ref | idx_cartao_pessoa | idx_cartao_pessoa | 3 |
Com base na consulta apresentada, na semântica das operações de junção e em aspectos de otimização de consultas SQL, analise as afirmações a seguir.
I. A consulta apresentada pode ser reescrita de forma logicamente equivalente, utilizando uma subconsulta com NOT EXISTS para identificar estudantes que não possuem registros correspondentes na tabela cartoes_acesso.
II. No plano de execução apresentado, o tipo ALL, na tabela estudantes, indica que o otimizador está realizando uma varredura completa da tabela, o que pode ocorrer quando não há índice adequado para a condição de busca utilizada.
III. Caso a condição ca.id_cartao IS NULL fosse movida da cláusula WHERE para a cláusula 0N do LEFT JOIN, o resultado da consulta permaneceria o mesmo.
IV. A consulta utiliza um padrão conhecido como anti-join, frequentemente empregado para localizar, em uma tabela, registros que não possuem correspondência em outra tabela.
Assinale a alternativa CORRETA.
Provas
Considerando os conceitos de bancos de dados não-relacionais, o modelo de documentos, a arquitetura e a operação do MongoDB, analise as afirmações a seguir.
I. No MongoDB, os dados são armazenados em documentos no formato BSON, organizados em coleções, o que possibilita que documentos de uma mesma coleção possuam estruturas diferentes.
II. Operações básicas de manipulação de dados no MongoDB seguem o modelo CRUD (Create, Read, Update e Delete), realizadas por comandos, como insert0ne, find, update0ne e delete0ne.
III. Em sistemas NoSQL baseados em documentos, como o MongoDB, é obrigatório definir previamente um esquema rígido para cada coleção, semelhante ao modelo relacional tradicional.
IV. O MongoDB não oferece mecanismos nativos para replicação ou distribuição de dados, sendo necessário utilizar ferramentas externas para garantir alta disponibilidade.
Considerando os conceitos apresentados, 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 arquiteturas modernas baseadas em microsserviços, é comum a utilização de uma API Gateway, que atua como um ponto único de entrada para requisições externas. Esse componente integra a camada de middleware, sendo responsável por funções como roteamento de requisições, autenticação, transformação de mensagens, controle de acesso e aplicação de políticas de segurança, permitindo que clientes acessem múltiplos serviços de backend de forma transparente.
Considere o seguinte exemplo de configuração simplificada de um gateway para registrar um serviço e criar uma rota de acesso:
# Registro de um serviço backend
curl -X POST http://localhost:8001/services \
--data name=servico-usuarios \
--data url=http://localhost:5000
# Criação de uma rota para acesso externo
curl -X POST http://localhost:8001/services/servico-
usuarios/routes \
--data 'paths[]=/usuarios'
Clientes podem acessar o serviço por meio do endpoint:
http://localhost:8000/usuarios
O gateway encaminhará automaticamente a requisição para o serviço backend correspondente.
Com base no funcionamento de API Gateways em arquiteturas distribuídas, analise as afirmativas a seguir.
I. A configuração apresentada permite que o cliente acesse o recurso /usuarios pelo gateway, sem precisar conhecer diretamente o endereço ou a porta do serviço backend responsável pelo processamento da requisição.
II. A presença da API Gateway na arquitetura implica que os serviços internos deixam de se comunicar diretamente entre si, passando toda interação obrigatoriamente pelo gateway.
III. A centralização do acesso aos serviços em uma API Gateway possibilita a implementação de mecanismos comuns, como autenticação, registro de logs e limitação de requisições, em um único ponto da arquitetura.
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
Um Analista de Tecnologia da Informação desenvolveu um script em Bash para automatizar a sincronização e a cópia de arquivos entre servidores Linux em um ambiente corporativo.
O script realiza as seguintes operações:
verifica se o diretório de origem existe;
sincroniza arquivos para um servidor remoto, utilizando rsync, preservando permissões e removendo arquivos que não existem mais na origem;
copia um relatório gerado para outro servidor, utilizando scp;
registra a operação em um arquivo de log com timestamp.
#!/bin/bash
SRC="/dados"
DEST="backup@192.168.1.10:/backup/dados"
REPORT="/tmp/relatorio.txt"
REMOTE="admin@192.168.1.20:/relatorios"
LOG="/var/log/backup.log"
if [ ! -d "$SRC" ]; then
echo "Diretório não encontrado"
exit 1
fi
echo "Iniciando sincronização em $(date)" >> $LOG
rsync -avz --delete $SRC $DEST
echo "Backup realizado em $(date)" > $REPORT
scp $REPORT $REMOTE
echo "Processo finalizado em $(date)" >> $LOG
Fonte: dados do elaborador
Analise o código acima e assinale a alternativa que apresenta as afirmações sobre o funcionamento CORRETO do script:
I. O script verifica se o diretório de origem existe antes de iniciar o processo de sincronização.
II. O comando rsync -avz --delete sincroniza os arquivos, preservando permissões, e remove no destino arquivos que não existem mais na origem.
III. O comando scp é utilizado para copiar o arquivo de relatório para outro servidor remoto.
IV. O comando rsync utilizado no script realiza apenas cópia simples de arquivos, sem suporte à sincronização.
V. O comando rsync registra automaticamente todas as operações realizadas em um arquivo de log contendo timestamps.
Provas
Sobre a referida lei, assinale a alternativa CORRETA.
Provas
Sobre o tema, assinale a alternativa CORRETA:
Provas
Caderno Container