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

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 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.

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.

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 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

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.

A escolha do modelo de recuperação de falhas de um sistema de banco de dados depende dos requisitos específicos desse sistema.


Comparando os modelos de atualização imediata e atualização adiada, avalie as afirmativas são verdadeiras (V) ou falsas (F).


( ) Para garantir a consistência dos dados de um banco de dados, o melhor modelo a se utilizar é o de atualização imediata.

( ) O rollback no modelo de atualização adiada é mais simples, pois envolve desfazer alterações aplicadas no banco de dados.

( ) A atualização adiada é mais indicada quando a segurança dos dados é prioridade, mas pode-se tolerar alguma latência na execução de alterações.


As afirmativas são, respectivamente,


A

V – V – F.


B

F – V – F.


C

F – F – V.


D

F – F – F.


E

F – V – V.

 
 
Gerar simulado