Las 31 preguntas principales de la entrevista MVC y amp; Respuestas

Anonim

Descargar PDF

1) Explique qué es Model-View-Controller.

MVC es un patrón de arquitectura de software para desarrollar aplicaciones web. Es manejado por tres objetos Modelo-Vista-Controlador.

2) Mencione qué representa Model-View-Controller en una aplicación MVC.

En un modelo MVC,

  • Modelo : representa el dominio de datos de la aplicación. En otras palabras, la lógica empresarial de las aplicaciones está contenida dentro del modelo y es responsable de mantener los datos.
  • Vista : representa la interfaz de usuario con la que se comunican los usuarios finales. En resumen, toda la lógica de la interfaz de usuario está contenida dentro de la VISTA
  • Controlador : es el controlador que responde a las acciones del usuario. Según las acciones del usuario, el controlador respectivo responde dentro del modelo y elige una vista para renderizar que muestre la interfaz de usuario. La lógica de entrada del usuario está contenida dentro del controlador

3) Explique en qué ensamblado se define el marco MVC.

El marco MVC se define en System.Web.Mvc.

4) ¿Enumere algunos tipos de retorno diferentes de un método de acción del controlador?

  • Ver resultado
  • Resultado de Javascript
  • Resultado de redireccionamiento
  • Resultado de Json
  • Resultado del contenido

5) Mencione cuál es la diferencia entre agregar rutas a una aplicación de formulario web y una aplicación MVC.

Para agregar rutas a una aplicación de formulario web, podemos usar el método MapPageRoute () de la clase RouteCollection, donde al agregar rutas a una aplicación MVC, puede usar el método MapRoute ().

6) Mencione cuáles son las dos formas de agregar restricciones a una ruta.

Los dos métodos para agregar restricciones a una ruta son

  • Usa expresiones regulares
  • Utilice un objeto que implemente la interfaz IRouteConstraint

7) Mencione cuáles son las ventajas de MVC.

  • MVC segrega su proyecto en un segmento diferente, y es fácil para los desarrolladores trabajar en
  • Es fácil editar o cambiar alguna parte de su proyecto, lo que hace que el proyecto tenga menos costos de desarrollo y mantenimiento
  • MVC hace que su proyecto sea más sistemático

8) Mencione lo que hacen las funciones "beforFilter ()", "beforeRender" y "afterFilter" en Controller.

  • beforeFilter (): esta función se ejecuta antes de cada acción en el controlador. Es el lugar adecuado para comprobar si hay una sesión activa o inspeccionar los permisos de los usuarios.
  • beforeRender (): esta función se llama después de la lógica de acción del controlador, pero antes de que se procese la vista. Esta función no se usa con frecuencia, pero puede ser necesaria si está llamando a render () manualmente antes del final de una acción determinada
  • afterFilter (): esta función se llama después de cada acción del controlador y después de que se realiza el renderizado. Es el último método de controlador que se ejecuta

9) ¿Explica el papel de los componentes Presentación, Abstracción y Control en MVC?

  • Presentación: Es la representación visual de una abstracción específica dentro de la aplicación.
  • Abstracción: es la funcionalidad del dominio empresarial dentro de la aplicación.
  • Control: Es un componente que mantiene la coherencia entre la abstracción dentro del sistema y su presentación al usuario además de comunicarse con otros controles dentro del sistema.

10) ¿Menciona las ventajas y desventajas del modelo MVC?

Ventajas

Desventajas

  • Representa una clara separación entre la lógica empresarial y la lógica de presentación.
  • Cada objeto MVC tiene diferentes responsabilidades
  • El desarrollo avanza en paralelo
  • Fácil de administrar y mantener
  • Todas las clases y objetos son independientes entre sí.
  • El patrón del modelo es poco complejo.
  • La ineficiencia del acceso a los datos a la vista
  • Con una interfaz de usuario moderna, es difícil usar MVC
  • Necesita múltiples programadores para el desarrollo paralelo
  • Se requiere conocimiento de múltiples tecnologías

11) ¿Explica el papel de "ActionFilters" en MVC?

En MVC, "ActionFilters" le ayuda a ejecutar la lógica mientras se ejecuta la acción MVC o se está ejecutando.

12) Explique cuáles son los pasos para la ejecución de un proyecto MVC.

Los pasos para la ejecución de un proyecto MVC incluyen

  • Reciba la primera solicitud de la aplicación
  • Realiza enrutamiento
  • Crea el controlador de solicitudes MVC
  • Crear controlador
  • Ejecutar controlador
  • Invocar acción
  • Resultado de ejecución

13) Explique qué es el enrutamiento. ¿Cuáles son los tres segmentos para el enrutamiento importante?

El enrutamiento le ayuda a decidir una estructura de URL y a asignar la URL con el controlador.

Los tres segmentos que son importantes para el enrutamiento son

  • ControllerName
  • ActionMethodName
  • Parámetro

14) Explique cómo se realiza el enrutamiento en el patrón MVC.

Existe un grupo de rutas llamado RouteCollection, que consta de rutas registradas en la aplicación. El método RegisterRoutes registra las rutas en esta colección. Una ruta define un patrón de URL y un controlador para usar si la solicitud coincide con el patrón. El primer parámetro del método MapRoute es el nombre de la ruta. El segundo parámetro será el patrón con el que coincide la URL. El tercer parámetro pueden ser los valores predeterminados para los marcadores de posición si no están determinados.

15) Explique mediante hipervínculo cómo puede navegar de una vista a otra.

Utilizando el método "ActionLink" como se muestra en el siguiente código. El siguiente código creará una URL simple que ayudará a navegar al controlador "Inicio" e invocará la acción "GotoHome".

Contraer / Copiar código

<% = Html.ActionLink ("Inicio", "Ir a inicio")%>

16) Mencione cómo se puede mantener la sesión en MVC.

La sesión se puede mantener en MVC de tres formas: tempdata, viewdata y viewbag.

17) Mencione cuál es la diferencia entre Datos temporales, Ver y Ver bolsa.

  • Datos temporales: ayuda a mantener los datos cuando se cambia de un controlador a otro.
  • Ver datos: ayuda a mantener los datos cuando se pasa del controlador a la vista
  • View Bag: es un contenedor dinámico alrededor de los datos de la vista

18) ¿Qué es la vista parcial en MVC?

La vista parcial en MVC representa una parte del contenido de la vista. Es útil para reducir la duplicación de códigos. En términos simples, la vista parcial permite renderizar una vista dentro de la vista principal.

19) Explique cómo puede implementar Ajax en MVC.

En MVC, Ajax se puede implementar de dos maneras

  • Bibliotecas Ajax
  • Jquery

20) Mencione cuál es la diferencia entre "ActionResult" y "ViewResult".

"ActionResult" es una clase abstracta, mientras que "ViewResult" se deriva de la clase "AbstractResult". "ActionResult" tiene varias clases derivadas como "JsonResult", "FileStreamResult" y "ViewResult".

"ActionResult" es mejor si deriva diferentes tipos de vista de forma dinámica.

21) Explique cómo puede enviar el resultado en formato JSON en MVC.

Para enviar el resultado en formato JSON en MVC, puede usar la clase "JSONRESULT".

22) Explique cuál es la diferencia entre Vista y Vista parcial.

Vista

Vista parcial

  • Contiene la página de diseño
  • Antes de que se procese cualquier vista, se procesa la página de inicio de vista
  • La vista puede tener etiquetas de marcado como cuerpo, html, encabezado, título, meta, etc.
  • La vista no es liviana en comparación con la vista parcial
  • No contiene la página de diseño.
  • La vista parcial no se verifica para viewstart.cshtml. No podemos poner código común para una vista parcial dentro de viewStart.cshtml.page
  • La vista parcial está diseñada especialmente para renderizar dentro de la vista y solo por eso no consiste en ninguna marca.
  • Podemos pasar una vista normal al método RenderPartial

23) ¿Enumere los tipos de resultado en MVC?

En MVC, hay doce tipos de resultados en MVC donde la clase "ActionResult" es la clase principal mientras que los 11 son sus subtipos.

  • Ver resultado
  • PartialViewResult
  • EmptyResult
  • RedirectResult
  • RedirectToRouteResult
  • JsonResult
  • JavaScriptResult
  • ContentResult
  • FileContentResult
  • FileStreamResult
  • FilePathResult

24) Mencione cuál es la importancia de NonActionAttribute?

Todos los métodos públicos de una clase de controlador se tratan como el método de acción si desea evitar este método predeterminado, entonces debe asignar el método público con NonActionAttribute.

25) Mencione cuál es el uso de la ruta predeterminada {resource} .axd / {* pathinfo}.

Esta ruta predeterminada evita que la solicitud de un archivo de recursos web como Webresource.axd o ScriptResource.axd se pase al controlador.

26) Mencione el orden de los filtros que se ejecutan, si se implementan los filtros múltiples.

El orden del filtro sería como

  • Filtros de autorización
  • Filtros de acción
  • Filtros de respuesta
  • Filtros de excepción

27) ¿Mencionar qué filtros se ejecutan al final?

Al final, se ejecutan los "filtros de excepción".

28) Mencione cuáles son las extensiones de archivo para las vistas de maquinilla de afeitar.

Para las vistas de maquinilla de afeitar, las extensiones de archivo son

  • .cshtml: si C # es el lenguaje de programación
  • .vbhtml: si VB es el lenguaje de programación

29) Mencione cuáles son las dos formas de agregar restricciones a una ruta.

Dos métodos para agregar restricciones a la ruta son

  • Usando expresiones regulares
  • Usando un objeto que implementa la interfaz IRouteConstraint

30) Mencione dos casos en los que el enrutamiento no está implementado o no es necesario.

Dos instancias en las que no se requiere enrutamiento son

  • Cuando se encuentra un archivo físico que coincide con el patrón de URL
  • Cuando el enrutamiento está deshabilitado para un patrón de URL

31) Mencione cuáles son los principales beneficios de usar MVC.

Hay dos beneficios clave de usar MVC

  • A medida que el código se mueve detrás de un archivo de clase separado, puede usar el código en gran medida
  • Como el código subyacente simplemente se mueve a la clase .NET, es posible automatizar las pruebas de IU. Esto brinda la oportunidad de automatizar las pruebas manuales y escribir pruebas unitarias.