Die 55 wichtigsten Fragen und Antworten zu MVC-Interviews (PDF)

Hier sind MVC-Interviewfragen für neue und erfahrene Kandidaten, die ihren Traumjob bekommen möchten.

 

Fragen und Antworten zum MVC-Interview für Studienanfänger

1) Was ist Model-View-Controller?

MVC ist ein Softwarearchitekturmuster für die Entwicklung von Webanwendungen. Es wird von drei Objekten verwaltet: Model, View und Controller.

👉Kostenloser PDF-Download: Fragen und Antworten zum MVC-Interview


2) Was stellt Model-View-Controller in einer MVC-Anwendung dar?

In einem MVC-Modell

  • Modell– Es repräsentiert die Anwendungsdatendomäne. Mit anderen Worten: Die Geschäftslogik einer Anwendung ist im Modell enthalten und für die Datenpflege verantwortlich.
  • Anzeigen– Es stellt die Benutzeroberfläche dar, mit der Endbenutzer kommunizieren. Kurz gesagt, die gesamte Logik der Benutzeroberfläche ist in View enthalten.
  • Regler- Es ist der Controller, der auf die Aktionen des Benutzers reagiert. Basierend auf den Benutzeraktionen reagiert der jeweilige Controller innerhalb des Modells und wählt eine zu rendernde Ansicht aus, die die Benutzeroberfläche anzeigt. Die Benutzereingabelogik ist im Controller enthalten.

3) Benennen Sie die Assembly, um MVC zu definieren

Das MVC-Framework ist in der System.Web.Mvc-Assembly definiert.


4) Was sind die verschiedenen Rückgabetypen einer Controller-Aktionsmethode?

Hier sind verschiedene Rückgabetypen einer Controller-Aktionsmethode:

  • Ergebnisse zeigen
  • JavaSkriptergebnis
  • Ergebnis umleiten
  • JSON-Ergebnis
  • Inhaltliches Ergebnis

5) Was ist der Unterschied zwischen dem Hinzufügen von Routen zu einer Webform-Anwendung und einer MVC-Anwendung?

Um Routen zu einer Webform-Anwendung hinzuzufügen, verwenden wir die MapPageRoute()-Methode der RouteCollection-Klasse, während wir zum Hinzufügen von Routen zu einer MVC-Anwendung die MapRoute()-Methode verwenden.


6) Welche zwei Möglichkeiten gibt es, einer Route Einschränkungen hinzuzufügen?

Die beiden Methoden zum Hinzufügen von Einschränkungen zu einer Route sind:

  • Reguläre Ausdrücke verwenden
  • Verwenden Sie ein Objekt, das die IRouteConstraint-Schnittstelle implementiert

7) Was sind die Vorteile von MVC?

  • MVC unterteilt Ihr Projekt in ein anderes Segment und erleichtert Entwicklern die Arbeit daran
  • Es ist einfach, einen Teil Ihres Projekts zu bearbeiten oder zu ändern, was zu geringeren Entwicklungs- und Wartungskosten des Projekts führt
  • MVC macht Ihr Projekt systematischer
  • Es stellt eine klare Trennung zwischen Geschäftslogik und Präsentationslogik dar
  • Jedes MVC-Objekt hat unterschiedliche Verantwortlichkeiten
  • Die Entwicklung schreitet parallel voran
  • Einfach zu verwalten und zu warten
  • Alle Klassen und Objekte sind unabhängig voneinander

8) Was bewirken die Funktionen „beforeFilter()“, „beforeRender“ und „afterFilter“ im Controller?

  • beforeFilter(): Diese Funktion wird vor jeder Aktion im Controller ausgeführt. Dies ist der richtige Ort, um nach einer aktiven Sitzung zu suchen oder Benutzerberechtigungen zu überprüfen.
  • beforeRender(): Diese Funktion wird nach der Controller-Aktionslogik aufgerufen, aber bevor die Ansicht gerendert wird. Diese Funktion wird nicht oft verwendet, kann jedoch erforderlich sein, wenn Sie render() vor dem Ende einer bestimmten Aktion manuell aufrufen.
  • afterFilter(): Diese Funktion wird nach jeder Controller-Aktion und nach dem Rendern aufgerufen. Es ist die letzte Controller-Methode, die ausgeführt wird.

9) Welche Rolle spielen die Komponenten Präsentation, Abstraktion und Kontrolle in MVC?

Hier ist die Rolle der Komponenten Präsentation, Abstraktion und Kontrolle in MVC:

  • Präsentation: Es ist die visuelle Darstellung einer bestimmten Abstraktion innerhalb der Anwendung
  • Abstraktion: Es handelt sich um die Geschäftsdomänenfunktionalität innerhalb der Anwendung
  • Steuern: Es handelt sich um eine Komponente, die die Konsistenz zwischen der Abstraktion innerhalb des Systems und ihrer Präsentation für den Benutzer gewährleistet und zusätzlich zur Kommunikation mit anderen Steuerelementen innerhalb des Systems sorgt

10) Was sind die Nachteile des MVC-Modells?

Hier sind einige wichtige Nachteile des MVC-Modells:

  • Das Modellmuster ist etwas komplex.
  • Ineffizienz des Datenzugriffs im Blick.
  • Mit einer modernen Benutzeroberfläche ist es schwierig, MVC zu verwenden.
  • Für die parallele Entwicklung benötigen Sie mehrere Programmierer.
  • Es sind vielfältige Technologiekenntnisse erforderlich.

11) Welche Rolle spielen „ActionFilters“ in MVC?

In MVC helfen Ihnen „ActionFilters“, Logik auszuführen, während eine MVC-Aktion ausgeführt wird oder ausgeführt wird.


12) Was sind die Schritte zur Ausführung eines MVC-Projekts?

Die Schritte zur Ausführung eines MVC-Projekts umfassen:

  • Erhalten Sie die erste Anfrage zur Bewerbung
  • Routing durchführen
  • Erstellen Sie einen MVC-Anfragehandler
  • Controller erstellen
  • Controller ausführen
  • Aktion aufrufen
  • Ergebnis ausführen

13) Was ist Routing und drei Segmente?

Routing hilft Ihnen, eine URL-Struktur festzulegen und die URL dem Controller zuzuordnen.

Die drei für das Routing wichtigen Segmente sind:

  • ControllerName
  • ActionMethodName
  • Parameter

14) Wie erfolgt das Routing im MVC-Muster?

Es gibt eine Gruppe von Routen namens RouteCollection, die aus registrierten Routen in der Anwendung besteht. Die RegisterRoutes-Methode zeichnet die Routen in dieser Sammlung auf. Eine Route definiert ein URL-Muster und einen Handler, der verwendet wird, wenn die Anfrage mit dem Muster übereinstimmt.

Der erste Parameter der MapRoute-Methode ist der Name der Route. Der zweite Parameter ist das Muster, mit dem die URL übereinstimmt. Der dritte Parameter könnte die Standardwerte für die Platzhalter sein, wenn diese nicht bestimmt sind.


15) Wie können Sie mithilfe eines Hyperlinks von einer Ansicht zur anderen navigieren?

Durch Verwendung der „ActionLink“-Methode, wie im folgenden Code gezeigt. Der folgende Code erstellt eine einfache URL, die dabei hilft, zum „Home“-Controller zu navigieren und die „GotoHome“-Aktion aufzurufen.

Code reduzieren/kopieren

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

Fragen und Antworten zum MVC-Interview für Erfahrene

16) Wie werden Sitzungen in MVC verwaltet?

Sitzungen können in MVC auf drei Arten verwaltet werden: Tempdata, Viewdata und Viewbag.


17) Was ist der Unterschied zwischen Temp-Daten, View-Daten und View Bag?

  • Temperaturdaten: Es hilft, Daten beizubehalten, wenn Sie von einem Controller zu einem anderen wechseln.
  • Daten anzeigen: Es hilft, Daten zu verwalten, wenn Sie vom Controller zur Ansicht wechseln.
  • Tasche ansehen: Es handelt sich um einen dynamischen Wrapper für Ansichtsdaten.

18) Was ist eine Teilansicht in MVC?

Die Teilansicht in MVC rendert einen Teil des Ansichtsinhalts. Dies ist hilfreich bei der Reduzierung von Codeduplizierungen. Vereinfacht ausgedrückt ermöglicht die Teilansicht das Rendern einer Ansicht innerhalb der übergeordneten Ansicht.


19) Wie können Sie Ajax in MVC implementieren?

In MVC kann Ajax auf zwei Arten implementiert werden

  • Ajax-Bibliotheken
  • JQuery

20) Was ist der Unterschied zwischen „ActionResult“ und „ViewResult“?

„ActionResult“ ist eine abstrakte Klasse, während „ViewResult“ von der Klasse „AbstractResult“ abgeleitet ist. „ActionResult“ verfügt über eine Reihe abgeleiteter Klassen wie „JsonResult“, „FileStreamResult“ und „ViewResult“.

„ActionResult“ eignet sich am besten, wenn Sie verschiedene Arten von Ansichten dynamisch ableiten.


21) Wie können Sie das Ergebnis im JSON-Format in MVC zurücksenden?

Um das Ergebnis im JSON-Format in MVC zurückzusenden, können Sie die Klasse „JSONRESULT“ verwenden.


22) Was ist der Unterschied zwischen Ansicht und Teilansicht?

Hier ist der Unterschied zwischen Ansicht und Teilansicht

Anzeigen Teilansicht
Es enthält die Layoutseite Es enthält nicht die Layoutseite
Bevor eine Ansicht gerendert wird, wird die Ansichtsstartseite gerendert Bei einer Teilansicht wird eine viewstart.cshtml nicht überprüft. Wir können keinen allgemeinen Code für eine Teilansicht in die viewStart.cshtml.page einfügen
Die Ansicht kann Markup-Tags wie Body, HTML, Head, Title, Meta usw. enthalten. Die Teilansicht ist speziell für die Darstellung innerhalb der Ansicht konzipiert und enthält deshalb kein Markup
Die Ansicht ist im Vergleich zur Teilansicht nicht leichtgewichtig Wir können eine reguläre Ansicht an die RenderPartial-Methode übergeben

23) Welche Arten von Ergebnissen gibt es in MVC?

In MVC gibt es zwölf Ergebnistypen, wobei die Klasse „ActionResult“ die Hauptklasse und die 11 deren Untertypen sind:

  • Zeige Ergebnis
  • PartialViewResult
  • Leeres Ergebnis
  • RedirectResult
  • RedirectToRouteResult
  • JsonErgebnis
  • JavaSkriptergebnis
  • InhaltErgebnis
  • FileContentResult
  • FileStreamResult
  • FilePathResult

24) Welche Bedeutung hat NonActionAttribute?

Alle öffentlichen Methoden einer Controller-Klasse werden als Aktionsmethode behandelt. Wenn Sie diese Standardmethode verhindern möchten, müssen Sie die öffentliche Methode mit NonActionAttribute zuweisen.


25) Wozu dient die Standardroute {resource}.axd/{*pathinfo}?

Die Standardroute verhindert, dass Anforderungen für eine Webressourcendatei wie Webresource.axd oder ScriptResource.axd an den Controller weitergeleitet werden.


26) In welcher Reihenfolge werden die Filter ausgeführt, wenn mehrere Filter implementiert sind?

Die Filterreihenfolge wäre wie folgt:

  • Autorisierungsfilter
  • Aktionsfilter
  • Antwortfilter
  • Ausnahmefilter

27) Welche ASP.NET-Filter werden am Ende ausgeführt?

Am Ende werden „Exception Filters“ ausgeführt.


28) Was sind die Dateierweiterungen für Razor Views?

Für Razor-Ansichten lauten die Dateierweiterungen

  • .cshtml: Wenn C# die Programmiersprache ist
  • .vbhtml: Wenn VB die Programmiersprache ist

29) Welche zwei Möglichkeiten gibt es, einer Route Einschränkungen hinzuzufügen?

Zwei Methoden zum Hinzufügen von Einschränkungen zur Route sind:

  • Verwendung regulärer Ausdrücke
  • Verwenden eines Objekts, das die IRouteConstraint-Schnittstelle implementiert

30) In welchen zwei Fällen ist Routing nicht implementiert oder erforderlich?

Zwei Fälle, in denen Routing nicht erforderlich ist, sind:

  • Wenn eine physische Datei gefunden wird, die dem URL-Muster entspricht
  • Wenn das Routing für ein URL-Muster deaktiviert ist

MVC-Interviewfragen für 5 Jahre Erfahrung

31) Was sind die Funktionen von MVC?

Hier sind die Funktionen von MVC:

  • Einfache und reibungslose Testbarkeit. Hoch testbares, erweiterbares und steckbares Framework.
  • Bietet vollständige Kontrolle über Ihren HTML-Code und Ihre URLs
  • Nutzt vorhandene Funktionen von ASP.NET, JSP, Django usw.
  • Klare Trennung der Logik: Modell, Ansicht, Controller. Trennung der Anwendungsaufgaben über Geschäftslogik, Ul-Logik und Eingabelogik.
  • URL-Routing für SEO-freundliche URLs. Leistungsstarkes URL-Mapping für verständliche und durchsuchbare URLs.
  • Unterstützung für testgetriebene Entwicklung (TDD).

32) Was sind die realen Beispiele von MVC?

Hier ist ein reales Beispiel für MVC:

  • Nehmen wir an, Sie gehen in ein Restaurant. Sie werden nicht in die Küche gehen und Essen zubereiten, was Sie sicherlich zu Hause tun können. Stattdessen gehen Sie einfach dorthin und warten, bis der Kellner kommt.
  • Jetzt kommt der Kellner zu Ihnen und Sie bestellen einfach das Essen. Der Kellner weiß nicht, wer Sie sind und was Sie wollen, er hat nur die Einzelheiten Ihrer Essensbestellung aufgeschrieben.
  • Dann geht der Kellner in die Küche. In der Küche bereitet der Kellner Ihr Essen nicht zu.
  • Der Koch bereitet Ihr Essen zu. Der Kellner erhält Ihre Bestellung sowie Ihre Tischnummer.
  • Der Koch bereitet dann das Essen für Sie zu. Er verwendet Zutaten, um das Essen zuzubereiten. Nehmen wir an, Sie haben ein Gemüsesandwich bestellt. Dann braucht er Brot, Tomaten, Kartoffeln, Paprika, Zwiebeln, Käse usw., die er aus dem Kühlschrank nimmt.
  • Schließlich reicht der Koch dem Kellner das Essen. Jetzt ist es die Aufgabe des Kellners, dieses Essen aus der Küche zu bringen.
  • Jetzt weiß der Kellner, welches Essen Sie bestellt haben und wie es serviert wird.

In diesem Fall

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

33) Was ist der Unterschied zwischen 3-Stufen? Architecture und MVC ArchiStruktur?

Hier besteht ein Unterschied zwischen 3-Stufen Architecture und MVC ArchiStruktur:

Parameter 3-Tier Architektur MVC Architektur
Kommunikation Diese Art von Architekturmuster kommuniziert nie direkt mit der Datenschicht. Alle Schichten kommunizieren direkt über die Dreieckstopologie.
Anwendungsbereich 3-stufig: Wird häufig in Webanwendungen verwendet, bei denen der Client, die Datenebenen und die Middleware auf physisch getrennten Plattformen ausgeführt werden. Wird im Allgemeinen für Anwendungen verwendet, die auf einer einzelnen grafischen Workstation ausgeführt werden.

34) Wie können Sie die MVC-Architektur in JSP verwenden?

Das folgende Beispiel zeigt die Verwendung der MVC-Architektur in JSP:

  • Wir nehmen das Beispiel eines Formulars mit zwei Variablen, „E-Mail“ und „Passwort“, das unsere Ansichtsebene darstellt.
  • Sobald der Benutzer E-Mail und Passwort eingibt und auf „Senden“ klickt, wird die Aktion an mvc_servlet übergeben, wo E-Mail und Passwort übergeben werden.
  • Dieses mvc_servlet ist die Controller-Ebene. Hier in mvc_servlet wird die Anfrage an das Bean-Objekt gesendet, das als Modellschicht fungiert.
  • Die E-Mail- und Passwortwerte werden in die Bean eingetragen und für weitere Zwecke gespeichert.
  • Von der Bean wird der Wert abgerufen und in der Ansichtsebene angezeigt.

Mvc_example.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_success.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) Wie funktioniert MVC im Frühling?

So funktioniert MVC im Frühling:

  • DispatcherServlet empfängt eine Anfrage.
  • Danach kommuniziert das DispatcherServlet mit HandlerMapping. Außerdem wird der mit dieser spezifischen Anfrage verknüpfte Controller entzogen.
  • Der Controller verarbeitet diese Anfrage durch Aufrufen der Dienstmethoden und ein ModelAndView-Objekt wird vom DispatcherServlet zurückgegeben.
  • Der Ansichtsname wird an einen ViewResolver gesendet, um die tatsächlich aufzurufende Ansicht zu finden.
  • Danach wird DispatcherServlet an View übergeben, um das Ergebnis darzustellen.
  • Mithilfe der Modelldaten rendert die Ansicht das Ergebnis und sendet es an den Benutzer zurück.

36) Welche wichtigen Punkte sind beim Erstellen einer MVC-Anwendung zu beachten?

Hier sind einige wichtige Punkte, die Sie beim Erstellen einer MVC-Anwendung beachten sollten:

  • Sie müssen bedenken, dass ASP.net MVC kein Ersatz für auf ASP.Net-Webformularen basierende Anwendungen ist
  • Der Ansatz der MVC-App-Entwicklung muss auf der Grundlage der Anwendungsanforderungen und der von ASP.net MVC bereitgestellten Funktionen entschieden werden, um den spezifischen Entwicklungsanforderungen gerecht zu werden.
  • Der Anwendungsentwicklungsprozess mit ASP.NET MVC ist im Vergleich zu webformularbasierten Anwendungen komplexer.
  • Durch die Trennung der Anwendungsaufgaben ist die Wartbarkeit von Anwendungen immer höher.

37) Was ist der Unterschied zwischen Web Forms und MVC?

Hier ist ein Unterschied zwischen Web Forms und MVC:

Parameter Webformulare MVC
Modell Asp.Net-Webformulare folgen einem ereignisgesteuerten Entwicklungsmodell. Asp.Net MVC verwendet ein auf MVC-Mustern basierendes Entwicklungsmodell.
Benutzt seit Gibt es seit 2002 Es wurde erstmals 2009 veröffentlicht
Unterstützung für den Ansichtsstatus Asp.Net Web Forms unterstützt den Ansichtsstatus für die Statusverwaltung auf der Clientseite. .Net MVC unterstützt keinen Ansichtsstatus.
URL-Typ Asp.Net Web Forms verfügt über dateibasierte URLs. Das bedeutet, dass der Dateiname in den URLs vorhanden ist und dass sie physisch vorhanden sein müssen. Asp.Net MVC verfügt über routenbasierte URLs, was bedeutet, dass URLs an Controller und Aktionen umgeleitet werden.
Syntax Asp.Net MVC folgt der Web Forms-Syntax. Asp.Net MVC folgt der anpassbaren Syntax.
Ansichtstyp Web Forms-Ansichten sind eng mit Code Behind (ASPX-CS), also der Logik, verknüpft. MVC-Ansichten und Logik werden immer getrennt gehalten.
Konsistentes Erscheinungsbild Es verfügt über Masterseiten für ein einheitliches Erscheinungsbild. Asp.Net MVC verfügt über Layouts für ein einheitliches Erscheinungsbild.
Wiederverwendbarkeit des Codes Web Forms bietet Benutzersteuerelemente für die Wiederverwendbarkeit von Code. Asp.Net MVC bietet Teilansichten für die Wiederverwendbarkeit von Code.
Steuerung für HTML Less Kontrolle über gerendertes HTML. Volle Kontrolle über HTML
Staatliche Verwaltung Automatische Zustandsverwaltung von Kontrollen. Manuelle Zustandsverwaltung.
TDD-Unterstützung Schwaches oder benutzerdefiniertes TDD erforderlich. Fördert und schließt TDD ein!

38) Wie kann man etwas in CodeIgniter anzeigen?

Hier ist ein Code, um etwas in CodeIgniter anzuzeigen:

<?=$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) Schreiben Sie einen Code, um Modell, Ansicht und Controller in CodeIgniter zu demonstrieren.

Hier ist ein Code zur Demonstration von Modell, Ansicht und Controller in CodeIgniter:

Öffnen Sie die Datei „Welcome.php“. Controller befindet sich in „Anwendung/Controller“:

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

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

Aktualisieren Sie den Index wie folgt:

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

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

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

Schreiben Sie den folgenden Code in customer_model.php in Anwendung/Modelle.

<?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;
    }
}

Öffnen Sie willkommene_Nachricht.php, die sich in befindet

application/views/welcome_message.php

Ersetzen Sie den Code durch Folgendes

<!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) Können Sie eine Webanwendung sowohl mit Webforms als auch mit MVC erstellen?

Ja. Sie müssen die folgenden MVC-Assembly-Referenzen in die Webformularanwendung einbinden, um eine Hybridanwendung zu erstellen.

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

41) Wie können Sie der ASP.NET-Web-API-Aktion einen Aliasnamen zuweisen?

Wir können der Web-API-Aktion einen Aliasnamen wie im Fall von ASP.NET MVC geben, indem wir das Attribut „ActionName“ wie folgt verwenden:

[HttpPost]

[ActionName("SaveStudentInfo")]

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

42) Was ist der Hauptunterschied zwischen MVC und WebAPI?

Hier ist der Hauptunterschied zwischen MVC und WebAPI:

Das MVC-Framework wird zum Entwickeln von Anwendungen verwendet, die über eine Benutzeroberfläche verfügen. Dafür können Ansichten zum Aufbau einer Benutzeroberfläche verwendet werden.

WebAPI wird für die Entwicklung von HTTP-Diensten verwendet. Andere Apps können auch als WebAPI-Methoden zum Abrufen dieser Daten bezeichnet werden.


43) Wie können Sie sicherstellen, dass die Web-API nur JSON-Daten zurückgibt?

Damit die Web-API das zurückgegebene Objekt in das JSON-Format serialisiert und nur JSON-Daten zurückgibt, sollten Sie in jedem MVC-Web-API-Projekt den folgenden Code in die Klasse WebApiConfig.cs einfügen:

//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) Was ist der Unterschied zwischen MVVM und MVC?

Hier sind die wichtigen Unterschiede zwischen MVVM und MVC:

MVC MVVM
Ein Controller ist der Einstiegspunkt zur Anwendung. Die Ansicht ist der Einstiegspunkt zur Anwendung.
Eine bis viele Beziehungen zwischen Controller und Ansicht. Eine zu viele Beziehungen zwischen Ansicht und Ansichtsmodell.
Die Ansicht hat keinen Verweis auf den Controller View hat Verweise auf das View-Model.
MVC ist ein altes Modell MVVM ist ein relativ neues Modell.
Es ist schwierig, dieses Modell zu lesen, zu ändern, Komponententests durchzuführen und wiederzuverwenden Der Debugging-Prozess wird komplizierter, wenn wir komplexe Datenbindungen haben.
Die MVC-Modellkomponente kann separat vom Benutzer getestet werden Einfache separate Unit-Tests und Code ist ereignisgesteuert.

45) Was ist MVC in AngularJS?

Angular.js folgt der MVC-Architektur, das Diagramm des MVC-Frameworks wird unten angezeigt.

  • Der Controller stellt die Schicht dar, die über die Geschäftslogik verfügt. Benutzerereignisse lösen die in Ihrem Controller gespeicherten Funktionen aus. Die Benutzerereignisse sind Teil des Controllers.
  • Ansichten werden verwendet, um die Präsentationsebene darzustellen, die den Endbenutzern bereitgestellt wird.
  • Modelle werden verwendet, um Ihre Daten darzustellen. Die Daten in Ihrem Modell können so einfach sein wie nur primitive Deklarationen. Wenn Sie beispielsweise eine Studentenanwendung verwalten, könnte Ihr Datenmodell nur eine Studenten-ID und einen Namen enthalten. Oder es kann auch komplex sein, indem es ein strukturiertes Datenmodell hat. Wenn Sie eine Autobesitzanwendung verwalten, können Sie Strukturen haben, um das Fahrzeug selbst in Bezug auf Hubraum, Sitzplatzkapazität usw. zu definieren.

46) Welche Rolle spielt MVC in AngularJS?

Nachfolgend finden Sie eine einfache Definition der Funktionsweise des AngularJS-Controllers.

  • Die Hauptverantwortung des Controllers besteht darin, die Daten zu kontrollieren, die an die Ansicht übergeben werden. Der Umfang und die Ansicht verfügen über eine bidirektionale Kommunikation.
  • Die Eigenschaften der Ansicht können „Funktionen“ im Bereich aufrufen. Darüber hinaus können Ereignisse in der Ansicht „Methoden“ im Bereich aufrufen. Der folgende Codeausschnitt zeigt ein einfaches Beispiel einer Funktion.
    • Die Funktion ($scope), die beim Definieren des Controllers definiert wird, und eine interne Funktion, die verwendet wird, um die Verkettung von $scope.firstName und $scope.lastName zurückzugeben.
    • Wenn Sie in AngularJS eine Funktion als Variable definieren, wird sie als Methode bezeichnet.

  • Auf diese Weise werden Daten vom Controller zum Bereich übertragen, und dann werden die Daten vom Bereich zur Ansicht hin und her übertragen.
  • Der Bereich wird verwendet, um das Modell für die Ansicht verfügbar zu machen. Das Modell kann über im Bereich definierte Methoden geändert werden, die über Ereignisse aus der Ansicht ausgelöst werden können. Wir können eine bidirektionale Modellbindung vom Bereich zum Modell definieren.
  • Controller sollten idealerweise nicht zur Manipulation des DOM verwendet werden. Dies sollte durch Direktiven erfolgen, die wir uns später ansehen werden.
  • Die beste Vorgehensweise besteht darin, Controller zu verwenden, die auf der Funktionalität basieren. Wenn Sie beispielsweise über ein Eingabeformular verfügen und dafür einen Controller benötigen, erstellen Sie einen Controller mit dem Namen „Formular-Controller“.

47) So erstellen Sie einen Basis-Controller in AngularJS

Der folgende Codeausschnitt ist eine einfache HTML-Seite mit dem Titel „Event Registration“ und Verweisen auf wichtige Bibliotheken wie Bootstrap, jquery und Angular.

  1. Wir fügen Verweise auf die Bootstrap-CSS-Stylesheets hinzu, die in Verbindung mit den Bootstrap-Bibliotheken verwendet werden.
  2. Wir fügen Verweise auf die AngularJS-Bibliotheken hinzu. Nun wird alles, was wir künftig mit angle.js tun, aus dieser Bibliothek referenziert.
  3. Wir fügen Verweise auf die Bootstrap-Bibliothek hinzu, um unsere Webseite für bestimmte Steuerelemente reaktionsfähiger zu machen.
  4. Wir haben Verweise auf JQuery-Bibliotheken hinzugefügt, die für die DOM-Manipulation verwendet werden. Dies ist für Angular erforderlich, da einige der Funktionen in Angular von dieser Bibliothek abhängig sind.

Standardmäßig ist der obige Codeausschnitt in allen unseren Beispielen vorhanden, sodass wir in den folgenden Abschnitten nur den spezifischen AngularJS-Code zeigen können.

Schauen wir uns zweitens unsere Dateien und die Dateistruktur an, mit denen wir in unserem Kurs beginnen werden:

  1. Zuerst trennen wir unsere Dateien in zwei Ordner, wie es bei jeder herkömmlichen Webanwendung der Fall ist. Wir haben den Ordner „CSS“. Es wird alle unsere Cascading Style Sheet-Dateien enthalten, und dann haben wir unseren „lib“-Ordner, der alle unsere Dateien enthält JavaSkript Dateien.
  2. Die Datei „bootstrap.css“ wird im CSS-Ordner abgelegt und dient dazu, unserer Website ein ansprechendes Erscheinungsbild zu verleihen.
  3. Angular.js ist unsere Hauptdatei, die von der AngularJS-Site heruntergeladen und in unserem lib-Ordner gespeichert wurde.
  4. Die Datei app.js enthält unseren Code für die Controller.
  5. Die Datei „bootstrap.js“ wird als Ergänzung zur Datei „bootstrap.cs“ verwendet, um unserer Webanwendung Bootstrap-Funktionalität hinzuzufügen.
  6. Die JQuery-Datei wird verwendet, um unserer Website DOM-Manipulationsfunktionen hinzuzufügen.

Beispiel für die Verwendung von angle.js:

Was wir hier tun möchten, ist, lediglich die Wörter „AngularJS“ sowohl im Textformat als auch in einem Textfeld anzuzeigen, wenn die Seite im Browser angezeigt wird.

<!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) Wozu dient ng-controller in externen Dateien in AngularJS?

Führen Sie die folgenden Schritte aus, um ng-controller in externen Dateien in AngularJS zu verwenden

Schritt 1) Fügen Sie in der Datei app.js den folgenden Code für Ihren Controller hinzu

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

Schritt 2) Fügen Sie nun in Ihrer Sample.html-Datei eine div-Klasse hinzu, die die ng-controller-Direktive enthält, und fügen Sie dann einen Verweis auf die Mitgliedsvariable „message“ hinzu.

<!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) Code schreiben, um Methoden im AngularJS Controller zu definieren?

Hier ist ein Code zum Definieren von Methoden im 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) Schreiben Sie Code mit ng-model, um die mehrzeilige Eingabesteuerung in AngularJS anzuzeigen.

Hier ist ein Code, der ng-model verwendet, um die mehrzeilige Eingabesteuerung in AngularJS anzuzeigen:

<!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) Schreiben Sie Code, um die Verwendung von Eingabeelementen zu demonstrieren.

Hier ist ein Codebeispiel mit AngulaJS-Eingabeelementen:

<!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) Wie kann man ein Modell in PHP erstellen?

Hier ist ein Code zum Erstellen eines Modells in 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) Warum PHP MVC Framework verwenden?

Sie sollten das PHP MVC Framework verwenden, da es die Arbeit mit komplexen Technologien durch folgende Punkte vereinfacht:

  • Alle komplexen Implementierungsdetails verbergen
  • Bereitstellung von Standardmethoden, die wir zum Erstellen unserer Anwendungen verwenden können.
  • Erhöhte Entwicklerproduktivität, da die Basisimplementierung von Aktivitäten wie das Herstellen einer Verbindung zur Datenbank, das Bereinigen von Benutzereingaben usw. bereits teilweise implementiert sind.
  • Einhaltung professioneller Codierungsstandards

54) Was sind beliebte PHP-MVC-Frameworks?

Hier sind beliebte PHP-MVC-Frameworks:

CodeIgniter: Es ist eines der beliebtesten PHP-MVC-Frameworks. Es ist leicht und hat eine kurze Lernkurve. Es verfügt über einen umfangreichen Satz an Bibliotheken, die beim schnellen Erstellen von Websites und Anwendungen helfen. Benutzer mit begrenzten Kenntnissen der OOP-Programmierung können es auch verwenden.

Kohana: Es handelt sich um einen Hierarchical Model View Controller (HMVC), ein sicheres und leichtes Framework. Es verfügt über einen umfangreichen Satz von Komponenten für die schnelle Entwicklung von Anwendungen.

KuchenPHP: Es ist Ruby on Rails nachempfunden. Es ist bekannt für Konzepte wie Software-Designmuster, Konvention statt Konfiguration, ActiveRecord usw.

Zend: Es handelt sich um ein leistungsstarkes Framework.

  • Sicher, zuverlässig, schnell und skalierbar
  • Unterstützt Web 2.0 und die Erstellung von Webdiensten.

Es verfügt über APIs von Anbietern wie AmazonGoogle Flickr, Yahoo usw. Es ist ideal für die Entwicklung von Geschäftsanwendungen.


55) Wie kann man Ansichten in PHP erstellen?

Hier ist ein Code zum Erstellen von Ansichten in 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>

Lassen Sie uns nun die Ergebnisseite results.php erstellen

<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>

Diese Interviewfragen helfen auch bei Ihrer mündlichen Prüfung