Las 55 preguntas y respuestas principales de la entrevista de MVC (PDF)

Aquí hay preguntas de la entrevista de MVC para que los candidatos más nuevos y experimentados consigan el trabajo de sus sueños.

 

Preguntas y respuestas de la entrevista de MVC para principiantes

1) ¿Qué es Modelo-Vista-Controlador?

MVC es un patrón de arquitectura de software para desarrollar aplicaciones web. Se maneja mediante tres objetos: Modelo, Vista y Controlador.

👉 Descarga gratuita de PDF: Preguntas y respuestas de la entrevista de MVC


2) ¿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 una aplicación está contenida dentro del modelo y es responsable de mantener los datos.
  • Ver– 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 en View.
  • Controlador- Es el controlador el que responde a las acciones del usuario. En función de las acciones del usuario, el controlador respectivo responde dentro del modelo y elige una vista para renderizar que muestra la interfaz de usuario. La lógica de entrada del usuario está contenida dentro del controlador.

3) Nombra el ensamblado para definir MVC

Un espacio para hacer una pausa, reflexionar y reconectarse en privado. Marco MVC se define en el ensamblado System.Web.Mvc.


4) ¿Cuáles son los diferentes tipos de retorno de un método de acción del controlador?

A continuación se muestran diferentes tipos de devolución de un método de acción del controlador:

  • Ver resultado
  • JavaResultado del script
  • Resultado de redirección
  • Resultado JSON
  • Resultado del contenido

5) ¿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, usamos el método MapPageRoute() de la clase RouteCollection, mientras que para agregar rutas a una aplicación MVC, usamos el método MapRoute().


6) ¿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) ¿Cuáles son las ventajas de MVC?

  • MVC segrega su proyecto en un segmento diferente y resulta fácil para los desarrolladores trabajar en él.
  • Es fácil editar o cambiar alguna parte de su proyecto, lo que se traduce en un menor costo de desarrollo y mantenimiento del proyecto.
  • MVC hace que su proyecto sea más sistemático
  • 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í.

8) ¿Qué hacen las funciones “beforeFilter()”, “beforeRender” y “afterFilter” en el Controlador?

  • antes del filtro(): 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.
  • antes de renderizar(): Esta función se llama después de la lógica de acción del controlador, pero antes de que se represente la vista. Esta función no se usa con frecuencia, pero puede ser necesaria si llama a render() manualmente antes del final de una acción determinada.
  • después del filtro(): Esta función se llama después de cada acción del controlador y una vez finalizada la renderización. Es el último método de controlador que se ejecuta.

9) ¿Cuál es el papel de los componentes Presentación, Abstracción y Control en MVC?

Aquí está 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.
  • Controlar: 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) ¿Cuáles son los inconvenientes del modelo MVC?

Aquí hay algunos inconvenientes importantes del modelo MVC:

  • El patrón del modelo es un poco complejo.
  • Ineficiencia del acceso a los datos a la vista.
  • Con una interfaz de usuario moderna, es difícil utilizar MVC.
  • Necesita varios programadores para el desarrollo paralelo.
  • Se requieren conocimientos de múltiples tecnologías.

11) ¿Cuál es el papel de los "ActionFilters" en MVC?

En MVC, los "ActionFilters" le ayudan a ejecutar la lógica mientras se ejecuta o se ejecuta la acción MVC.


12) ¿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.
  • Realizar enrutamiento
  • Crear un controlador de solicitudes MVC
  • Crear controlador
  • Ejecutar controlador
  • Invocar acción
  • Ejecutar resultado

13) ¿Qué es el enrutamiento y los tres segmentos?

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

Los tres segmentos que son importantes para el enrutamiento son:

  • Nombre del controlador
  • Nombre del método de acción
  • Parámetro

14) ¿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 de esta colección. Una ruta define un patrón de URL y un controlador que se utilizará 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 podrían ser los valores predeterminados para los marcadores de posición si no están determinados.


15) ¿Cómo se puede navegar de una vista a otra usando un hipervínculo?

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 hasta el controlador "Inicio" e invocar la acción "GotoHome".

Contraer/Copiar código

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

Preguntas y respuestas de la entrevista de MVC para experimentados

16) ¿Cómo se mantienen las sesiones en MVC?

Las sesiones se pueden mantener en MVC de tres formas: tempdata, viewdata y viewbag.


17) ¿Cuál es la diferencia entre datos temporales, ver datos 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 pasa del controlador a la vista.
  • Ver Bolsa: Es un contenedor dinámico alrededor de los datos de visualización.

18) ¿Qué es una 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ódigo. En términos simples, la vista parcial permite representar una vista dentro de la vista principal.


19) ¿Cómo se puede implementar Ajax en MVC?

En MVC, Ajax se puede implementar de dos maneras.

  • bibliotecas ajax
  • Jquery

20) ¿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 obtiene diferentes tipos de vistas de forma dinámica.


21) ¿Cómo se puede enviar el resultado en formato JSON en MVC?

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


22) ¿Cuál es la diferencia entre Vista y Vista Parcial?

Aquí está la diferencia entre Vista y Vista Parcial

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

23) ¿Cuáles son los tipos de resultados en MVC?

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

  • Ver resultado
  • Resultado de vista parcial
  • Resultado vacío
  • Resultado de redirección
  • Redirigir al resultado de la ruta
  • JsonResultado
  • JavaResultado del script
  • ContenidoResultado
  • ResultadoContenidoArchivo
  • Resultado de flujo de archivos
  • Resultado de ruta de archivo

24) ¿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, debe asignar el método público con NonActionAttribute.


25) ¿Cuál es el uso de la ruta predeterminada {resource}.axd/{*pathinfo}?

La ruta predeterminada evita que las solicitudes de un archivo de recursos web como Webresource.axd o ScriptResource.axd se pasen al controlador.


26) ¿Cuál es el orden de los filtros que se ejecutan si se implementan varios filtros?

El orden de los filtros sería como:

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

27) ¿Qué filtros ASP.NET se ejecutan al final?

Al final se ejecutan los “Filtros de excepción”.


28) ¿Cuáles son las extensiones de archivo para vistas de afeitar?

Para vistas nítidas, las extensiones de archivo son

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

29) ¿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) ¿Cuáles son dos casos en los que el enrutamiento no se implementa o no se requiere?

Dos casos en los 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

Preguntas de la entrevista de MVC para 5 años de experiencia

31) ¿Cuáles son las características de MVC?

Estas son las características de MVC:

  • Comprobabilidad sencilla y sin fricciones. Marco altamente comprobable, extensible y conectable.
  • Ofrece control total sobre su HTML y sus URL.
  • Aprovecha las funciones existentes proporcionadas por ASP.NET, JSP, Django, etc.
  • Clara separación de lógica: Modelo, Vista, Controlador. Separación de tareas de aplicaciones mediante lógica empresarial, lógica Ul y lógica de entrada.
  • Enrutamiento de URL para URL compatibles con SEO. Potente mapeo de URL para URL comprensibles y con capacidad de búsqueda.
  • Soporte para Test Driven Development (TDD).

32) ¿Cuáles son los ejemplos de la vida real de MVC?

Aquí hay un ejemplo de la vida real de MVC:

  • Supongamos que vas a un restaurante. No irás a la cocina a preparar comida, lo que seguramente podrás hacer en tu casa. En lugar de eso, simplemente vaya allí y espere a que llegue el camarero.
  • Ahora el camarero se acerca a ti y tú simplemente pides la comida. El camarero no sabe quién es usted ni qué quiere, simplemente anotó los detalles de su pedido de comida.
  • Luego, el camarero se dirige a la cocina. En la cocina el camarero no prepara la comida.
  • El cocinero prepara tu comida. El camarero recibe tu pedido junto con tu número de mesa.
  • Luego, el cocinero prepara la comida para usted. Utiliza ingredientes para cocinar la comida. Supongamos que usted pidió un sándwich de verduras. Entonces, él necesita pan, tomate, papa, pimiento, cebolla, ajo, queso, etc., que obtiene del refrigerador.
  • Finalmente el cocinero le entrega la comida al camarero. Ahora es trabajo del camarero sacar esta comida fuera de la cocina.
  • Ahora el camarero sabe qué comida has pedido y cómo se sirve.

En este caso,

View= You
Waiter= Controller
Cook= Model
Refrigerator= Data

33) ¿Cuál es la diferencia entre 3 niveles? Architectura y MVC Archi¿Tectura?

Aquí hay una diferencia entre 3 niveles. Architectura y MVC Architectura:

Parámetro 3-Tier Architectura MVC Architectura
Comunicación Este tipo de patrón de arquitectura nunca se comunica directamente con la capa de datos. Todas las capas se comunican directamente mediante topología triangular.
Uso 3 niveles: ampliamente utilizado en aplicaciones web donde el cliente, los niveles de datos y el middleware se ejecutan en plataformas físicamente separadas. Generalmente se utiliza en aplicaciones que se ejecutan en una única estación de trabajo gráfica.

34) ¿Cómo se puede utilizar la arquitectura MVC en JSP?

El siguiente ejemplo muestra el uso de la arquitectura MVC en JSP:

  • Estamos tomando el ejemplo de un formulario con dos variables, “correo electrónico” y “contraseña”, que es nuestra capa de visualización.
  • Una vez que el usuario ingresa el correo electrónico y la contraseña y hace clic en enviar, la acción se pasa a mvc_servlet, donde se pasan el correo electrónico y la contraseña.
  • Este mvc_servlet es la capa de controlador. Aquí, en mvc_servlet, la solicitud se envía al objeto bean, que actúa como una capa modelo.
  • Los valores de correo electrónico y contraseña se configuran en el bean y se almacenan para fines futuros.
  • Del bean, el valor se recupera y se muestra en la capa de vista.

Mvc_ejemplo.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>MVC Guru Example</title>
</head>
<body>
<form action="Mvc_servlet" method="POST">
Email: <input type="text" name="email">
<br />
Password: <input type="text" name="password" />
<input type="submit" value="Submit" />
</form>
</body>
</html>

mvc_servlet.java

package demotest;
  
import java.io.IOException;
  
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
  
/**
 * Servlet implementation class Mvc_servlet
 */
public class Mvc_servlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
        
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Mvc_servlet() {
        super();
        // TODO Auto-generated constructor stub
    }
  
  
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        String email=request.getParameter("email");  
        String password=request.getParameter("password");
         
        TestBean testobj = new TestBean();
        testobj.setEmail(email);
        testobj.setPassword(password);
        request.setAttribute("gurubean",testobj);
        RequestDispatcher rd=request.getRequestDispatcher("mvc_success.jsp");  
        rd.forward(request, response); 
    }
  
}

TestBean.java

package demotest;
  
import java.io.Serializable;
  
public class TestBean implements Serializable{
    
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    private String email="null";
    private String password="null";
}

Mvc_éxito.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@page import="demotest.TestBean"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Success</title>
</head>
<body>
<%  
TestBean testguru=(TestBean)request.getAttribute("gurubean");  
out.print("Welcome, "+testguru.getEmail());  
%>
</body>
</html>

35) ¿Cómo funciona MVC en Spring?

Así es como funciona MVC en Spring:

  • DispatcherServlet recibe una solicitud.
  • Después de eso, DispatcherServlet se comunica con HandlerMapping. También revoca el controlador asociado con esa solicitud específica.
  • El Controlador procesa esta solicitud llamando a los métodos de servicio y DispatcherServlet devuelve un objeto ModelAndView.
  • El nombre de la vista se envía a ViewResolver para encontrar la Vista real que se va a invocar.
  • Después de eso, DispatcherServlet se pasa a Ver para representar el resultado.
  • Al utilizar los datos del modelo, la Vista representa y envía el resultado al usuario.

36) ¿Cuáles son los puntos importantes a recordar al crear una aplicación MVC?

Aquí hay algunos puntos importantes para recordar al crear una aplicación MVC:

  • Debe recordar que ASP.net MVC no reemplaza las aplicaciones basadas en formularios web ASP.Net.
  • El enfoque del desarrollo de aplicaciones MVC debe decidirse en función de los requisitos de la aplicación y las características proporcionadas por ASP.net MVC para satisfacer las necesidades de desarrollo específicas.
  • El proceso de desarrollo de aplicaciones con ASP.NET MVC es más complejo en comparación con las aplicaciones basadas en formularios web.
  • La mantenibilidad de la aplicación es siempre mayor con la separación de las tareas de la aplicación.

37) ¿Cuál es la diferencia entre Web Forms y MVC?

Aquí hay una diferencia entre Web Forms y MVC:

parámetros web Forms MVC
Modelo Asp.Net Web Forms sigue un modelo de desarrollo basado en eventos. Asp.Net MVC utiliza un modelo de desarrollo basado en patrones MVC.
Usado desde Existe desde 2002 Fue lanzado por primera vez en 2009.
Soporte para Ver estado Asp.Net Web Forms admite la vista del estado para la gestión del estado en el lado del cliente. .Net MVC no admite el estado de visualización.
Tipo de URL Asp.Net Web Forms tiene URL basadas en archivos. Significa que el nombre del archivo existe en las URL y debe existir físicamente. Asp.Net MVC tiene URL basadas en rutas, lo que significa que las URL se redirigen a controladores y acciones.
Sintaxis Asp.Net MVC sigue la sintaxis de formularios web. Asp.Net MVC sigue la sintaxis personalizable.
Tipo de vista Las vistas de Web Forms están estrechamente acopladas al código subyacente (ASPX-CS), es decir, a la lógica. Las vistas MVC y la lógica siempre se mantienen por separado.
Aspecto y sensación consistentes Tiene páginas maestras para una apariencia consistente. Asp.Net MVC tiene diseños para una apariencia consistente.
Reutilización de código Web Forms ofrece controles de usuario para la reutilización del código. Asp.Net MVC ofrece vistas parciales para la reutilización del código.
Controlar para HTML Less control sobre HTML renderizado. Control total sobre HTML
Administración del Estado Gestión automática del estado de los controles. Gestión manual del estado.
soporte TDD Se requiere TDD débil o personalizado. ¡Fomenta e incluye TDD!

38) ¿Cómo puedes mostrar algo en CodeIgniter?

Aquí hay un código para mostrar algo en CodeIgniter:

<?=$title?>
As opposed to
<?php
echo $title;
?>
Control structures are usually written as follows
<?php foreach ($customers as $customer): ?>
<li>
<p><?=$customer->first_name?><p>
</li>
<?php endforeach; ?>

39) Escriba un código para demostrar el modelo, la vista y el controlador en CodeIgniter.

Aquí hay un código para demostrar el modelo, la vista y el controlador en CodeIgniter:

Abra el archivo Welcome.php controlador ubicado en la aplicación/controladores:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {
    public function index()
    {
        $this->load->view('welcome_message');
    }
}

Actualice el índice de la siguiente manera:

public function index()
    {
            $this->load->model('customers_model');

            $data['customer'] = $this->customers_model->get_customer(3);

            $this->load->view('welcome_message',$data);
    }

Escriba el siguiente código en customer_model.php en application/models.

<?php
class Customers_model extends CI_Model {
    public function get_customer($id) {
        $data['id'] = 3;
        $data['first_name'] = 'John';
        $data['last_name'] = 'Doe';
        $data['address'] = 'Kingstone';

        return $data;
    }
}

Abra bienvenido_message.php ubicado en

application/views/welcome_message.php

Reemplace el código con el siguiente

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>CodeIgniter MVC Basics</title>
</head>
<body>
    <h3>Customer Details Card</h3>

    <p>Customer ID : <strong><?=$customer['id']?></strong></p>
    <p>First Name  : <strong><?=$customer['first_name']?></strong></p>
    <p>Last Name   : <strong><?=$customer['last_name']?></strong></p>
    <p>Address     : <strong><?=$customer['address']?></strong></p>
</body>
</html>

40) ¿Puedes crear una aplicación web con formularios web y MVC?

Sí. Debe incluir las siguientes referencias de ensamblaje MVC en la aplicación de formularios web para crear una aplicación híbrida.

System.Web.Mvc
System.Web.Razor
System.ComponentModel.DataAnnotations

41) ¿Cómo se puede asignar un nombre de alias para la acción API web ASP.NET?

Podemos dar un nombre de alias para la acción de la API web igual que en el caso de ASP.NET MVC usando el atributo "ActionName" de la siguiente manera:

[HttpPost]

[ActionName("SaveStudentInfo")]

public void UpdateStudent(Student aStudent)
{
StudentRepository.AddStudent(aStudent);
}

42) ¿Cuál es la principal diferencia entre MVC y WebAPI?

Aquí está la principal diferencia entre MVC y WebAPI:

El marco MVC se utiliza para desarrollar aplicaciones que tienen una interfaz de usuario. Para eso, se pueden utilizar vistas para crear una interfaz de usuario.

WebAPI se utiliza para desarrollar servicios HTTP. Otras aplicaciones también pueden denominarse métodos WebAPI para recuperar esos datos.


43) ¿Cómo puede asegurarse de que la API web devuelva solo datos JSON?

Para que Web API serialice el objeto que retorna en formato JSON y devuelva solo datos JSON, debe agregar el siguiente código en la clase WebApiConfig.cs en cualquier proyecto de Web API de MVC:

//JsonFormatter

//MediaTypeHeaderValue

Config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));

1
2
3

//JsonFormatter

//MediaTypeHeaderValue

Config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"))

44) ¿Cuál es la diferencia entre MVVM y MVC?

Estas son las diferencias importantes entre MVVM y MVC:

MVC MVVM
Un Controlador es el punto de entrada a la Aplicación. La Vista es el punto de entrada a la Aplicación.
Una o muchas relaciones entre Controlador y Vista. Una o muchas relaciones entre Ver y Ver Modelo.
La vista no tiene referencia al controlador Ver tiene referencias al modelo de vista.
MVC es un modelo antiguo MVVM es un modelo relativamente nuevo.
Difícil de leer, cambiar, realizar pruebas unitarias y reutilizar este modelo. El proceso de depuración será complicado cuando tengamos enlaces de datos complejos.
El componente del modelo MVC se puede probar por separado del usuario Fácil para pruebas unitarias separadas y el código está controlado por eventos.

45) ¿Qué es MVC en AngularJS?

Angular.js sigue la arquitectura MVC, el diagrama del marco MVC se muestra a continuación.

  • El Controlador representa la capa que tiene la lógica empresarial. Los eventos de usuario activan las funciones que están almacenadas dentro de su controlador. Los eventos de usuario son parte del controlador.
  • Las vistas se utilizan para representar la capa de presentación que se proporciona a los usuarios finales.
  • Los modelos se utilizan para representar sus datos. Los datos de su modelo pueden ser tan simples como tener declaraciones primitivas. Por ejemplo, si está manteniendo una aplicación para estudiantes, su modelo de datos podría tener simplemente una identificación de estudiante y un nombre. O también puede ser complejo al tener un modelo de datos estructurado. Si está manteniendo una aplicación de propiedad de automóviles, puede tener estructuras para definir el vehículo en sí en términos de su capacidad de motor, capacidad de asientos, etc.

46) ¿Cuál es el papel de MVC en AngularJS?

A continuación se muestra una definición simple del funcionamiento del controlador AngularJS.

  • La responsabilidad principal del controlador es controlar los datos que pasan a la vista. El alcance y la vista tienen comunicación bidireccional.
  • Las propiedades de la vista pueden llamar "funciones" en el alcance. Además, los eventos en la vista pueden llamar "métodos" en el alcance. El siguiente fragmento de código ofrece un ejemplo sencillo de una función.
    • La función ($scope) que se define al definir el controlador y una función interna que se utiliza para devolver la concatenación de $scope.firstName y $scope.lastName.
    • En AngularJS, cuando define una función como una variable, se conoce como Método.

  • De esta manera, los datos pasan del controlador al alcance, y luego los datos van y vienen del alcance a la vista.
  • El alcance se utiliza para exponer el modelo a la vista. El modelo se puede modificar mediante métodos definidos en el alcance, que podrían activarse mediante eventos de la vista. Podemos definir un enlace de modelo bidireccional desde el alcance al modelo.
  • Lo ideal es que los controladores no se utilicen para manipular el DOM. Esto se debe hacer mediante directivas, que veremos más adelante.
  • La mejor práctica es tener controladores basados ​​en la funcionalidad. Por ejemplo, si tiene un formulario para entrada y necesita un controlador para ello, cree un controlador llamado "controlador de formulario".

47) Cómo construir un controlador básico en AngularJS

El siguiente fragmento de código es una página HTML simple que tiene el título "Registro de eventos" y tiene referencias a bibliotecas importantes como Bootstrap, jQuery y Angular.

  1. Estamos agregando referencias a las hojas de estilo CSS de bootstrap, que se usarán junto con las bibliotecas de bootstrap.
  2. Estamos agregando referencias a las bibliotecas de AngularJS. Así que ahora, todo lo que hagamos con angular.js en el futuro será referenciado desde esta biblioteca.
  3. Estamos agregando referencias a la biblioteca bootstrap para que nuestra página web responda mejor a ciertos controles.
  4. Hemos agregado referencias a bibliotecas jquery que se utilizarán para la manipulación DOM. Angular lo requiere porque algunas de las funciones de Angular dependen de esta biblioteca.

De forma predeterminada, el fragmento de código anterior estará presente en todos nuestros ejemplos para que podamos mostrar solo el código angularJS específico en las secciones siguientes.

En segundo lugar, veamos nuestros archivos y la estructura de archivos que comenzaremos con nuestro curso:

  1. Primero, segregamos nuestros archivos en 2 carpetas como se hace con cualquier aplicación web convencional. Tenemos la carpeta “CSS”. Contendrá todos nuestros archivos de hojas de estilo en cascada, y luego tendremos nuestra carpeta "lib", que contendrá todos nuestros JavaGuión archivos.
  2. El archivo bootstrap.css se coloca en la carpeta CSS y se utiliza para agregar una buena apariencia a nuestro sitio web.
  3. Angular.js es nuestro archivo principal que se descargó del sitio angularJS y se guardó en nuestra carpeta lib.
  4. El archivo app.js contendrá nuestro código para los controladores.
  5. El archivo bootstrap.js se utiliza para complementar el archivo bootstrap.cs para agregar funcionalidad de arranque a nuestra aplicación web.
  6. El archivo jquery se utilizará para agregar la funcionalidad de manipulación DOM a nuestro sitio.

Ejemplo de uso de angular.js:

Lo que queremos hacer aquí es simplemente mostrar las palabras “AngularJS” en formato de texto y en un cuadro de texto cuando se visualiza la página en el navegador.

<!DOCTYPE html>
<html>
<head>
    <meta chrset="UTF 8">
    <link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body>
<h3> Guru99 Global Event</h3>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
<script src="lib/angular.js"></script>
<script src="lib/bootstrap.js"></script>
<script src="lib/jquery-1.11.3.min.js"></script>

<div ng-app="DemoApp" ng-controller="DemoController">

    Tutorial Name : <input type="text" ng-model="tutorialName"><br>

    This tutorial is {{tutorialName}}
</div>
<script>
    var app = angular.module('DemoApp',[]);

    app.controller('DemoController', function($scope){
    $scope.tutorialName = "Angular JS";
    });
</script>

</body>
</html>

48) ¿Para qué sirve ng-controller en archivos externos en AngularJS?

Realice los siguientes pasos para usar ng-controller en archivos externos en AngularJS

Paso 1) En el archivo app.js, agregue el siguiente código para su controlador

angular.module('app',[]).controller('HelloWorldCtrl',function($scope)
{
    $scope.message = "Hello World"
});

Paso 2) Ahora, en su archivo Sample.html, agregue una clase div que contendrá la directiva ng-controller y luego agregue una referencia a la variable miembro "mensaje".

<!DOCTYPE html>
<html ng-app="app">
<head>
    <meta chrset="UTF 8">
    <title>Event Registration</title>
    <link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body>
<h3> Guru99 Global Event</h3>
<div class="container">
    <div ng-controller="HelloWorldCtrl">{{message}}</div>
</div>

<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
<script src="lib/angular.js"></script>
<script src="lib/bootstrap.js"></script>
<script src="lib/jquery-1.11.3.min.js"></script>

<script src="app.js"></script>

</body>
</html>

49) ¿Escribir código para definir métodos en el controlador AngularJS?

Aquí hay un código para definir métodos en AngularJS Controller:

<!DOCTYPE html>
<html>
<head>
    <meta chrset="UTF 8">
    <title>Event Registration</title>
    <link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body ng-app="DemoApp">
<h3> Guru99 Global Event</h3>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>
<script src="lib/angular.js"></script>
<script src="lib/bootstrap.js"></script>
<script src="lib/jquery-1.11.3.min.js"></script>

<div ng-app="DemoApp" ng-controller="DemoController">
    Tutorial Name :<input type="text" ng-model="tutorialName"><br>
    <br>
    This tutorial is {{tutorialName}}    
</div>

<script>
var app = angular.module('DemoApp', []);
app.controller('DemoController', function($scope) {
    $scope.tutorialName = "Angular JS";
    $scope.tName = function() {
        return $scope.tName;
    };
});
</script>    
</body>
</html>

50) Escriba código usando ng-model para mostrar el control de entrada de varias líneas en AngularJS.

Aquí hay un código que usa ng-model para mostrar el control de entrada de varias líneas en AngularJS:

<!DOCTYPE html>
<html>
<head>
    <meta chrset="UTF 8">
    <title>Event Registration</title>
    <link rel="stylesheet" href="css/bootstrap.css"/>
</head>
<body >
<h3> Guru99 Global Event</h3>
<script src="https://code.angularjs.org/1.6.9/angular.js"></script>

<div ng-app="DemoApp" ng-controller="DemoCtrl">
    <form>
        &nbsp;&nbsp;&nbsp;Topic Description:<br> <br>
        &nbsp;&nbsp;&nbsp;
    <textarea rows="4" cols="50" ng-model="pDescription"></textarea><br><br> 
    </form>
</div>

<script>
    var app = angular.module('DemoApp',[]);
    app.controller('DemoCtrl', function($scope){
        $scope.pDescription="This topic looks at how Angular JS works \nModels in Angular JS"});
</script>

</body>
</html>

51) Escriba código para demostrar el uso de elementos de entrada.

A continuación se muestra un ejemplo de código que utiliza elementos de entrada de AngulaJS:

<!DOCTYPE html>
<html>
<head>
    <meta chrset="UTF 8">
    <title>Event Registration</title>
    <link rel="stylesheet" href="css/bootstrap.css"/>
    <script src="https://code.angularjs.org/1.6.9/angular.js"></script>
</head>
<body >
<h3> Guru99 Global Event</h3>

<div ng-app="DemoApp" ng-controller="DemoCtrl">
    <form>
        &nbsp;&nbsp;&nbsp;Topic Description:<br> <br>
        &nbsp;&nbsp;&nbsp;
         
        Name : <input type="text" ng-model="pname"><br>
        &nbsp;&nbsp;&nbsp;
        Topic : <br>&nbsp;&nbsp;&nbsp;
        <input type="checkbox" ng-model="Topic.Controller">Controller<br>&nbsp;&nbsp;&nbsp;
        <input type="checkbox" ng-model="Topic.Models">Models
    </form>
    </div>

<script>
    var app = angular.module('DemoApp',[]);
    app.controller('DemoCtrl', function($scope){
        $scope.pname="Guru99";
         
        $scope.Topic =
        {
            Controller:true,
            Models:false
        };     });
</script>

</body>
</html>

52) ¿Cómo se puede crear un modelo en PHP?

Aquí hay un código para crear un modelo en PHP:

<?php 
class Opinion_poll_model extends CI_Model 
{ 
    public function __construct() 
    { 
        $this->load->database(); 
    } 

    public function total_votes() 
    { 
        $query = $this->db->select('COUNT(choice) as choices_count')->get('js_libraries');
        return $query->row()->choices_count; 
    } 

    public function get_results() 
    { 
        $libraries = array("", "JQuery", "MooTools", "YUI Library", "Glow"); 
        $table_rows = ''; 

        for ($i = 1; $i < 5; $i++) 
        {
             $sql_stmt = "SELECT COUNT(choice) choices_count FROM js_libraries WHERE choice = $i;"; 
             $result = $model->

             select($sql_stmt); $table_rows .= "<tr><td>" . $ libraries [$i] . " Got:</td><td><b>" . $result[0] . "</b> votes</td></tr>"; 
        } 
        public function add_vote($choice) 
        { 
            $ts = date("Y-m-d H:i:s"); $data = array('choice' => $choice, 'ts' => $ts); $this->db->insert('js_libraries', $data); 
        } 
   } 
?>

53) ¿Por qué utilizar PHP MVC Framework?

Deberías utilizar PHP MVC Framework porque simplifica el trabajo con tecnologías complejas al:

  • Ocultar todos los detalles complejos de implementación
  • Proporcionar métodos estándar que podemos utilizar para construir nuestras aplicaciones.
  • Mayor productividad del desarrollador, esto se debe a que la implementación base de actividades como conectarse a la base de datos, desinfectar la entrada del usuario, etc., ya están implementadas parcialmente.
  • Cumplimiento de los estándares de codificación profesionales.

54) ¿Cuáles son los marcos PHP MVC populares?

Estos son los marcos PHP MVC populares:

Código de encendido: Es uno de los frameworks PHP MVC más populares. Es liviano y tiene una curva de aprendizaje corta. Tiene un rico conjunto de bibliotecas que ayudan a crear sitios web y aplicaciones rápidamente. Los usuarios con conocimientos limitados de programación orientada a objetos también pueden utilizarlo.

kohana: Es un controlador de vista de modelo jerárquico HMVC que es un marco seguro y liviano. Tiene un amplio conjunto de componentes para desarrollar aplicaciones rápidamente.

tortaPHP: Está inspirado en Ruby on Rails. Es conocido por conceptos como patrones de diseño de software, convención sobre configuración, ActiveRecord, etc.

zend: Es un marco poderoso que es;

  • Seguro, confiable, rápido y escalable
  • Soporta Web 2.0 y creación de servicios web.

Cuenta con API de proveedores como AmazonGoogle Flickr, Yahoo, etc. Es ideal para desarrollar aplicaciones empresariales.


55) ¿Cómo se pueden crear vistas en PHP?

Aquí hay un código para crear vistas en PHP:

opinion_poll_form.php 
<html>
<head>
    <title>
        JavaScript Libraries - Opinion Poll
    </title>
</head>

<body>
    <h3>JavaScript Libraries - Opinion Poll</h3>
    <p><b>What is your favorite JavaScript Library? </b></p>
    <form method="POST" action="index.php">
        <p>
            <input type="radio" name="vote" value="1" /> JQuery
            <br />
            <input type="radio" name="vote" value="2" /> MooTools
            <br />
            <input type="radio" name="vote" value="3" /> YUI Library
            <br />
            <input type="radio" name="vote" value="4" /> Glow </p>
        <p>
            <input type="submit" name="submitbutton" value="OK" />
        </p>
    </form>
</body>
</html>

Ahora creemos la página de resultados results.php

<html>
    <head>
        <title>JavaScript Libraries - Opinion Poll Results</title>
    </head>
    <body>

        <h3>JavaScript Libraries - Opinion Poll Results</h3>

        <p><b>What is your favorite JavaScript Library?</b></p>

        <p><b><?php echo $total_votes; ?></b> people have thus far taken part in this poll:</p>

        <p><table><tr><td>

            <?php print($rows); ?>

        </tr></td></table></p>

        <p><a href="#">Return to voting page</a></p>
</body>
</html>

Estas preguntas de la entrevista también te ayudarán en tu viva(orals)

Boletín diario de Guru99

Empieza el día con las últimas y más importantes noticias sobre IA, entregadas ahora mismo.