Questão de Programação — Frameworks em Programação — Quadrix 2023
- Código
- qg024519
- Banca
- Quadrix
- Órgão
- COFFITO
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista de Tecnologia da Informação
- CCerto
- EErrado
GabaritoE — Errado
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.
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.
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".
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