Pular para o conteúdo principal

Questão de Programação — Frameworks em Programação — Quadrix 2023

ProgramaçãoFrameworks em Programação
Código
qg024519
Banca
Quadrix
Órgão
COFFITO
Ano
2023
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Com relação aos repositórios de código fonte, aos conceitos de Json e ao framework Entity, julgue o item.Pelo fato de o framework Entity introduzir uma camada de abstração entre o código do aplicativo e o banco de dados, ele jamais causa lentidão em operações complexas ou em cenários de alta carga, em comparação com o uso direto de SQL.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Entity Framework e a abstração de banco de dados

Gabarito: E — ERRADO. A afirmação de que o Entity Framework "jamais causa lentidão" em operações complexas ou alta carga é falsa: a camada de abstração introduzida pelo framework adiciona overhead de processamento, e o SQL gerado automaticamente pode ser ineficiente em comparação com SQL otimizado manualmente. A abstração facilita o desenvolvimento, mas não elimina a possibilidade de problemas de desempenho.

O Entity Framework (EF) é um mapeador objeto-relacional (ORM) que permite ao desenvolvedor interagir com o banco de dados usando objetos da linguagem de programação, em vez de escrever comandos SQL diretamente. Essa camada de abstração traduz as operações do código em consultas SQL, gerenciando a conexão, o mapeamento de entidades e o rastreamento de mudanças. O benefício principal é a produtividade: o desenvolvedor escreve menos código de infraestrutura e pode trocar de banco de dados com mais facilidade.

No entanto, essa conveniência tem um custo. O processo de tradução de expressões LINQ para SQL, a geração dinâmica de consultas e o rastreamento de entidades consomem recursos de CPU e memória. Em cenários de alta carga ou com consultas complexas, o SQL gerado automaticamente pode não ser o mais eficiente possível — muitas vezes, um desenvolvedor experiente escreveria uma consulta SQL manual mais otimizada, com joins e índices adequados. Além disso, o padrão de carregamento de dados (eager, lazy ou explicit loading) pode gerar consultas adicionais (o problema N+1), causando lentidão significativa.

A afirmação usa a palavra "jamais", que é um termo absoluto. Na prática, qualquer camada de abstração adiciona uma sobrecarga (overhead) em relação ao acesso direto. O EF oferece ferramentas para mitigar esses problemas, como o rastreamento de consultas, a compilação de consultas e a possibilidade de escrever SQL puro quando necessário, mas isso não significa que ele seja imune a problemas de desempenho. A lentidão pode ocorrer, e o desenvolvedor precisa conhecer as boas práticas para evitá-la.

A pegadinha da banca está no uso de "jamais" e na generalização de que a abstração é sempre benéfica. O candidato que conhece os trade-offs de um ORM identifica imediatamente que a afirmação é exagerada e incorreta.

1Vantagens
Produtividade
Troca de banco facilitada
2Desvantagens
Overhead de processamento
SQL gerado pode ser ineficiente
Problema N+1
3Mitigações
SQL puro quando necessário
Compilação de consultas
Rastreamento de consultas
Entity Framework (ORM)
LEVELsoulevel.com.br
Entity Framework (ORM): Vantagens (Produtividade, Troca de banco facilitada); Desvantagens (Overhead de processamento, SQL gerado pode ser ineficiente, Problema N+1); Mitigações (SQL puro quando necessário, Compilação de consultas, Rastreamento de consultas)

Alternativa E — ❌ Incorreta ⟵ GABARITO

A alternativa está incorreta porque a premissa de que o Entity Framework "jamais causa lentidão" é falsa. A camada de abstração adiciona overhead de processamento e pode gerar consultas SQL ineficientes, especialmente em operações complexas ou de alta carga. O SQL direto, escrito por um especialista, pode ser mais otimizado. O EF não é uma solução mágica que elimina problemas de desempenho; ele oferece ferramentas para otimização, mas o desenvolvedor precisa usá-las corretamente.

NÃO CAIA NESSA!

A banca usa a palavra "jamais" para tornar a afirmação absoluta e, portanto, falsa. Qualquer framework de abstração adiciona overhead; a questão explora a confusão entre "facilita o desenvolvimento" e "é sempre mais rápido".

PEGA ESSA DICA!

Em questões sobre ORMs, desconfie de afirmações absolutas com "sempre", "nunca" ou "jamais". Lembre-se de que a abstração tem custo e que o SQL gerado pode não ser o mais eficiente. Compare sempre com o uso direto de SQL.

Gabarito: letra E

Link permanente: /questoes/qg024519