Prévia do material em texto
DESENVOLVIMENTO DE SOFTWARE PARA INTERNET CONTEÚDO Revisar envio do teste: QUESTIONÁRIO UNIDADE III Curso DESENVOLVIMENTO DE SOFTWARE PARA INTERNET Teste QUESTIONÁRIO UNIDADE III Pergunta 1 0,25 em 0,25 pontos O que é o Entity Framework e qual é a sua principal função no desenvolvimento de aplicações com ASP.NET Core? Resposta b. Selecionada: Um ORM que permite trabalhar com bancos de dados usando objetos .NET, abstraindo a complexidade das operações de banco de dados. Respostas: a. Um framework para construir interfaces de usuário com C# e XAML. b. Um ORM que permite trabalhar com bancos de dados usando objetos .NET, abstraindo a complexidade das operações de banco de dados. C. Um servidor web integrado ao Visual Studio para teste de aplicações. d. Um sistema de controle de versão para projetos ASP.NET Core. e. Uma biblioteca para gerenciar contêineres e orquestrar microserviços. Comentário Resposta: da resposta: Comentário: Entity Framework é um Object-Relational Mapping (ORM) cuja principal função é permitir que os desenvolvedores trabalhem com bancos de dados utilizando objetos .NET, abstraindo a complexidade das operações de banco de dados. Em vez de escrever consultas SQL diretamente, os desenvolvedores podem utilizar as classes e objetos do Entity Framework para interagir com os dados de uma maneira mais intuitiva e natural. Essa abstração facilita a criação, leitura, atualização e exclusão de dados (CRUD) dentro de uma aplicação, permitindo que os desenvolvedores se concentrem mais na lógica de negócios e menos nos detalhes específicos do banco de dados. Entity Framework gerencia automaticamente as relações entre as entidades e gera as consultas SQL necessárias para interagir com banco de dados subjacente. Além disso, ele oferece suporte a migrações, que ajudam a versionar esquema do banco de dados conforme modelo da aplicação evolui.Pergunta 2 0,25 em 0,25 pontos Qual é a principal vantagem de usar contêineres Docker ao desenvolver e implantar aplicações ASP.NET Core? Resposta Selecionada: Garantir consistência entre os ambientes de desenvolvimento, teste e produção encapsulando a aplicação e suas dependências em um único objeto. Respostas: a. Permitir uso de linguagens de programação dinâmicas dentro do ASP.NET Core. b. Facilitar a integração com bancos de dados NoSQL. C. Garantir consistência entre os ambientes de desenvolvimento, teste e produção encapsulando a aplicação e suas dependências em um único objeto. d. Aumentar a velocidade de execução das consultas SQL. e. Melhorar a segurança dos dados armazenados no banco de dados. Comentário da Resposta: resposta: Comentário: Contêineres Docker encapsulam a aplicação e suas dependências em um único objeto, garantindo consistência entre os ambientes de desenvolvimento, teste e produção, eliminando problemas de compatibilidade. Pergunta 3 0,25 em 0,25 pontos Qual é papel do DbContext no Entity Framework Core? Resposta Selecionada: b. Facilitar a interação entre a aplicação e banco de dados, gerenciando as entidades durante tempo de execução. Respostas: a. Configurar rotas amigáveis em aplicações ASP.NET Core. b. Facilitar a interação entre a aplicação e banco de dados, gerenciando as entidades durante tempo de execução.Gerenciar a autenticação e autorização de usuários em aplicações web. d. Realizar a compilação de código C# em tempo real. e. Integrar aplicações ASP.NET Core com serviços de mensageria. Comentário Resposta: B da resposta: Comentário: O DbContext no Entity Framework Core tem um papel fundamental de facilitar a interação entre a aplicação e banco de dados, gerenciando as entidades durante o tempo de execução. Ele serve como a principal classe através da qual os desenvolvedores configuram e acessam os dados do banco de dados, definindo as entidades e suas relações, bem como configurando comportamento das operações de CRUD. Ele também gerencia a rastreabilidade das mudanças feitas nas entidades, garantindo que as operações de salvamento e atualização sejam corretamente refletidas no banco de dados. Dessa forma, abstrai grande parte da complexidade envolvida na comunicação com o banco de dados, permitindo que os desenvolvedores se concentrem mais na lógica de negócios da aplicação. Pergunta 4 0,25 em 0,25 pontos Qual é principal benefício do uso de migrations no Entity Framework Core? Resposta Selecionada: b. Permitir a atualização do esquema do banco de dados de forma programática e controlada. Respostas: a. Facilitar a autenticação de usuários em aplicações web. b. Permitir a atualização do esquema do banco de dados de forma programática e controlada. Melhorar desempenho das consultas LINQ. d. Automatizar a criação de interfaces de usuário. e. Integrar aplicações com serviços de pagamento online. Comentário da Resposta: resposta: Comentário: Migrations no Entity Framework Core permitem a atualização do esquema do banco de dados de forma programática e controlada, eliminando a necessidade de ajustar esquemas manualmente.Pergunta 5 0,25 em 0,25 pontos No contexto de deploy de aplicações ASP.NET Core, qual é uma vantagem significativa de usar serviços de cloud computing como Azure, AWS ou Google Cloud? Resposta Selecionada: C. Automatizar várias tarefas de deploy oferecendo serviços adicionais, como balanceamento de carga e auto-scaling. Respostas: a. Melhorar a legibilidade do código fonte. b. Facilitar a criação de interfaces de usuário dinâmicas. C. Automatizar várias tarefas de deploy oferecendo serviços adicionais, como balanceamento de carga e auto-scaling. d. Garantir a compatibilidade com todas as versões do ASP.NET Core. e. Integrar diretamente com serviços de pagamento online. Comentário da Resposta: resposta: Comentário: Serviços de cloud computing como Azure, AWS e Google Cloud automatizam várias tarefas de deploy e oferecem serviços adicionais, como balanceamento de carga e auto-scaling, melhorando a eficiência e a escalabilidade das aplicações. Pergunta 6 0,25 em 0,25 pontos Qual é a importância do uso de caching em aplicações web desenvolvidas com ASP.NET Core? Resposta Selecionada: Reduzir tempo de resposta das aplicações, minimizando a necessidade de operações dispendiosas como consultas frequentes ao banco de dados. Respostas: a. Melhorar a segurança dos dados.b. Facilitar a integração com serviços de autenticação. Reduzir tempo de resposta das aplicações, minimizando a necessidade de operações dispendiosas como consultas frequentes ao banco de dados. d. Garantir a compatibilidade com diferentes navegadores web. e. Automatizar a geração de documentação para APIs. Comentário Resposta: da resposta: Comentário: A importância do uso de caching em aplicações web desenvolvidas com ASP.NET Core reside principalmente na capacidade de reduzir tempo de resposta das aplicações, minimizando a necessidade de operações dispendiosas como consultas frequentes ao banco de dados. Caching armazena dados temporariamente em memória, permitindo que informações frequentemente acessadas sejam recuperadas mais rapidamente sem a necessidade de recalcular ou refazer consultas complexas. Essa característica melhora significativamente a performance e a escalabilidade da aplicação, reduzindo a carga no banco de dados e nos recursos do servidor, proporcionando uma experiência de usuário mais fluida e eficiente. Pergunta 7 0,25 em 0,25 pontos Qual é uma das principais vantagens da arquitetura de microserviços no desenvolvimento com ASP.NET Core? Resposta Selecionada: b. Facilitação na implantação e atualização de serviços de forma independente. Respostas: a. Redução do tempo de execução de consultas SQL. b. Facilitação na implantação e atualização de serviços de forma independente. Simplificação da criação de interfaces de usuário dinâmicas. d. Melhoria na integração com bancos de dados NoSQL. e. Aumento da compatibilidade com diferentes navegadores web. Comentário da Resposta: resposta: Comentário: A arquitetura de microserviços permite a implantação e atualização de serviços de forma independente, que facilita a manutenção e escalabilidade da aplicação.Pergunta 8 0,25 em 0,25 pontos Qual é a principal diferença entre integração contínua (CI) e entrega contínua (CD) no contexto do desenvolvimento de software? Resposta Selecionada: b. CI automatiza a integração de código, enquanto CD automatiza a entrega de código aos ambientes de teste e produção. Respostas: a. CI se concentra em testes unitários, enquanto CD foca testes de integração. b. CI automatiza a integração de código, enquanto CD automatiza a entrega de código aos ambientes de teste e produção. C. CI é uma prática de desenvolvimento ágil, enquanto CD é uma prática de desenvolvimento waterfall. d. CI requer infraestrutura em nuvem, enquanto CD é executado em servidores locais. e. CI melhora a segurança do código, enquanto CD otimiza o desempenho do código. Comentário da Resposta: B resposta: Comentário: A integração contínua (CI) automatiza a integração de código novo e modificado, enquanto a entrega contínua (CD) automatiza a entrega do código aos ambientes de teste e produção. Pergunta 9 0,25 em 0,25 pontos Em uma arquitetura de microserviços, qual é um benefício significativo da comunicação assíncrona entre os serviços? Resposta Selecionada: C. Melhoria na escalabilidade e resiliência, permitindo que serviços falhem e se recuperem independentemente. Respostas: a. Redução do uso de bibliotecas externas. b. Eliminação da necessidade de autenticação entre serviços.Melhoria na escalabilidade e resiliência, permitindo que serviços falhem e se recuperem independentemente. d. Facilitação na implementação de interfaces de usuário responsivas. e. Aumento da compatibilidade com sistemas legados. Comentário da Resposta: resposta: Comentário: A comunicação assíncrona melhora a escalabilidade e resiliência, pois permite que os serviços falhem e se recuperem independentemente, sem afetar sistema como um todo. Pergunta 10 0,25 em 0,25 pontos que caracteriza a abordagem serverless no desenvolvimento com ASP.NET Core? Resposta Selecionada: C. Execução de código em resposta a eventos sem necessidade de gerenciar servidores. Respostas: a. Implementação de servidores dedicados para cada serviço. b. Foco na criação de interfaces de usuário dinâmicas sem backend. C. Execução de código em resposta a eventos sem necessidade de gerenciar servidores. d. Utilização de servidores locais para hospedar aplicações. e. Redução da capacidade de escalabilidade automática. Comentário da Resposta: resposta: Comentário: A abordagem serverless permite a execução de código em resposta a eventos, eliminando a necessidade de gerenciar servidores, o que melhora a eficiência e escalabilidade. OK