

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
O ASP.NET Core é uma reformulação completa, moderna e de alto desempenho do tradicional ASP.NET. Criado pela Microsoft como uma plataforma open-source e multiplataforma, ele foi reescrito do zero para ser modular e leve, sendo ideal para a criação de aplicativos modernos, conectados à nuvem e compatíveis com Windows, Linux e macOS.
Sobre o tema, assinale a opção que apresenta, corretamente, uma de suas características.
Utiliza o ADO.NET para evitar o uso direto de SQL.
Contém o Blazor, um framework para UI web interativa usando JavaScript ao invés de C#.
Sua arquitetura tem como características a junção de responsabilidades e alto acoplamento.
Faz o mapeamento Objeto-Relacional com o Entity Framework, permitindo a manipulação de dados por meio de objetos.
Utiliza o Razor Pages como alternativa ao MVC (Model-View-Controller), onde cada página tem UI própria, porém, sem lógica associada.
Uma Secretaria da Fazenda estadual expõe, em ASP.NET Core (.NET 8, Minimal APIs), uma API para cálculo de ICMS sobre fretes interestaduais. O serviço ICalculoTributoservice Utiliza FazendaDEContext (EF Core) para persistência e um cliente HTTP para consultar tabelas de alíquotas interestaduais via serviço externo. Em testes de carga, o uso de FazendaDbContext e ICalculosTributoservice como Singleton gerou aumento de memória e conexões abertas ao banco.
Considerando o modelo de injeção de dependência e lifelimes do contêiner padrão do .NET, a combinação de lifetimes que é tecnicamente adequada para esse cenário é registrar FazendaDbContext como
scoped e ICalculoTributosBervice como Scoped, configurando o cliente HTTP com AddpgttpClient e injetando HttpClient no serviço.
Transient e ICalculoTributoService como Scoped, mantendo um HHpClient estático compartilhado em toda a aplicação.
scoped e ICalculoTributoservice como Transient, criando instâncias de HttpClient com new HttpClient () no construtor do serviço.
singleton & ICalculeTributoservice como scoped, injetando o contexto singleton em serviços escopados e usando AddHttpClient para o cliente HTTP.
Transient é ICalculoTributoservice como Transient, gerando um novo contexto e um novo HttpClient a cada resolução do serviço.
A plataforma .NET oferece diferentes modelos de programação para construção de aplicações, incluindo abordagens orientadas a serviços, padrões arquiteturais tradicionais e modelos baseados em páginas. Entre essas abordagens, algumas priorizam a separação estrita de responsabilidades, enquanto outras favorecem maior coesão entre interface e lógica.
Nesse contexto, assinale a opção que apresenta uma das principais características do modelo Razor Pages no ecossistema .NET.
Segue rigidamente a separação em camadas proposta pelo padrão MVC, exigindo a definição explícita de controllers para cada requisição.
Baseia-se em consultas declarativas com LINQ como mecanismo central de organização da lógica de aplicação e navegação entre páginas.
Implementa, de forma obrigatória, o padrão de APIs RESTful, sendo utilizado exclusivamente para exposição de serviços e manipulação de dados via HTTP.
Restringe a interação com outras camadas da aplicação, limitando seu uso à renderização estática de conteúdo sem acesso a serviços ou dados dinâmicos.
Adota uma abordagem orientada a páginas, na qual cada unidade de interface encapsula sua lógica associada, reduzindo a necessidade de separação explícita em controllers.
No desenvolvimento de aplicações ASPNET Web Forms, a função do comando Response. Redirect(“pagina.aspx”) é redirecionar o usuário para outra página com alteração da URL, encerrando a execução da página atual.
Certo
Errado
Em um serviço ASP.NET Core, fora de manipuladores de evento, qual é o retorno apropriado para métodos assíncronos, considerando observação de exceções, possibilidade de await pelo chamador e boas práticas de escalabilidade?
Preferir ValueTask/ValueTask<T> em todos os métodos para reduzir alocações; quando o método apenas “dispara e esquece”, usar async void para simplificar.
Reservar async void apenas para manipuladores de eventos; para métodos de serviço/repositório, retornar Task/Task<T>.
await não bloqueia, mas em ASP.NET Core o contexto é sempre recapturado; por isso, ConfigureAwait(false) é obrigatório para evitar deadlocks.
Para não “segurar” a thread de requisição, envolver todo I/O em Task.Run e retornar void quando não houver resultado.
Retornar Task quando houver resultado e async void quando não houver, já que o chamador não precisa aguardar.
Em um servidor ASP.NET Core, deseja-se fazer a captura global de exceções e correlação de logs por requisição. Qual configuração segue as recomendações oficiais?
A ordem dos middlewares é sempre irrelevante por definição da plataforma, pois o runtime intercepta uniformemente exceções, autenticação, compressão e roteamento independentemente da posição no pipeline.
UseDeveloperExceptionPage em produção para máxima visibilidade com stack trace ao usuário final.
ILogger <T> não é thread-safe, exigindo implementação própria para concorrência.
Não há suporte a logging estruturado, sendo necessário serializar objetos manualmente.
UseExceptionHandler configurado no topo do pipeline e logging estruturado com scopes/identificadores de correlação (Correlation IDs), preservando contexto por requisição.
No .NET 6, qual das alternativas abaixo apresenta a opção que deve ser adotada para reimplementar a interface web mantendo separação de responsabilidades?
Páginas HTML estáticas com CSS inline e lógica em stored procedures, reduzindo camadas de aplicação.
Windows Forms hospedado no navegador via WebView, preservando event handlers no servidor.
Silverlight e componentes AJAX legados, reaproveitando a lógica de UI existente.
Portabilidade direta do código Web Forms (System.Web, postbacks e view state) para o runtime do .NET 6.
ASP.NET Core MVC ou Razor Pages, usando modelos, ações/handlers e visões com DI, routing e validação do pipeline moderno.
Um sistema legado foi construído em .NET Framework 4.7, com interface em ASP.NET Web Forms e serviços SOAP via WCF. A equipe pretende migrar para uma plataforma mais moderna e multiplataforma (por exemplo, .NET 6 ou superior). Considerando apenas os recursos nativamente suportados na plataforma moderna (sem dependência de projetos comunitários), qual é um obstáculo técnico típico nessa migração?
ASP.NET Web Forms e WCF (hospedando serviços) não são suportados nativamente em .NET Core/.NET 5+, exigindo rearquitetura.
O .NET Framework possui suporte limitado a bibliotecas de terceiros, o que inviabiliza a compatibilidade com .NET Core.
Aplicações .NET Framework não executam em Windows, sendo obrigatório portar antes para Linux.
O .NET Core não possui garbage collector, o que impede migração de serviços de longa duração.
O .NET Framework é sempre mais lento que .NET Core em aplicações web, e por isso a migração é essencialmente um ganho de desempenho garantido.
Em aplicações ASP.NET Core, assinale a alternativa que apresenta o comportamento de um serviço registrado com o tempo de vida scoped no contêiner de injeção de dependência:
Uma nova instância é criada para cada controlador ou Razor Page que solicita o serviço.
Uma nova instância é criada a cada solicitação do serviço no contêiner de injeção de dependência.
Uma única instância é criada e mantida para toda a vida útil da aplicação.
Uma única instância do serviço é criada e mantida entre diferentes requisições que utilizam a mesma thread até que a aplicação termine a execução.
Uma nova instância é criada para cada requisição HTTP, sendo compartilhada entre os componentes no mesmo escopo da requisição.
Em uma interface de programação de aplicações (API) ASP.NET Core com Entity Framework Core (EF Core) em produção, deseja-se evitar concorrência indevida e dependência cativa envolvendo DbContext. Qual é a adequada configuração de lifetimes?
DbContext Scoped (por requisição Hypertext Transfer Protocol – HTTP) e repositórios também Scoped, garantindo instância isolada por request e evitando capturar serviços de vida curta em serviços de vida longa.
Registrar DbContext como Singleton por ser “thread-safe” e maximizar cache de primeiro nível, mantendo uma única instância global que “aproveita” o pool de conexões como parte do próprio contexto.
DbContext Transient com repositórios Singleton, usando repositórios como ponto central estável enquanto o contexto é recriado a cada injeção.
DbContext Singleton e ILogger Scoped, “equilibrando” persistência do contexto com logs por requisição, assumindo compartilhamento seguro de estado entre threads.
DbContext Scoped e loggers Transient “para capturar contexto por chamada”, partindo da premissa de que loggers devem variar de instância a cada log e que scopes não são suportados por logging Singleton.
Um sistema legado desenvolvido em .NET Framework precisa ser acessível a partir de uma aplicação móvel rodando em iOS e Android. A equipe decide expor as funcionalidades através de uma API REST. Qual seria a abordagem de desenvolvimento mais moderna e recomendada?
Manter a aplicação em .NET Framework e usar WCF para criar a API.
Replicar o banco de dados e criar uma nova API em Java.
Criar a API usando Web Forms, que é uma tecnologia robusta do .NET Framework.
Usar o .NET Framework para criar uma API SOAP, pois é mais seguro.
Migrar a lógica de negócio para uma nova API desenvolvida com ASP.NET Core (.NET 6+), garantindo desempenho e compatibilidade multiplataforma.
Em um controlador ASP.NET Core anotado com [ApiController], o endpoint POST /servidores recebe um JSON no corpo com um tipo complexo (ServidorDto) e parâmetros simples como unidadeId (na rota) e ativo (na query string). Qual é o padrão de origem de dados nessa configuração?
Em ações POST, o vinculador prioriza a query string; o corpo fica reservado a upload de arquivos. Para ler JSON, é preciso anotar tudo.
Com [ApiController], todo parâmetro sem atributo (inclusive os simples) é lido do corpo; valores de rota e query só funcionam quando duplicados com [FromRoute] e [FromQuery].
O atributo [FromBody] é obrigatório sempre que houver JSON; sem ele, tipos complexos e simples vêm como default, a menos que estejam em minimal APIs.
Em [ApiController], por padrão tipos complexos que não são resolvidos via injeção de dependência vêm do corpo (JSON), enquanto tipos simples são inferidos da rota e/ou da query string.
Métodos GET aceitam corpo por padrão; portanto, mesmo sem atributos, a inferência também será do corpo nesses casos.
Indique a alternativa que apresenta a implementação do .NET mais adequada para criação de aplicativos multiplataforma, que executam em Windows, Linux e macOS.
Xamarin
Mono
UWP
.NET 5+
.Net Framework
À luz das boas práticas de DI e lifetimes no ASP.NET Core, qual conjunto de correções alinha o projeto com dependências explícitas, testáveis e seguras para concorrência?
Manter ProcessingService e EmailSender como Singleton, trocando IOptionsSnapshot por IOptionsSnapshot (inalterado) e guardando um IServiceProvider interno para criar AppDbContext sob demanda; seguir com HttpClient direto e property injection em EmailSender.
Tornar tudo Transient para evitar estado compartilhado; injetar HttpClient estático por desempenho; manter Service Locator no controlador porque “flexibiliza” a resolução.
Usar injeção por construtor em todas as classes; registrar ProcessingService como Scoped; substituir HttpClient por IHttpClientFactory; usar IOptionsMonitor em singletons e IOptionsSnapshot apenas no escopo da requisição; no SyncWorker, criar um escopo por iteração com IServiceScopeFactory e resolver serviços Scoped dentro dele; em cenários de background que precisam de EF, preferir IDbContextFactory<AppDbContext>; remover property injection obrigatória e o Service Locator do controlador.
Promover AppDbContext a Singleton para casar com ProcessingService singleton; substituir IOptionsSnapshot por valores lidos de IConfiguration diretamente; manter HttpClient direto e injetar o ProcessingService no SyncWorker sem criação de escopos.
Trocar ProcessingService para Scoped, mas manter IOptionsSnapshot dentro de EmailSender Singleton; continuar com Service Locator apenas nos controladores e usar HttpClient direto, pois o AddHttpClient já foi chamado.
Em ASP.NET Core, a Injeção de Dependência é um recurso de primeira classe. Qual é o principal benefício de registrar um serviço com o tempo de vida "Scoped"?
Uma nova instância do serviço é criada a cada vez que ele é solicitado.
A mesma instância do serviço é usada para todas as requisições durante todo o ciclo de vida da aplicação.
O serviço é criado apenas em ambiente de desenvolvimento.
O serviço é otimizado para operações de longa duração em background.
A mesma instância do serviço é criada por requisição HTTP, mas compartilhada entre diferentes componentes dentro dessa mesma requisição.
Marque a alternativa correta sobre a linguagem que o código abaixo foi desenvolvido.
<form method="post" action="">
<label for="nome">Nome:</label>
<input type="text" id="nome" name="nome" required>
<input type="submit" value="Enviar">
</form>
<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
Dim nome
nome = Request.Form("nome")
Response.Write "Olá, " & nome & "! Bem-vindo ao nosso site."
End If
%>
Java
C++
Python
ASP
ASP.NET Core é um framework de desenvolvimento de software open-source desenvolvido pela Microsoft para construir aplicações web modernas e robustas. Ele é uma versão reescrita e mais aprimorada do ASP.NET.
Uma das principais vantagens da arquitetura modular do ASP.NET Core em comparação com o ASP.NET tradicional, para o desenvolvimento de aplicações web é
o uso exclusivo de bancos de dados relacionais.
a dependência de um servidor web específico, como o IIS.
o suporte para o desenvolvimento de aplicações apenas para Windows.
a possibilidade de criar aplicativos web de maneira cross-platform e modular.
a integração exclusiva com a linguagem C#.
O ASP.NET Core é uma tecnologia da Microsoft de código aberto, multiplataforma e alto desempenho para a criação de aplicativos conectados à Internet e aptos para a nuvem.
Sobre o ASP.NET Core, é correto afirmar que
não oferece suporte para hospedagem de serviços RPC.
Razor é um framework front-end baseado em componentes que suporta renderização do lado do servidor e interatividade do cliente em um único modelo de programação.
o ASP.NET 4.x possui desempenho superior ao ASP.NET Core.
a classe HttpRequest encapsula informações sobre a solicitação HTTP de entrada e permite somente leitura.
é possível implementar Injeção de dependência no ASP.NET Core registrando a dependência em um contêiner de serviço interno, o IServiceProvider.
.NET é uma plataforma de desenvolvimento de software criada pela Microsoft que fornece um conjunto de ferramentas, bibliotecas e serviços para criar e executar aplicativos e serviços. A plataforma é conhecida por seu suporte a várias linguagens de programação e por permitir o desenvolvimento de uma ampla variedade de aplicativos, desde aplicativos web até aplicativos desktop e móveis.
Uma das funcionalidades principais do Entity Framework (EF) no contexto de um aplicativo .NET reside no fato de que o Entity Framework
exige a criação manual de SQL para todas as operações de banco de dados.
é restrito ao uso com bancos de dados SQL Server apenas.
suporta o desenvolvimento de aplicações utilizando o padrão de Design MVC (Model-View-Controller).
oferece suporte para mapeamento objeto-relacional e permite interagir com bancos de dados usando objetos .NET.
não permite a realização de consultas complexas e avançadas sobre os dados.
ASP.NET é um framework desenvolvido pela Microsoft que estende a plataforma .NET. Nativamente, este framework possui suporte para processamento de requisições web feitas na linguagem
Assembly.
C#.
Lua.
R.
Swift.