As 31 principais perguntas da entrevista MVC & Respostas

Anonim

baixar PDF

1) Explique o que é Model-View-Controller?

MVC é um padrão de arquitetura de software para o desenvolvimento de aplicativos da web. É manipulado por três objetos Model-View-Controller.

2) Mencione o que Model-View-Controller representa em uma aplicação MVC?

Em um modelo MVC,

  • Modelo - representa o domínio de dados do aplicativo. Em outras palavras, a lógica de negócios dos aplicativos está contida no modelo e é responsável por manter os dados
  • Exibir - representa a interface do usuário com a qual os usuários finais se comunicam. Resumindo, toda a lógica da interface do usuário está contida no VIEW
  • Controlador - é o controlador que responde às ações do usuário. Com base nas ações do usuário, o respectivo controlador responde dentro do modelo e escolhe uma visualização para renderizar que exibe a interface do usuário. A lógica de entrada do usuário está contida no controlador

3) Explique em qual assembly o framework MVC é definido?

A estrutura MVC é definida em System.Web.Mvc.

4) Liste alguns tipos de retorno diferentes de um método de ação do controlador?

  • Ver Resultado
  • Resultado de Javascript
  • Resultado de redirecionamento
  • Resultado Json
  • Resultado de Conteúdo

5) Mencione qual é a diferença entre adicionar rotas a uma aplicação webform e a uma aplicação MVC?

Para adicionar rotas a um aplicativo de formulário da web, podemos usar o método MapPageRoute () da classe RouteCollection, onde adicionar rotas a um aplicativo MVC, você pode usar o método MapRoute ().

6) Mencione quais são as duas maneiras de adicionar restrições a uma rota?

Os dois métodos para adicionar restrições a uma rota são

  • Use expressões regulares
  • Use um objeto que implemente a interface IRouteConstraint

7) Mencione quais são as vantagens do MVC?

  • MVC separa seu projeto em um segmento diferente, e torna-se fácil para os desenvolvedores trabalharem
  • É fácil editar ou alterar alguma parte do seu projeto que torna o projeto menos custo de desenvolvimento e manutenção
  • MVC torna seu projeto mais sistemático

8) Mencione o que as funções "beforFilter ()", "beforeRender" e "afterFilter" fazem no Controller?

  • beforeFilter (): Esta função é executada antes de cada ação no controlador. É o lugar certo para verificar se há uma sessão ativa ou inspecionar as permissões do usuário.
  • beforeRender (): Esta função é chamada após a lógica de ação do controlador, mas antes que a visualização seja renderizada. Esta função não é usada com frequência, mas pode ser necessária Se você estiver chamando render () manualmente antes do final de uma determinada ação
  • afterFilter (): Esta função é chamada após cada ação do controlador e após a renderização. É o último método do controlador a ser executado

9) Explicar o papel dos componentes Apresentação, Abstração e Controle no MVC?

  • Apresentação: É a representação visual de uma abstração específica dentro do aplicativo
  • Abstração: é a funcionalidade do domínio de negócios dentro do aplicativo
  • Controle: É um componente que mantém a consistência entre a abstração dentro do sistema e sua apresentação ao usuário, além de se comunicar com outros controles dentro do sistema

10) Menciona as vantagens e desvantagens do modelo MVC?

Vantagens

Desvantagens

  • Representa uma separação clara entre a lógica de negócios e a lógica de apresentação
  • Cada objeto MVC tem responsabilidades diferentes
  • O desenvolvimento avança em paralelo
  • Fácil de gerenciar e manter
  • Todas as classes e objetos são independentes uns dos outros
  • O padrão do modelo é um pouco complexo
  • Ineficiência de acesso a dados em vista
  • Com interface de usuário moderna, é difícil usar MVC
  • Você precisa de vários programadores para desenvolvimento paralelo
  • É necessário conhecimento de várias tecnologias

11) Explique a função de "ActionFilters" no MVC?

Em MVC "ActionFilters" ajuda a executar a lógica enquanto a ação MVC é executada ou sua execução.

12) Explique quais são as etapas para a execução de um projeto MVC?

As etapas para a execução de um projeto MVC incluem

  • Receba o primeiro pedido para o aplicativo
  • Executa o roteamento
  • Cria manipulador de solicitação MVC
  • Criar controlador
  • Executar controlador
  • Invocar ação
  • Resultado da Execução

13) Explique o que é roteamento? Quais são os três segmentos para o roteamento é importante?

O roteamento ajuda você a decidir uma estrutura de URL e mapear a URL com o Controlador.

Os três segmentos que são importantes para o roteamento são

  • Nome do controlador
  • ActionMethodName
  • Parâmetro

14) Explique como o roteamento é feito no padrão MVC?

Existe um grupo de rotas denominado RouteCollection, que consiste em rotas cadastradas no aplicativo. O método RegisterRoutes registra as rotas nesta coleção. Uma rota define um padrão de URL e um manipulador a ser usado se a solicitação corresponder ao padrão. O primeiro parâmetro do método MapRoute é o nome da rota. O segundo parâmetro será o padrão ao qual o URL corresponde. O terceiro parâmetro pode ser os valores padrão para os marcadores de posição, se eles não forem determinados.

15) Explique usando hiperlink como você pode navegar de uma visão para outra?

Usando o método "ActionLink" conforme mostrado no código abaixo. O código a seguir criará uma URL simples que ajuda a navegar até o controlador "Home" e invocar a ação "GotoHome".

Recolher / Copiar código

<% = Html.ActionLink ("Home", "Gotohome")%>

16) Mencione como posso manter a sessão no MVC?

A sessão pode ser mantida em MVC de três maneiras: tempdata, viewdata e viewbag.

17) Mencione qual é a diferença entre os dados Temp, View e View Bag?

  • Dados Temp: Ajuda a manter os dados quando você muda de um controlador para outro controlador.
  • Ver dados: ajuda a manter os dados quando você passa do controlador para o modo de exibição
  • View Bag: é um wrapper dinâmico em torno dos dados de visualização

18) O que é visualização parcial no MVC?

A visualização parcial em MVC renderiza uma parte do conteúdo da visualização. É útil para reduzir a duplicação de código. Em termos simples, a vista parcial permite renderizar uma vista dentro da vista principal.

19) Explique como você pode implementar Ajax em MVC?

Em MVC, Ajax pode ser implementado de duas maneiras

  • Bibliotecas Ajax
  • Jquery

20) Mencione qual é a diferença entre "ActionResult" e "ViewResult"?

"ActionResult" é uma classe abstrata, enquanto "ViewResult" é derivado da classe "AbstractResult". "ActionResult" tem várias classes derivadas como "JsonResult", "FileStreamResult" e "ViewResult".

"ActionResult" é melhor se você estiver derivando diferentes tipos de visualização dinamicamente.

21) Explique como você pode enviar o resultado de volta no formato JSON em MVC?

Para enviar o resultado de volta no formato JSON no MVC, você pode usar a classe "JSONRESULT".

22) Explique qual é a diferença entre View e Partial View?

Visualizar

Vista Parcial

  • Ele contém a página de layout
  • Antes de qualquer visualização ser renderizada, a página viewstart é renderizada
  • A visualização pode ter tags de marcação como body, html, head, title, meta etc.
  • A vista não é leve em comparação com a vista parcial
  • Não contém a página de layout
  • A visualização parcial não verifica para um viewstart.cshtml. Não podemos colocar um código comum para uma visualização parcial em viewStart.cshtml.page
  • A vista parcial é projetada especialmente para renderizar dentro da vista e, por isso, não contém nenhuma marcação
  • Podemos passar uma visão normal para o método RenderPartial

23) Listar os tipos de resultado em MVC?

Em MVC, existem doze tipos de resultados em MVC onde a classe "ActionResult" é a classe principal, enquanto os 11 são seus subtipos

  • ViewResult
  • PartialViewResult
  • EmptyResult
  • RedirectResult
  • RedirectToRouteResult
  • JsonResult
  • JavaScriptResult
  • ContentResult
  • FileContentResult
  • FileStreamResult
  • FilePathResult

24) Mencione qual é a importância de NonActionAttribute?

Todos os métodos públicos de uma classe de controlador são tratados como o método de ação. Se você quiser evitar esse método padrão, será necessário atribuir o método público com NonActionAttribute.

25) Mencione qual é o uso da rota padrão {resource} .axd / {* pathinfo}?

Essa rota padrão evita que a solicitação de um arquivo de recurso da web, como Webresource.axd ou ScriptResource.axd, seja passada para o controlador.

26) Mencionar a ordem dos filtros que são executados, se os filtros múltiplos forem implementados?

A ordem do filtro seria como

  • Filtros de autorização
  • Filtros de ação
  • Filtros de resposta
  • Filtros de exceção

27) Mencione quais filtros são executados no final?

No final, os "Filtros de exceção" são executados.

28) Mencione quais são as extensões de arquivo para visualizações de navalha?

Para visualizações de navalha, as extensões de arquivo são

  • .cshtml: se C # for a linguagem de programação
  • .vbhtml: Se VB for a linguagem de programação

29) Mencione quais são as duas maneiras de adicionar restrições a uma rota?

Dois métodos para adicionar restrições à rota são

  • Usando expressões regulares
  • Usando um objeto que implementa a interface IRouteConstraint

30) Mencionar duas instâncias onde o roteamento não é implementado ou necessário?

Duas instâncias em que o roteamento não é necessário são

  • Quando um arquivo físico é encontrado que corresponda ao padrão de URL
  • Quando o roteamento está desativado para um padrão de URL

31) Mencione quais são os principais benefícios do uso do MVC?

Existem dois benefícios principais de usar MVC

  • Como o código é movido para trás de um arquivo de classe separado, você pode usar o código em grande medida
  • Como o código atrás é simplesmente movido para a classe .NET, é possível automatizar o teste de IU. Isso dá a oportunidade de automatizar o teste manual e escrever testes de unidade.