Top 31 domande di intervista MVC e amp; Risposte

Anonim

Scarica il pdf

1) Spiegare cos'è Model-View-Controller?

MVC è un modello di architettura software per lo sviluppo di applicazioni web. È gestito da tre oggetti Model-View-Controller.

2) Indicare cosa rappresenta Model-View-Controller in un'applicazione MVC?

In un modello MVC,

  • Modello : rappresenta il dominio dei dati dell'applicazione. In altre parole, la logica di business delle applicazioni è contenuta nel modello ed è responsabile della gestione dei dati
  • Visualizza : rappresenta l'interfaccia utente con cui comunica gli utenti finali. In breve tutta la logica dell'interfaccia utente è contenuta all'interno della VIEW
  • Controller : è il controller che risponde alle azioni dell'utente. In base alle azioni dell'utente, il rispettivo controller risponde all'interno del modello e sceglie una vista di cui eseguire il rendering che mostri l'interfaccia utente. La logica di input dell'utente è contenuta nel controller

3) Spiegare in quale assembly è definito il framework MVC?

Il framework MVC è definito in System.Web.Mvc.

4) Elencare alcuni diversi tipi di restituzione di un metodo di azione del controller?

  • Visualizza risultato
  • Risultato Javascript
  • Reindirizza il risultato
  • Risultato Json
  • Risultato contenuto

5) Indica qual è la differenza tra l'aggiunta di percorsi, a un'applicazione webform e un'applicazione MVC?

Per aggiungere rotte a un'applicazione webform, possiamo utilizzare il metodo MapPageRoute () della classe RouteCollection, dove aggiungendo rotte a un'applicazione MVC, è possibile utilizzare il metodo MapRoute ().

6) Indica quali sono i due modi per aggiungere vincoli a un percorso?

I due metodi per aggiungere vincoli a una rotta sono

  • Usa espressioni regolari
  • Utilizzare un oggetto che implementa l'interfaccia IRouteConstraint

7) Indica quali sono i vantaggi di MVC?

  • MVC segrega il tuo progetto in un segmento diverso e diventa facile per gli sviluppatori lavorare
  • È facile modificare o modificare alcune parti del progetto che riducono i costi di sviluppo e manutenzione del progetto
  • MVC rende il tuo progetto più sistematico

8) Menzionare cosa fanno le funzioni "beforFilter ()", "beforeRender" e "afterFilter" in Controller?

  • beforeFilter (): questa funzione viene eseguita prima di ogni azione nel controller. È il posto giusto per verificare la presenza di una sessione attiva o ispezionare le autorizzazioni degli utenti.
  • beforeRender (): questa funzione viene chiamata dopo la logica dell'azione del controller, ma prima del rendering della vista. Questa funzione non è usata spesso, ma potrebbe essere richiesta se stai chiamando render () manualmente prima della fine di una data azione
  • afterFilter (): questa funzione viene chiamata dopo ogni azione del controller e dopo aver eseguito il rendering. È l'ultimo metodo del controller da eseguire

9) Spiegare il ruolo dei componenti Presentazione, Astrazione e Controllo in MVC?

  • Presentazione: è la rappresentazione visiva di un'astrazione specifica all'interno dell'applicazione
  • Astrazione: è la funzionalità del dominio aziendale all'interno dell'applicazione
  • Controllo: è un componente che mantiene la coerenza tra l'astrazione all'interno del sistema e la loro presentazione all'utente oltre a comunicare con altri controlli all'interno del sistema

10) Citare i vantaggi e gli svantaggi del modello MVC?

Vantaggi

Svantaggi

  • Rappresenta una netta separazione tra logica aziendale e logica di presentazione
  • Ogni oggetto MVC ha responsabilità diverse
  • Lo sviluppo procede parallelamente
  • Facile da gestire e mantenere
  • Tutte le classi e gli oggetti sono indipendenti l'uno dall'altro
  • Il modello del modello è un po 'complesso
  • Inefficienza di accesso ai dati in vista
  • Con l'interfaccia utente moderna, è difficile usare MVC
  • Sono necessari più programmatori per lo sviluppo parallelo
  • È richiesta la conoscenza di più tecnologie

11) Spiegare il ruolo di "ActionFilters" in MVC?

In MVC "ActionFilters" ti aiuta a eseguire la logica mentre l'azione MVC viene eseguita o la sua esecuzione.

12) Spiegare quali sono i passaggi per l'esecuzione di un progetto MVC?

I passaggi per l'esecuzione di un progetto MVC includono

  • Ricevi la prima richiesta per l'applicazione
  • Esegue il routing
  • Crea il gestore delle richieste MVC
  • Crea controller
  • Esegui controller
  • Invoca l'azione
  • Esegui risultato

13) Spiega cos'è il routing? Quali sono i tre segmenti per il routing è importante?

Il routing ti aiuta a decidere una struttura URL e mappare l'URL con il controller.

I tre segmenti importanti per il routing sono

  • ControllerName
  • ActionMethodName
  • Parametro

14) Spiega come viene eseguito il routing nel pattern MVC?

Esiste un gruppo di rotte chiamato RouteCollection, che consiste di rotte registrate nell'applicazione. Il metodo RegisterRoutes registra le route in questa raccolta. Una rotta definisce un pattern URL e un gestore da utilizzare se la richiesta corrisponde al pattern. Il primo parametro del metodo MapRoute è il nome della route. Il secondo parametro sarà il pattern a cui corrisponde l'URL. Il terzo parametro potrebbe essere i valori predefiniti per i segnaposto se non sono determinati.

15) Spiegare utilizzando il collegamento ipertestuale come è possibile navigare da una visualizzazione all'altra?

Utilizzando il metodo "ActionLink" come mostrato nel codice seguente. Il codice seguente creerà un semplice URL che aiuterà a navigare nel controller "Home" e richiamerà l'azione "GotoHome".

Comprimi / Copia codice

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

16) Menzione come può mantenere la sessione in MVC?

La sessione può essere mantenuta in MVC in tre modi: tempdata, viewdata e viewbag.

17) Indica qual è la differenza tra Temp data, View e View Bag?

  • Dati temporanei: aiuta a mantenere i dati quando si passa da un controller all'altro.
  • Visualizza i dati: aiuta a mantenere i dati quando ci si sposta dal controller alla visualizzazione
  • Visualizza borsa: è un wrapper dinamico per i dati di visualizzazione

18) Cos'è la visualizzazione parziale in MVC?

La visualizzazione parziale in MVC esegue il rendering di una parte del contenuto della visualizzazione. È utile per ridurre la duplicazione del codice. In termini semplici, la vista parziale consente di eseguire il rendering di una vista all'interno della vista padre.

19) Spiega come puoi implementare Ajax in MVC?

In MVC, Ajax può essere implementato in due modi

  • Librerie Ajax
  • Jquery

20) Indica qual è la differenza tra "ActionResult" e "ViewResult"?

"ActionResult" è una classe astratta mentre "ViewResult" è derivato dalla classe "AbstractResult". "ActionResult" ha una serie di classi derivate come "JsonResult", "FileStreamResult" e "ViewResult".

"ActionResult" è la soluzione migliore se si derivano diversi tipi di visualizzazione in modo dinamico.

21) Spiega come puoi restituire il risultato in formato JSON in MVC?

Per inviare il risultato in formato JSON in MVC, puoi utilizzare la classe "JSONRESULT".

22) Spiegare qual è la differenza tra View e Partial View?

Visualizza

Vista parziale

  • Contiene la pagina di layout
  • Prima che venga eseguito il rendering di qualsiasi vista, viene eseguito il rendering della pagina viewstart
  • La vista potrebbe avere tag di markup come body, html, head, title, meta ecc.
  • La vista non è leggera rispetto alla vista parziale
  • Non contiene la pagina di layout
  • La visualizzazione parziale non verifica per viewstart.cshtml. Non è possibile inserire codice comune per una visualizzazione parziale all'interno di viewStart.cshtml.page
  • La vista parziale è progettata appositamente per il rendering all'interno della vista e proprio per questo non consiste in alcun markup
  • Possiamo passare una visualizzazione regolare al metodo RenderPartial

23) Elencare i tipi di risultato in MVC?

In MVC, ci sono dodici tipi di risultati in MVC dove la classe "ActionResult" è la classe principale mentre gli 11 sono i loro sottotipi

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

24) Indica qual è l'importanza di NonActionAttribute?

Tutti i metodi pubblici di una classe controller vengono trattati come il metodo di azione se si desidera impedire questo metodo predefinito, è necessario assegnare il metodo pubblico con NonActionAttribute.

25) Indica qual è l'uso della route predefinita {resource} .axd / {* pathinfo}?

Questa route predefinita impedisce che la richiesta di un file di risorse Web come Webresource.axd o ScriptResource.axd venga trasmessa al controller.

26) Menzionare l'ordine dei filtri che vengono eseguiti, se i filtri multipli sono implementati?

L'ordine del filtro sarebbe come

  • Filtri di autorizzazione
  • Filtri di azione
  • Filtri di risposta
  • Filtri di eccezione

27) Indicare quali filtri vengono eseguiti alla fine?

Alla fine vengono eseguiti i "Filtri di eccezione".

28) Indica quali sono le estensioni di file per le visualizzazioni razor?

Per le visualizzazioni razor, le estensioni dei file sono

  • .cshtml: se C # è il linguaggio di programmazione
  • .vbhtml: se VB è il linguaggio di programmazione

29) Indica quali sono i due modi per aggiungere vincoli a un percorso?

Due metodi per aggiungere vincoli al percorso sono

  • Utilizzo di espressioni regolari
  • Utilizzo di un oggetto che implementa l'interfaccia IRouteConstraint

30) Citi due casi in cui il routing non è implementato o richiesto?

Due istanze in cui il routing non è richiesto sono

  • Quando viene trovato un file fisico che corrisponde al pattern URL
  • Quando il routing è disabilitato per un pattern URL

31) Indica quali sono i principali vantaggi dell'utilizzo di MVC?

Ci sono due vantaggi chiave nell'utilizzo di MVC

  • Poiché il codice viene spostato dietro un file di classe separato, è possibile utilizzare il codice in larga misura
  • Poiché dietro il codice viene semplicemente spostato nella classe .NET, è possibile automatizzare i test dell'interfaccia utente. Ciò offre l'opportunità di automatizzare i test manuali e scrivere unit test.