Questões de Concurso sobre Consistência

 
 
Disciplina
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
29 questões encontradas
Questões por página
20
Mais recentes
 

Em bancos de dados NoSQL orientados a colunas, como Apache Cassandra, a consistência forte é garantida automaticamente para todas as operações de leitura e escrita, independentemente do nível de consistência configurado pelo cliente.


C

Certo


E

Errado

No desenvolvimento de algoritmos paralelos de alto desempenho em arquiteturas modernas, dois conceitos amplamente utilizados são a coerência de cache e a consistência de memória. Considere um cenário em que um programador implementa um padrão produtor consumidor simples utilizando uma flag booleana para indicar a disponibilidade de um dado recém-escrito em um buffer compartilhado. Mesmo operando sobre um hardware que garante coerência de cache estrita (como o protocolo MESI), o consumidor ocasionalmente lê dados inconsistentes ou desatualizados após verificar que a flag é verdadeira. Qual primitiva de programação paralela deve ser obrigatoriamente inserida no código para corrigir esse comportamento e qual é a justificativa técnica para sua necessidade?


A

Deve ser utilizada a primitiva Compare and Swap (CAS) na verificação da flag, pois a leitura de variáveis booleanas em arquiteturas multicore não é atômica por padrão, permitindo leituras parciais de bits (tearing).


B

É necessário inserir uma barreira de memória (memory fence) de escrita antes de setar a flag no produtor e uma de leitura após verificar a flag no consumidor, pois a coerência de cache garante a propagação dos valores, mas não garante a ordem em que as operações de escrita se tornam visíveis globalmente devido a otimizações de reordenamento do processador.


C

O programador deve aplicar um Mutex (Mutual Exclusion) em torno de toda a operação de leitura e escrita, pois arquiteturas modernas desligam o protocolo de coerência de cache durante operações de escrita intensiva para economizar largura de banda do barramento.


D

Deve ser utilizada a primitiva de Transactional Memory (TM) para encapsular o acesso ao buffer, pois o problema descrito é causado pela falsa concorrência (false sharing) entre a linha de cache da flag e a linha de cache dos dados.


E

É necessário utilizar a diretiva volatile nas variáveis compartilhadas, pois isso instrui o controlador de cache a realizar um write through imediato para a memória principal, contornando a latência imposta pelos buffers de escrita (store buffers) da CPU.

Um órgão fazendário expõe, por meio de uma API REST, dados de notas fiscais eletrônicas para outros sistemas estaduais. Em picos de uso, algumas requisições retornam informações inconsistentes porque o processamento interno ainda está em execução de forma assíncrona. Nesse cenário, a estratégia de projeto REST adequada para garantir consistência das respostas sem bloquear o processamento da operação é


A

responder 200 ok com payload indicando processamento pendente, mantendo a consulta ao mesmo endpoint.


B

executar todo o processamento da NF-e de forma síncrona antes de responder, garantindo resposta somente quando o dado estiver concluído.


C

utilizar 206 Fartial Content para devolver versões intermediárias da NF-e enquanto o processamento é concluido.


D

retornar 202 Accepted para operações assíncronas e informar, no cabeçalho Location, um endpoint para consulta do status ou resultado.


E

responder com 201 created para operações longas e orientar o cliente a aguardar nova consulta ao mesmo endpoint para obter o resultado.

As propriedades ACID (Atomicidade, Consistência, Isolamento, Durabilidade) garantem que transações em um Sistema Gerenciador de Bancos de Dados (SGBD) sejam executadas de forma confiável. Considere duas transações, T1 e T2, executando concorrentemente em um SGBD. T1 lê um valor parcialmente atualizado por T2, que ainda não fez commit, mas o banco de dados permanece íntegro após ambas as transações finalizarem todas as suas operações e fazerem commit com resultados gravados em disco. Qual propriedade ACID é violada nesse cenário de execução de transações?


A

Atomicidade.


B

Consistência.


C

Isolamento.


D

Durabilidade.

Em um sistema bancário, duas transações, T1 e T2, executam operações concorrentes sobre o mesmo registro de saldo. T1 lê o saldo, calcula um novo valor e o atualiza. Antes de T1 realizar o COMMIT, T2 lê o mesmo saldo antigo e também realiza uma atualização. Em qual inconsistência esse comportamento pode resultar?


A

Leitura suja (dirty read).


B

Atualização perdida (lost update).


C

Leitura não repetível (non-repeatable read).


D

Fantasma (phantom read).


E

Deadlock.

No MySQL, o InnoDB suporta transações ACID, bloqueio em nível de linha e MVCC (multi-version concurrency control) e organiza dados em um índice clustered pela chave primária.


C

Certo


E

Errado

O departamento de vendas de uma loja solicitou ao setor de TI um relatório detalhado sobre as transações diárias. O analista de sistemas, ao iniciar o trabalho, percebeu que as informações de clientes e de vendas estavam espalhadas em arquivos diferentes e que o CPF de alguns clientes estava escrito de forma inconsistente. Assinale a alternativa que apresenta o tipo de problema de gerenciamento de dados que a inconsistência no formato do CPF exemplifica.


A

Inconsistência de segurança


B

Dificuldade de acesso aos dados


C

Anomalia de atualização


D

Inconsistência e redundância de dados


E

Dificuldade de integridade de dados.

Uma coleção de operações no banco de dados geralmente é vista como uma única ação pelo usuário. Por exemplo, uma transferência entre uma conta corrente e uma conta poupança parece uma única operação, mas, no banco de dados, envolve várias etapas. Essas coleções de operações são chamadas de transações, e o sistema de banco de dados deve garantir sua execução correta, mesmo em situações de falha.


Com base nos conceitos de transações e recuperação de falhas da linguagem SQL, analise as afirmativas a seguir e, assinale V, para as Verdadeiras, e F, para as Falsas:


( ) Em sistemas SQL que seguem o protocolo ACID, o sistema deve garantir que, em caso de falha durante uma transação, as alterações parciais realizadas até o momento da falha sejam preservadas para facilitar a recuperação.

( ) Quando uma transação tiver sido confirmada (committed), não é possível desfazer seus efeitos abortando-a. Para desfazer os efeitos de uma transação confirmada, é preciso executar uma transação de compensação.

( ) O mecanismo de ponto de verificação (checkpoint) em um banco de dados SQL permite uma recuperação mais rápida após uma falha, pois os dados até o último checkpoint são considerados estáveis e não precisam ser restaurados a partir do log de transações.

( ) A técnica de rollback é utilizada para desfazer alterações realizadas por uma transação que falhou, retornando o banco de dados ao estado estável do último ponto de verificação.


A sequência correta, de cima para baixo, é:


A

V – F – F – V.


B

F – V – V – F.


C

V – F – V – F.


D

F – V – F – V.

Em sistemas de informação distribuídos, podem ser executadas as RPC (Remote Procedure Call) Transacionais. No contexto de sistemas distribuídos, as propriedades das transações são


A

Aplicabilidade, Coerência, Isolamento e Desempenho.


B

Acessibilidade, Consistência, Integridade e Durabilidade.


C

Atomicidade, Consistência, Integridade e Durabilidade.


D

Atomicidade, Concorrência, Isolamento e Desempenho.


E

Atomicidade, Consistência, Isolamento e Durabilidade.

Por princípio, a consistência pressupõe que uma transação inconsistente deve levar o banco de dados de um estado inconsistente para o estado consistente.


C

Certo


E

Errado

Ano: 2025
Prova: CESPE/CEBRASPE - PCDF - Gestor de Apoio - Área: Analista de Informática Banco de Dados . - 2025

Em um ambiente Oracle, a implementação de controle de concorrência por meio de isolamento de transações, combinada ao uso de backups incrementais e de log de redo, é suficiente para garantir a integridade e a recuperação completa dos dados após falha inesperada.


C

Certo


E

Errado

Transações em bancos de dados seguem o modelo atomicidade, consistência, isolamento e durabilidade (ACID), para garantir que operações sejam realizadas de forma segura e confiável.


C

Certo


E

Errado

A replicação em bancos de dados em ambientes distribuídos é um tema de grande importância na atualidade.


Em relação aos problemas relacionados à replicação de dados, avalie as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa.


( ) Existem três principais problemas relacionados à consistência de um banco de dados replicado. O primeiro é a consistência mútua de dados, ela trata da convergência dos valores de itens de dados físicos correspondentes a um item de dados lógicos. O segundo é consistência da transação, que é um critério de consistência que precisa ser estudado caso a caso em bancos de dados replicados. O terceiro é a consistência de segurança pois envolve a dificuldade de alinhas o conjunto de permissões e atributos que asseguram a confidencialidade, integridade e disponibilidade dos dados em ambientes heterogêneos e distribuídos.

( ) A consistência mútua em bancos de dados replicados podem ser de dois tipos, onde cada tipo é adequado para diferentes classes de aplicações com diferentes requisitos de consistência. O primeiro tipo é a consistência mútua do tipo forte exige que todas as cópias de um item de dados tenham o mesmo valor no final da execução de uma transação de atualização de dados. Isto é alcançado por uma variedade de meios, mas a execução de 2PC no ponto de confirmação de uma transação de atualização é uma maneira comum de alcançar esse tipo de consistência mútua.

( ) O outro tipo de consistência mútua em bancos de dados replicados é do tipo fraca, ela não requer os valores das réplicas de um item de dado precisa ser idêntico a outro ao término de uma transação de atualização de dados. O que é necessário é que, ao cessar a atividade de atualização, os dados eventualmente se tornarão idênticos ao longo do tempo.


As afirmativas são, respectivamente,


A

V-V-V.


B

V-F-V.


C

F-F-V.


D

F-V-F.


E

F-V-V.

Uma das propriedades ACID das transações SQL em banco de dados é a consistência, que garante que a instrução seja processada de forma completa, para evitar perda de dados.


C

Certo


E

Errado

Acerca de armazenamento de dados, julgue os itens subsequentes.


Em sistemas de arquivos distribuídos, consistência eventual é uma característica que garante que, após determinado tempo, todas as réplicas dos dados estarão consistentes, sem a necessidade de sincronização imediata.


C

Certo


E

Errado

Considere o contexto a seguir: Em um sistema bancário, um cliente realiza uma transferência de R$ 500,00 da conta A para a conta B. No sistema, essa operação envolve duas instruções em Linguagem SQL: a primeira realiza o débito na conta A, enquanto a segunda realiza o crédito na conta B. Ambas as instruções são executadas dentro de uma transação. Nesse contexto, considere as sentenças a seguir sobre os níveis de isolamentos nesse processo de transferência:


I- Caso o nível de isolamento da transação de transferência seja repeatable read, o saldo da conta B irá variar entre duas consultas na mesma transação.

II- Caso o nível de isolamento da transação de transferência seja serializable, a execução sequencial completa das transações será simulada, evitando todos os tipos de anomalias, incluindo phantom reads.

III- Caso o nível de isolamento da transação de transferência seja read committed, ele garante que uma transação sempre verá a mesma versão dos dados durante toda a sua execução, impedindo non-repeatable reads.

IV- Caso o nível de isolamento da transação de transferência seja read uncommitted, uma transação pode ler o saldo de uma conta mesmo que a outra transação ainda não tenha finalizado o commit, possibilitando dirty reads.


Assinale a alternativa com as sentenças CORRETAS sobre o cenário apresentado.


A

Apenas I e III.


B

Apenas I e IV.


C

Apenas II e III.


D

Apenas II e IV.

Em MySQL, a cláusula FOR UPDATE, em uma consulta SELECT, bloqueia as linhas selecionadas até o fim da transação, prevenindo leituras inconsistentes.


C

Certo


E

Errado

Um programador está desenvolvendo um sistema de controle de estoque no qual múltiplos threads precisam atualizar a quantidade de produtos simultaneamente. Para garantir que a quantidade de produtos seja atualizada corretamente sem causar inconsistências, ele precisa utilizar uma primitiva de sincronização específica.


Considerando-se esse contexto, qual é a propriedade que caracteriza unicamente a primitiva de sincronização chamada ‘mutex’ e que a qualifica para garantir a condição desejada?


A

Bloquear threads até que uma condição específica seja verdadeira.


B

Combinar exclusão mútua e variáveis de condição para gerenciar o acesso a recursos compartilhados.


C

Garantir que apenas um thread possa acessar o recurso de cada vez.


D

Permitir múltiplos threads acessarem o recurso até um limite definido.


E

Sincronizar a execução de múltiplos threads em pontos específicos do código.

Um banco de dados projetado para apoiar a tarefa de alocação automática de analistas para os processos recém inseridos no sistema. O modelo relacional especificado e implementado restringe a alocação de processos apenas a analistas disponíveis no departamento. Caso haja tentativa de inserção de nome fora da lista de valores já registrados, a transação não será completada, ou seja, nenhum valor será inserido.


Selecione a alternativa que contém duas propriedades de transação aplicáveis ao cenário acima.


A

Atomicidade e Consistência.


B

Consistência e Durabilidade.


C

Durabilidade e Segurança.


D

Isolamento e Segurança.


E

Isolamento e Consistência.

 
 
Gerar simulado