VERSÃO DEGUSTAÇÃO · 10% do material · 20 questões neste módulo DESBLOQUEAR TUDO →
Respondidas: 0/20
Acertos: 0
Aproveitamento:
Anti-FCC · Módulo 07 · Tecnologia da Informação · Degustação

Banco de Dados e Engenharia de Dados

SQL · NoSQL · ACID · MVCC · ETL/ELT · Kafka · CDC · Data Warehouse · Data Lake

⚡ Você tem 20 questões deste módulo (degustação)

Versão DEGUSTAÇÃO (20/55). Liberar o módulo completo + 11 outros + 150 páginas de teoria integrada: versão completa →

Q56SQL · DDL/DML/DQL/DCL/TCLFundamentos SQL

Sobre os subgrupos da linguagem SQL, é CORRETO afirmar:

a)SQL possui apenas dois subgrupos: DDL (definição) e DML (manipulação).
b)DDL define estrutura (CREATE, ALTER, DROP); DML manipula dados (INSERT, UPDATE, DELETE, MERGE); DQL consulta (SELECT); DCL controla acessos (GRANT, REVOKE); TCL controla transações (COMMIT, ROLLBACK, SAVEPOINT).
c)Os comandos CREATE e DROP pertencem à DML, pois alteram o banco de dados.
d)O comando SELECT pertence à DML, pois acessa dados.
e)O comando ROLLBACK pertence à DDL, pois desfaz alterações estruturais.
Gabarito só após confirmar
Gabarito: B — correta

Classificação clássica do SQL: DDL (Data Definition) — CREATE, ALTER, DROP, TRUNCATE; DML (Data Manipulation) — INSERT, UPDATE, DELETE, MERGE; DQL (Data Query) — SELECT; DCL (Data Control) — GRANT, REVOKE; TCL (Transaction Control) — COMMIT, ROLLBACK, SAVEPOINT.

  • a) "Apenas dois subgrupos" — falso. Restrição artificial. São pelo menos 5 subgrupos.
  • c) "CREATE e DROP na DML" — falso. São DDL. Categorias diferentes.
  • d) "SELECT é DML" — armadilha clássica! Muitas bancas (inclusive a FCC) classificam SELECT como DQL, embora autores divirjam. Esteja atento ao contexto da questão.
  • e) "ROLLBACK é DDL" — falso. ROLLBACK é TCL (Transaction Control).
Q57Normalização1FN, 2FN, 3FN, BCNF

Sobre as Formas Normais do modelo relacional, é CORRETO afirmar:

a)A 1FN exige que não haja dependência transitiva entre atributos não-chave.
b)A 2FN aplica-se a tabelas com chave primária composta e exige a eliminação de dependências parciais — todo atributo não-chave deve depender da chave inteira.
c)A 3FN exige apenas que cada atributo armazene valor atômico.
d)A BCNF (Boyce-Codd) é menos restritiva que a 3FN.
e)Todas as Formas Normais estão obrigatoriamente atendidas em qualquer banco de dados relacional.
Gabarito só após confirmar
Gabarito: B — correta

1FN: valores atômicos (sem campos multivalorados). 2FN: 1FN + eliminação de dependências parciais (atributo não-chave deve depender da chave INTEIRA, em chaves compostas). 3FN: 2FN + eliminação de dependências transitivas. BCNF: 3FN reforçada — toda dependência funcional deve ter superchave à esquerda.

  • a) Inverte definições: dependência transitiva é da 3FN, não 1FN. 1FN trata de atomicidade.
  • c) Confunde 3FN com 1FN. 1FN trata de atomicidade; 3FN trata de dependências transitivas.
  • d) "BCNF menos restritiva que 3FN" — falso. BCNF é MAIS restritiva (toda relação BCNF está em 3FN, mas a recíproca não é verdade).
  • e) "Sempre atendidas em qualquer banco" — frontalmente falso. Bancos reais com frequência denormalizam por desempenho ou pragmatismo.
Q58Propriedades ACIDTransações

As propriedades ACID das transações em bancos de dados relacionais correspondem a:

a)Acessibilidade, Concorrência, Indexação e Distribuição.
b)Atomicidade, Consistência, Isolamento e Durabilidade.
c)Auditoria, Criptografia, Integridade e Disponibilidade.
d)Atomicidade, Concorrência, Indexação e Disponibilidade.
e)Análise, Compilação, Indexação e Distribuição.
Gabarito só após confirmar
Gabarito: B — correta

ACID: Atomicidade (transação tudo-ou-nada), Consistência (banco vai de estado válido para estado válido), Isolamento (transações concorrentes não interferem entre si), Durabilidade (dados persistem após COMMIT, mesmo com falha do sistema).

  • a) Acrônimo inventado com palavras plausíveis. Pega quem decora só a sigla.
  • c) Confunde ACID com tríade CIA (Confidencialidade, Integridade, Disponibilidade) de segurança. São conceitos de áreas distintas.
  • d) Substitui letras corretas (Consistência, Isolamento) por plausíveis erradas. Comum em FCC.
  • e) Invenção total — não há ACID que comece com Análise.
Q59Chave Primária vs Chave EstrangeiraModelo relacional

Sobre chaves primárias e chaves estrangeiras no modelo relacional, é CORRETO afirmar:

a)Chave primária e chave estrangeira são sinônimos para o identificador único de uma tabela.
b)Chave primária identifica unicamente cada tupla (linha) da tabela — não admite valores nulos nem duplicados; chave estrangeira é atributo (ou conjunto) que referencia a chave primária de outra tabela (ou da mesma), garantindo integridade referencial.
c)Chave primária pode ter valores nulos; chave estrangeira jamais.
d)Chave estrangeira deve obrigatoriamente ter o mesmo nome da chave primária referenciada.
e)Toda tabela deve ter pelo menos 3 chaves estrangeiras para garantir normalização.
Gabarito só após confirmar
Gabarito: B — correta

Chave primária (PK): identifica unicamente cada tupla; não admite NULL nem duplicação (regra de integridade de entidade). Chave estrangeira (FK): referencia uma PK (ou UK) de outra tabela (ou mesma), garantindo integridade referencial — não pode apontar para registro inexistente.

  • a) "Sinônimos" — falso. PK e FK têm funções distintas e complementares.
  • c) "PK pode ter null" — frontalmente falso. PK NUNCA admite NULL (violaria a regra de integridade de entidade). FK pode admitir NULL em alguns casos.
  • d) "Mesmo nome obrigatório" — falso. É boa prática, mas não obrigatório. O importante é o tipo de dado e o relacionamento.
  • e) "Pelo menos 3 FK" — invenção. Número arbitrário; tabela pode ter 0, 1, várias FK conforme o modelo.
Q60JOINs SQLConsulta · Operações relacionais

Sobre os tipos de JOIN em SQL, é CORRETO afirmar:

a)INNER JOIN retorna todas as linhas das duas tabelas, mesmo sem correspondência.
b)LEFT JOIN retorna todas as linhas da tabela à esquerda mais as correspondentes da direita; quando não há correspondência na direita, os atributos vêm como NULL.
c)RIGHT JOIN e LEFT JOIN produzem sempre o mesmo resultado, independentemente da ordem das tabelas.
d)FULL OUTER JOIN retorna apenas as linhas que têm correspondência em ambas as tabelas.
e)CROSS JOIN retorna apenas as linhas onde a chave primária é igual em ambas as tabelas.
Gabarito só após confirmar
Gabarito: B — correta

INNER JOIN: só linhas com correspondência em ambas. LEFT JOIN: todas da esquerda + correspondentes da direita (NULL onde não houver match). RIGHT JOIN: o inverso. FULL OUTER JOIN: todas de ambas (NULL onde não houver match). CROSS JOIN: produto cartesiano (todas as combinações possíveis).

  • a) Descreve FULL OUTER JOIN, não INNER. INNER traz só linhas com correspondência.
  • c) "Sempre o mesmo resultado" — falso. LEFT e RIGHT são espelhos: A LEFT JOIN B ≡ B RIGHT JOIN A. Mas A LEFT JOIN B ≠ A RIGHT JOIN B se houver linhas órfãs.
  • d) Descreve INNER JOIN, não FULL OUTER. FULL OUTER traz todas as linhas de ambas, mesmo sem correspondência.
  • e) "CROSS JOIN onde PK = PK" — totalmente errado. CROSS JOIN é produto cartesiano, sem condição de junção.
Q61ÍndicesDesempenho · B-Tree

Sobre índices em bancos de dados relacionais, é CORRETO afirmar:

a)Adicionar índices em todas as colunas de uma tabela sempre melhora o desempenho geral.
b)Índices aceleram operações de leitura (SELECT, JOIN, WHERE), mas tipicamente desaceleram operações de escrita (INSERT, UPDATE, DELETE), pois precisam ser atualizados; sua criação deve ser estratégica.
c)Índices são opcionais apenas em bancos NoSQL; em bancos relacionais, são obrigatórios em todas as colunas.
d)Índices não ocupam espaço em disco, sendo estruturas puramente lógicas.
e)O índice da chave primária precisa ser criado manualmente após o CREATE TABLE.
Gabarito só após confirmar
Gabarito: B — correta

Índices (geralmente B-Tree ou Hash) aceleram leituras a custo de: (1) espaço em disco, (2) desempenho de escrita (cada INSERT/UPDATE/DELETE exige atualização dos índices). Criação estratégica: indexar colunas usadas em WHERE, JOIN, ORDER BY frequentes — evitar excesso.

  • a) "Sempre melhora" — falso. Índices em excesso degradam escrita e desperdiçam espaço. Indexação é trade-off.
  • c) "Obrigatórios em todas as colunas" — frontalmente falso. SGBDs criam automaticamente apenas para PK; demais são opcionais.
  • d) "Não ocupam espaço" — falso. Índices são estruturas físicas em disco (árvores B+, hash, bitmap).
  • e) "Índice de PK criado manualmente" — falso. O índice da chave primária é criado automaticamente pelo SGBD quando se define a PK.
Q62NoSQL · TiposBancos não-relacionais

Sobre as categorias de bancos NoSQL, é CORRETO afirmar:

a)Todos os bancos NoSQL têm o mesmo modelo de dados e diferem apenas no nome comercial.
b)Existem quatro categorias principais: chave-valor (Redis, DynamoDB); documento (MongoDB, CouchDB); colunar (Cassandra, HBase); e grafo (Neo4j, ArangoDB) — cada uma otimizada para padrões de acesso e estruturas diferentes.
c)Bancos NoSQL substituíram completamente os bancos relacionais em ambientes modernos.
d)Apenas o MongoDB é considerado NoSQL; demais bancos são variações de SQL.
e)NoSQL é sinônimo de "sem qualquer linguagem de consulta", impossibilitando queries.
Gabarito só após confirmar
Gabarito: B — correta

Quatro categorias clássicas de NoSQL: chave-valor (Redis, DynamoDB — cache, sessões); documento (MongoDB, CouchDB — JSON/BSON, esquema flexível); colunar (Cassandra, HBase — analítica em larga escala); grafo (Neo4j, ArangoDB — relacionamentos complexos, redes sociais, fraude).

  • a) "Todos com mesmo modelo" — frontalmente falso. Justamente o oposto: NoSQL é família heterogênea.
  • c) "Substituíram completamente os relacionais" — falso. Coexistem; cada um para seu uso. Relacionais ainda dominam transações ACID.
  • d) "Apenas MongoDB é NoSQL" — falso. NoSQL é categoria ampla com dezenas de produtos.
  • e) "NoSQL = sem linguagem de consulta" — falso. NoSQL significa "Not Only SQL". Vários têm linguagens próprias (Cypher para Neo4j, MQL para MongoDB).
Q63Teorema CAPSistemas distribuídos

O Teorema CAP (Brewer) sobre sistemas distribuídos estabelece que, na presença de partição de rede:

a)Um sistema distribuído pode garantir, simultaneamente, todas as três propriedades: Consistência, Disponibilidade e Tolerância à partição.
b)Um sistema distribuído pode garantir, simultaneamente, no máximo duas das três propriedades: Consistência, Disponibilidade e Tolerância à partição (CAP).
c)Apenas a Consistência é fundamental em sistemas distribuídos; as demais são opcionais.
d)O Teorema CAP refere-se exclusivamente a sistemas centralizados, não distribuídos.
e)CAP significa Cache, Aplicação e Protocolo, três camadas obrigatórias.
Gabarito só após confirmar
Gabarito: B — correta

Teorema CAP (Eric Brewer, 2000): em sistemas distribuídos, na presença de partição de rede (P inevitável), o sistema escolhe entre Consistência (todos os nós veem dado mais recente) ou Availability (cada nó responde, mesmo com dado eventualmente stale). Bancos AP: Cassandra, DynamoDB. Bancos CP: MongoDB (padrão), HBase.

  • a) "Todas as três simultaneamente" — frontalmente contra o teorema. A escolha é o coração do CAP.
  • c) "Apenas Consistência fundamental" — simplificação errada. As três são importantes; o teorema é sobre o trade-off.
  • d) "Apenas sistemas centralizados" — falso. CAP é especificamente sobre distribuídos.
  • e) Acrônimo inventado. CAP = Consistency, Availability, Partition tolerance.
Q64Data Warehouse vs Data LakeArquitetura de dados

Sobre as diferenças entre Data Warehouse e Data Lake, é CORRETO afirmar:

a)Data Warehouse e Data Lake são sinônimos, apenas com nomes diferentes em fornecedores distintos.
b)Data Warehouse armazena dados estruturados, com schema-on-write, otimizado para BI e analytics; Data Lake armazena dados em formato bruto (estruturados, semi e não-estruturados), schema-on-read, otimizado para flexibilidade e exploração.
c)Data Lake é uma versão antiga e descontinuada do Data Warehouse.
d)Apenas dados estruturados podem ser armazenados em Data Lake.
e)Data Warehouse é gratuito; Data Lake é necessariamente pago.
Gabarito só após confirmar
Gabarito: B — correta

Data Warehouse (DW): dados estruturados (tabelas), modelagem dimensional (estrela, floco), schema-on-write (estrutura definida na ingestão), otimizado para consultas analíticas — ex.: Snowflake, Redshift, BigQuery. Data Lake: dados brutos em qualquer formato (CSV, JSON, Parquet, imagens, logs), schema-on-read (estrutura aplicada na consulta), maior flexibilidade — ex.: AWS S3, ADLS, GCS. Híbrido: Lakehouse (Databricks).

  • a) "Sinônimos" — falso. Arquiteturas conceitualmente distintas.
  • c) "Data Lake é versão descontinuada" — frontalmente falso. Data Lake é arquitetura MAIS recente que Data Warehouse.
  • d) "Apenas dados estruturados em Data Lake" — falso. Justamente o oposto: Data Lake é flexível, aceita todos os tipos.
  • e) "DW gratuito, DL pago" — invenção. Custo depende do fornecedor e do volume, não da arquitetura conceitual.
Q65ETL vs ELTPipelines de dados

Sobre as abordagens ETL (Extract-Transform-Load) e ELT (Extract-Load-Transform) em integração de dados, é CORRETO afirmar:

a)ETL e ELT são sinônimos; mudam apenas o nome.
b)ETL transforma os dados antes de carregá-los no destino (processamento em servidor intermediário); ELT carrega os dados brutos no destino e transforma-os lá (aproveitando poder computacional de Data Lakes e DWs modernos como Snowflake, BigQuery).
c)ELT é uma versão antiga do ETL, em desuso desde a década de 1990.
d)ETL aplica-se apenas a bancos NoSQL; ELT apenas a bancos relacionais.
e)Em ambas, a transformação sempre ocorre antes do carregamento.
Gabarito só após confirmar
Gabarito: B — correta

ETL (clássico): extrai, transforma em servidor intermediário (Informatica, Talend), carrega no DW. Bom para volumes médios e transformações complexas. ELT (moderno): extrai, carrega bruto no destino, transforma com SQL no próprio DW/Lake (dbt, Snowflake, BigQuery). Aproveita poder computacional dos engines modernos. Predominante em Data Engineering atual.

  • a) "Sinônimos" — falso. A ordem dos passos é o cerne da diferença.
  • c) Inversão histórica: ELT é MAIS recente que ETL, não mais antigo. Surgiu com Big Data e cloud warehouses.
  • d) Restrição inventada. Ambas se aplicam a qualquer destino.
  • e) Confunde os dois: em ELT, transformação ocorre DEPOIS do carregamento. Essa é a inversão.
Q66Particionamento × ShardingEscalabilidade

Sobre as estratégias de particionamento e sharding em bancos de dados, é CORRETO afirmar:

a)Particionamento e sharding são sinônimos para a mesma operação.
b)Particionamento divide uma tabela em partes (geralmente no mesmo servidor) para otimizar consultas e manutenção; sharding distribui dados em múltiplos servidores para escalar horizontalmente. Sharding é uma forma específica de particionamento horizontal distribuído.
c)Sharding é técnica obsoleta substituída pelo particionamento.
d)Particionamento sempre exige múltiplos servidores; sharding pode ocorrer em servidor único.
e)Particionamento vertical divide tabelas por colunas; sharding vertical divide por chaves alfabéticas.
Gabarito só após confirmar
Gabarito: B — correta

Particionamento: divide uma tabela grande em pedaços (partições) — pode ser horizontal (por linhas, ex: por data) ou vertical (por colunas). Tipicamente no mesmo servidor. Sharding: forma específica de particionamento horizontal distribuído em múltiplos servidores para escalar — cada shard é independente.

  • a) "Sinônimos" — falso. Sharding é caso particular (horizontal + distribuído) de particionamento.
  • c) "Sharding obsoleto" — falso. Sharding é técnica fundamental em sistemas web em escala (MongoDB, Cassandra, Elasticsearch).
  • d) Inversão: particionamento pode ser num servidor único; sharding por definição exige múltiplos.
  • e) "Sharding vertical por chaves alfabéticas" — invenção. Sharding é por hash, range ou diretório, mas é HORIZONTAL.
Q67ReplicaçãoAlta disponibilidade

Sobre estratégias de replicação em bancos de dados, é CORRETO afirmar:

a)Replicação síncrona prioriza disponibilidade sobre consistência: o primário responde antes de receber confirmação das réplicas.
b)Replicação síncrona prioriza consistência: o primário aguarda confirmação das réplicas antes de responder ao cliente — garante zero perda de dados, mas com latência maior. Replicação assíncrona prioriza desempenho/disponibilidade: o primário responde imediatamente e propaga depois, com risco de pequena perda em caso de falha.
c)Replicação assíncrona é equivalente a backup tradicional.
d)Replicação só é possível em bancos NoSQL; relacionais não suportam.
e)Replicação síncrona garante latência menor do que replicação assíncrona.
Gabarito só após confirmar
Gabarito: B — correta

Síncrona: COMMIT só após réplicas confirmarem (consistência forte, latência maior, RPO = 0). Assíncrona: COMMIT imediato, propagação posterior (alta performance, RPO > 0). Trade-off clássico de sistemas distribuídos — relacionado ao CAP.

  • a) Inverte completamente: síncrona prioriza CONSISTÊNCIA, não disponibilidade. Padrão FCC clássico.
  • c) "Replicação assíncrona = backup" — falso. Backup é cópia pontual; replicação é fluxo contínuo. Coisas distintas.
  • d) "Só NoSQL" — falso. Replicação é fundamental em qualquer SGBD relacional moderno (PostgreSQL, MySQL, SQL Server, Oracle).
  • e) "Síncrona menor latência" — falso. Justamente o oposto: aguardar réplicas adiciona latência.
Q68PostgreSQL · MVCCControle de concorrência

Sobre o mecanismo MVCC (Multi-Version Concurrency Control), utilizado por PostgreSQL e Oracle, é CORRETO afirmar:

a)MVCC bloqueia todas as leituras enquanto há escritas em andamento, garantindo consistência absoluta.
b)MVCC mantém múltiplas versões dos dados, permitindo que leitores acessem versões consistentes sem bloquear escritores, e vice-versa — leitores não bloqueiam escritores, e escritores não bloqueiam leitores.
c)MVCC é exclusivo de bancos NoSQL e não se aplica a relacionais.
d)MVCC elimina completamente a necessidade de transações ACID.
e)MVCC garante que escritas concorrentes nunca causem deadlock.
Gabarito só após confirmar
Gabarito: B — correta

MVCC: cada transação vê um snapshot dos dados no momento de seu início; múltiplas versões coexistem internamente. Leitores não esperam escritores; escritores não esperam leitores. Maior concorrência sem locks de leitura. Usado por PostgreSQL, Oracle, SQL Server (READ_COMMITTED_SNAPSHOT), MongoDB.

  • a) Descreve o modelo de bloqueio tradicional (2PL pessimista), exato oposto do MVCC.
  • c) "Exclusivo de NoSQL" — falso. MVCC é técnica utilizada em vários relacionais clássicos.
  • d) "Elimina ACID" — falso. MVCC é mecanismo PARA implementar isolamento ACID; não substitui.
  • e) "Nunca causa deadlock" — falso. Deadlocks ainda podem ocorrer em transações com múltiplas escritas.
Q69OLAP vs OLTPWorkloads

Sobre as diferenças entre OLTP (Online Transaction Processing) e OLAP (Online Analytical Processing), é CORRETO afirmar:

a)OLTP e OLAP são sinônimos; mudam apenas o foco de marketing do produto.
b)OLTP otimiza transações curtas e frequentes (INSERT/UPDATE/DELETE), com modelo normalizado, alto volume de operações pequenas — ex.: sistema de NF-e. OLAP otimiza consultas analíticas complexas, com modelo dimensional (estrela), grande volume de leitura, poucas escritas — ex.: dashboard de arrecadação.
c)OLTP é versão antiga e em desuso, substituída por OLAP em ambientes modernos.
d)OLAP é exclusivo de bancos NoSQL; OLTP é exclusivo de relacionais.
e)OLTP suporta apenas leituras; OLAP suporta apenas escritas.
Gabarito só após confirmar
Gabarito: B — correta

OLTP: transações curtas (ms), alto throughput, modelo normalizado, ACID, sistemas operacionais (NF-e, cadastro de contribuintes). OLAP: queries complexas (s/min), modelo dimensional (fato + dimensões), agregações, BI/relatórios (arrecadação por região/período). Tipicamente ETL/ELT move dados de OLTP para OLAP.

  • a) "Sinônimos" — falso. Workloads radicalmente diferentes.
  • c) "OLTP em desuso" — falso. OLTP é base de qualquer sistema transacional do mundo.
  • d) Restrições inventadas. Tanto OLTP quanto OLAP podem ser implementados em relacionais ou NoSQL.
  • e) Inversão: OLTP é majoritariamente escrita (transações); OLAP é majoritariamente leitura (análise). E ambos suportam os dois tipos de operação.
Q70Tipos de BackupProteção · Recuperação

Sobre os tipos de backup em bancos de dados, é CORRETO afirmar:

a)Backup completo, incremental e diferencial são sinônimos; mudam apenas o nome.
b)Backup completo (full) copia todos os dados; backup incremental copia apenas o que mudou desde o último backup (de qualquer tipo); backup diferencial copia o que mudou desde o último backup completo. Cada estratégia tem trade-offs de espaço, tempo de backup e tempo de restauração.
c)Backup incremental ocupa mais espaço que o backup completo.
d)A restauração a partir de backup diferencial exige reaplicar todos os incrementais anteriores.
e)Backup completo deve ser feito todos os dias, sem exceção, em sistemas críticos.
Gabarito só após confirmar
Gabarito: B — correta

Full: tudo, simples mas pesado. Incremental: só o que mudou desde o último backup (qualquer tipo); rápido, pouco espaço, mas restauração exige full + todos os incrementais em sequência. Diferencial: só o que mudou desde o último full; restauração precisa apenas de full + último diferencial. Estratégia comum: full semanal + diferencial diário.

  • a) "Sinônimos" — falso. Estratégias com trade-offs distintos.
  • c) Inversão: backup incremental ocupa MENOS espaço, não mais. Pega quem decora errado.
  • d) Inverte os papéis: diferencial precisa apenas do último diferencial + full. Quem precisa de "todos em sequência" é o INCREMENTAL.
  • e) "Full todo dia, sem exceção" — falso. Estratégia comum é full semanal + incrementais ou diferenciais nos demais dias. Full diário é custoso e geralmente desnecessário.
Q71Streaming · Apache KafkaMensageria

Sobre o Apache Kafka, é CORRETO afirmar:

a)Kafka é um banco de dados relacional otimizado para consultas analíticas.
b)Kafka é plataforma distribuída de streaming de eventos baseada em log imutável particionado em tópicos; produtores publicam, consumidores leem em pace próprio, com retenção configurável e processamento exactly-once.
c)Kafka substitui completamente bancos de dados relacionais em arquiteturas modernas.
d)Kafka é equivalente a uma fila tradicional (queue) em que cada mensagem é consumida e descartada imediatamente.
e)Kafka opera apenas em ambientes cloud da AWS, sendo proprietário desta empresa.
Gabarito só após confirmar
Gabarito: B — correta

Apache Kafka: plataforma distribuída de streaming, baseada em log de eventos imutável dividido em tópicos e partições. Produtores publicam, múltiplos consumidores leem em ritmo próprio (offset). Retenção configurável (não há "consumir e descartar" como em fila tradicional). Garantias: at-most-once, at-least-once, exactly-once (com configuração apropriada).

  • a) "Banco relacional" — falso. Kafka é plataforma de mensageria/streaming, não SGBD.
  • c) "Substitui relacionais" — falso. Coexistem; Kafka serve streaming entre sistemas, não armazenamento transacional primário.
  • d) "Equivalente a fila tradicional" — falso. Em fila (RabbitMQ tradicional), mensagem é consumida e descartada; em Kafka, é mantida no log, permitindo replay e múltiplos consumidores independentes.
  • e) "Proprietário da AWS" — falso. Kafka é projeto Apache (open-source), mantido pela Apache Software Foundation. AWS oferece o MSK, mas não é dona.
Q72Esquema EstrelaModelagem dimensional

Sobre o esquema estrela (star schema) na modelagem dimensional de Data Warehouses, é CORRETO afirmar:

a)O esquema estrela é totalmente normalizado (atende 3FN/BCNF), priorizando integridade sobre desempenho.
b)O esquema estrela é parcialmente desnormalizado: uma tabela fato (com métricas e chaves estrangeiras) cercada por tabelas dimensão denormalizadas — otimizado para consultas analíticas com poucos JOINs e bom desempenho.
c)O esquema estrela é exclusivo de bancos NoSQL.
d)Esquema estrela e esquema floco-de-neve são sinônimos.
e)O esquema estrela exige obrigatoriamente 5 tabelas de dimensão.
Gabarito só após confirmar
Gabarito: B — correta

Esquema estrela: 1 tabela fato central (métricas: valor, quantidade) + N tabelas dimensão denormalizadas (tempo, produto, cliente, geografia). Trade-off: redundância controlada em troca de menos JOINs e melhor desempenho analítico. Floco-de-neve: dimensões normalizadas (mais JOINs, menos redundância).

  • a) "Totalmente normalizado" — falso. Esquema estrela é deliberadamente desnormalizado para performance analítica.
  • c) "Exclusivo NoSQL" — falso. Esquema estrela nasceu em bancos relacionais para DW.
  • d) "Sinônimo de floco-de-neve" — falso. Floco normaliza as dimensões; estrela não. São variantes.
  • e) "Exatamente 5 dimensões" — invenção. Pode ter qualquer número (1, 2, 10, 20 dimensões), conforme o negócio.
Q73Triggers e Stored ProceduresPL/SQL · T-SQL

Sobre triggers (gatilhos) e stored procedures (procedimentos armazenados), é CORRETO afirmar:

a)Triggers e stored procedures são idênticos: ambos são chamados explicitamente pelo desenvolvedor.
b)Triggers são executados automaticamente em resposta a eventos (INSERT, UPDATE, DELETE, BEFORE/AFTER) na tabela; stored procedures são blocos de código nomeados executados sob demanda via CALL ou EXEC, recebendo parâmetros.
c)Stored procedures são depreciadas em SGBDs modernos.
d)Triggers só funcionam em SELECT, não em INSERT/UPDATE/DELETE.
e)Stored procedures não podem ter parâmetros de entrada.
Gabarito só após confirmar
Gabarito: B — correta

Trigger: código que dispara automaticamente antes ou depois de evento DML (INSERT, UPDATE, DELETE) ou DDL — usado para auditoria, validação, sincronização. Stored Procedure: bloco de código nomeado armazenado no banco, executado sob demanda via CALL/EXEC, com parâmetros de entrada/saída.

  • a) "Idênticos" — falso. Triggers são automáticos (em evento); procedures são manuais (sob demanda).
  • c) "Procedures depreciadas" — falso. Continuam amplamente usadas em sistemas legados e novos.
  • d) "Triggers só em SELECT" — frontalmente falso. Inverte completamente: triggers tipicamente são em INSERT/UPDATE/DELETE (DML), não em SELECT.
  • e) "Procedures sem parâmetros" — falso. Parâmetros de entrada e saída são recurso fundamental de procedures.
Q74Banco em Memória · RedisCache · Performance

Sobre o Redis, é CORRETO afirmar:

a)Redis é banco de dados relacional ACID otimizado para alto volume transacional.
b)Redis é banco chave-valor em memória, com persistência opcional, suportando estruturas avançadas (strings, listas, sets, sorted sets, hashes, streams) — usado para cache, sessões, filas, pub/sub e rate limiting; com performance da ordem de centenas de milhares de ops/segundo.
c)Redis exige sempre persistência síncrona em disco, com latência similar a SGBDs relacionais.
d)Redis substitui completamente bancos relacionais em qualquer cenário moderno.
e)Redis é descontinuado desde 2020 e foi substituído pelo MongoDB.
Gabarito só após confirmar
Gabarito: B — correta

Redis: banco em memória (RAM) com persistência opcional (RDB snapshots, AOF append-only file). Estruturas: strings, listas, sets, sorted sets, hashes, streams, geospatial, HyperLogLog. Usos típicos: cache (acelerar consultas a banco principal), sessões de aplicação, filas leves, rate limiting, pub/sub. Latência sub-milissegundo.

  • a) "Relacional ACID" — falso. Redis é NoSQL chave-valor; transações têm semântica diferente.
  • c) "Persistência síncrona obrigatória" — falso. A vantagem do Redis é justamente operar em memória; persistência é opcional/configurável.
  • d) "Substitui completamente relacionais" — falso. Coexistem; Redis é tipicamente camada de cache acima de banco principal.
  • e) "Descontinuado" — falso. Redis está em desenvolvimento ativo, com nova versão recente (Redis 7.x).
Q75Change Data Capture · CDCIntegração em tempo real · Debezium

Sobre Change Data Capture (CDC) em integração de dados, é CORRETO afirmar:

a)CDC requer reprocessamento periódico completo das tabelas-fonte, com alto custo computacional.
b)CDC captura mudanças incrementais (INSERT, UPDATE, DELETE) em sistemas fonte em tempo real ou quase-real, tipicamente via leitura do log de transações do banco (ex.: WAL no PostgreSQL, binlog no MySQL), entregando os eventos a destinos como Kafka, Data Lakes ou DWs — ferramentas como Debezium são referência open-source.
c)CDC é exclusivo de bancos NoSQL.
d)CDC é uma técnica antiga e em desuso, substituída por backup completo diário.
e)CDC só funciona em ambientes on-premises; é incompatível com nuvem.
Gabarito só após confirmar
Gabarito: B — correta

CDC (Change Data Capture): captura incremental de mudanças em sistemas-fonte, geralmente lendo o log de transações (WAL/binlog) sem impactar performance. Eventos são propagados em tempo real para destinos (Kafka, Data Lakes, sistemas réplica). Ferramentas: Debezium (Kafka Connect, open-source), AWS DMS, Oracle GoldenGate. Essencial para arquiteturas modernas event-driven e Data Lakes em tempo real.

  • a) Descreve o modelo tradicional de "full reload" ou "snapshot diário" — exato oposto do CDC.
  • c) "Exclusivo NoSQL" — falso. CDC é majoritariamente usado para capturar mudanças de bancos RELACIONAIS para Data Lakes/Streams.
  • d) "Antiga e em desuso" — falso. CDC é técnica em ascensão em Data Engineering moderno.
  • e) "Só on-premises" — falso. CDC funciona perfeitamente em nuvem (AWS DMS, Azure Data Factory, GCP Datastream).

Resolveu todas as 20 questões?

O pacote completo tem 500 questões em 14 módulos + ~150 páginas de teoria integrada.

QUERO O ANTI-FCC COMPLETO →

Pré-venda VIP: R$ 127 · Lançamento: R$ 197