Topp 31 MVC intervjufrågor & Svar

Anonim

Ladda ner PDF

1) Förklara vad som är Model-View-Controller?

MVC är ett programvaruarkitekturmönster för att utveckla webbapplikationer. Det hanteras av tre objekt Model-View-Controller.

2) Nämn vad representerar Model-View-Controller i en MVC-applikation?

I en MVC-modell,

  • Modell - Den representerar applikationsdatadomänen. Med andra ord ingår affärslogik i modellen och ansvarar för att underhålla data
  • Visa - Det representerar användargränssnittet som slutanvändarna kommunicerar med. Kort sagt finns all användargränssnittslogik i VIEW
  • Controller - Det är controller som svarar på användarens åtgärder. Baserat på användaråtgärderna svarar respektive styrenhet inom modellen och väljer en vy som ska visas som visar användargränssnittet. Användarinmatningslogiken ingår i styrenheten

3) Förklara i vilken sammansättning definieras MVC-ramverket?

MVC-ramverket definieras i System.Web.Mvc.

4) Lista upp några olika returtyper för en kontrolleråtgärdsmetod?

  • Visa resultat
  • Javascript-resultat
  • Omdirigera resultat
  • Json-resultat
  • Innehållsresultat

5) Nämn vad är skillnaden mellan att lägga till rutter, till en webbformulärsapplikation och en MVC-applikation?

För att lägga till rutter i en webbformulärsapplikation kan vi använda metoden MapPageRoute () i klassen RouteCollection, där du lägger till rutter i en MVC-applikation kan du använda metoden MapRoute ().

6) Nämn vilka två sätt att lägga begränsningar till en rutt?

De två metoderna för att lägga till begränsningar för en rutt är

  • Använd reguljära uttryck
  • Använd ett objekt som implementerar IRouteConstraint Interface

7) Nämn vad är fördelarna med MVC?

  • MVC segregerar ditt projekt i ett annat segment, och det blir lätt för utvecklare att arbeta med
  • Det är enkelt att redigera eller ändra någon del av ditt projekt som gör projektet mindre utvecklings- och underhållskostnader
  • MVC gör ditt projekt mer systematiskt

8) Nämn vad funktionerna "beforFilter ()", "beforeRender" och "afterFilter" gör i Controller?

  • beforeFilter (): Denna funktion körs före varje åtgärd i styrenheten. Det är rätt ställe att söka efter en aktiv session eller inspektera användarbehörigheter.
  • beforeRender (): Denna funktion anropas efter kontrollerns handlingslogik, men innan vyn återges. Denna funktion används inte ofta, men kan krävas Om du ringer render () manuellt innan en given åtgärd är slut
  • afterFilter (): Denna funktion anropas efter varje kontrolleråtgärd och efter att renderingen är klar. Det är den sista styrmetoden som ska köras

9) Förklara komponenternas roll Presentation, abstraktion och kontroll i MVC?

  • Presentation: Det är den visuella representationen av en specifik abstraktion inom applikationen
  • Abstraktion: Det är affärsdomänfunktionaliteten i applikationen
  • Kontroll: Det är en komponent som håller konsekvens mellan abstraktionen i systemet och deras presentation för användaren förutom att kommunicera med andra kontroller i systemet

10) Nämn fördelarna och nackdelarna med MVC-modellen?

Fördelar

Nackdelar

  • Det representerar tydlig åtskillnad mellan affärslogik och presentationslogik
  • Varje MVC-objekt har olika ansvarsområden
  • Utvecklingen fortskrider parallellt
  • Lätt att hantera och underhålla
  • Alla klasser och objekt är oberoende av varandra
  • Modellmönstret är lite komplext
  • Ineffektivitet i datatillgång i sikte
  • Med modernt användargränssnitt är det svårt att använda MVC
  • Du behöver flera programmerare för parallell utveckling
  • Flera teknologikunskaper krävs

11) Förklara rollen som "ActionFilters" i MVC?

I MVC hjälper "ActionFilters" dig att utföra logik medan MVC-åtgärd körs eller dess körning.

12) Förklara vilka steg för genomförandet av ett MVC-projekt?

Stegen för genomförandet av ett MVC-projekt inkluderar

  • Ta emot första begäran om ansökan
  • Utför dirigering
  • Skapar MVC-begäranhanterare
  • Skapa kontroller
  • Kör kontrollen
  • Åkalla handling
  • Utför resultat

13) Förklara vad som är routing? Vilka är de tre segmenten för routing är viktigt?

Routing hjälper dig att bestämma en URL-struktur och mappa URL med Controller.

De tre segment som är viktiga för routing är

  • Kontrollnamn
  • ActionMethodName
  • Parameter

14) Förklara hur dirigering görs i MVC-mönster?

Det finns en grupp rutter som kallas RouteCollection, som består av registrerade rutter i applikationen. Metoden RegisterRoutes registrerar rutterna i denna samling. En rutt definierar ett URL-mönster och en hanterare som ska användas om begäran matchar mönstret. Den första parametern till MapRoute-metoden är namnet på rutten. Den andra parametern är det mönster som webbadressen matchar. Den tredje parametern kan vara standardvärdena för platshållarna om de inte bestäms.

15) Förklara med hjälp av hyperlänk hur du kan navigera från en vy till en annan vy?

Genom att använda "ActionLink" -metoden som visas i koden nedan. Koden nedan gör en enkel URL som hjälper dig att navigera till "Hem" -kontrollen och åberopa "GotoHome" -åtgärden.

Dölj / kopiera kod

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

16) Nämn hur kan hålla session i MVC?

Sessionen kan upprätthållas i MVC på tre sätt tempdata, viewdata och viewbag.

17) Nämn vad är skillnaden mellan Temp-data, View och View Bag?

  • Temp data: Det hjälper till att behålla data när du byter från en controller till en annan controller.
  • Visa data: Det hjälper till att underhålla data när du flyttar från kontroller till vy
  • View Bag: Det är ett dynamiskt omslag kring visningsdata

18) Vad är partiell vy i MVC?

Delvy i MVC gör en del av visningsinnehållet. Det är användbart för att minska koddubblering. Enkelt uttryckt tillåter partiell vy att göra en vy i föräldervyn.

19) Förklara hur du kan implementera Ajax i MVC?

I MVC kan Ajax implementeras på två sätt

  • Ajax-bibliotek
  • Jquery

20) Nämn vad är skillnaden mellan "ActionResult" och "ViewResult"?

"ActionResult" är en abstrakt klass medan "ViewResult" härrör från "AbstractResult" -klassen. "ActionResult" har ett antal härledda klasser som "JsonResult", "FileStreamResult" och "ViewResult".

"ActionResult" är bäst om du dynamiskt härleder olika typer av vyer.

21) Förklara hur du kan skicka tillbaka resultatet i JSON-format i MVC?

För att skicka tillbaka resultatet i JSON-format i MVC kan du använda klassen "JSONRESULT".

22) Förklara vad som är skillnaden mellan Visa och Delvy?

Se

Delvy

  • Den innehåller layoutsidan
  • Innan någon vy återges renderas visningsstartsidan
  • View kan ha markeringstaggar som body, html, head, title, meta etc.
  • Utsikten är inte lätt jämfört med partiell vy
  • Den innehåller inte layoutsidan
  • Delvis vy verifierar inte för en viewstart.cshtml. Vi kan inte placera gemensam kod för en delvy i viewStart.cshtml.page
  • Delvy är utformad speciellt för att återges i vyn och bara därför består den inte av någon markering
  • Vi kan skicka en vanlig vy till RenderPartial-metoden

23) Lista ut vilka typer av resultat i MVC?

I MVC finns det tolv typer av resultat i MVC där "ActionResult" -klassen är huvudklassen medan de 11 är deras undertyper

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

24) Nämn vad är betydelsen av NonActionAttribute?

Alla offentliga metoder i en kontrollerklass behandlas som åtgärdsmetoden om du vill förhindra denna standardmetod måste du tilldela den offentliga metoden med NonActionAttribute.

25) Nämn vad används standardrutten {resource} .axd / {* pathinfo}?

Den här standardvägen förhindrar att en webbresursfil som Webresource.axd eller ScriptResource.axd skickas till styrenheten.

26) Nämn ordningen på de filter som körs, om flera filter är implementerade?

Filterordningen skulle vara som

  • Auktoriseringsfilter
  • Åtgärdsfilter
  • Svarfilter
  • Undantagsfilter

27) Nämn vilka filter körs i slutändan?

Till slut körs "Undantagsfilter".

28) Nämn vad är filtilläggen för rakhyvelvisningar?

För rakhyvelvisningar är filtilläggen

  • .cshtml: Om C # är programmeringsspråk
  • .vbhtml: Om VB är programmeringsspråket

29) Nämn vilka två sätt att lägga till begränsningar för en rutt?

Två metoder för att lägga till begränsningar till rutten är

  • Använda reguljära uttryck
  • Använda ett objekt som implementerar IRouteConstraint-gränssnittet

30) Nämn två fall där routing inte är implementerad eller krävs?

Två instanser där dirigering inte krävs är

  • När en fysisk fil hittas som matchar URL-mönstret
  • När routing är inaktiverat för ett URL-mönster

31) Nämn vilka är de största fördelarna med att använda MVC?

Det finns två viktiga fördelar med att använda MVC

  • Eftersom koden flyttas bakom en separat klassfil kan du använda koden i stor utsträckning
  • Eftersom bakom kod helt enkelt flyttas till.NET-klassen är det möjligt att automatisera UI-testning. Detta ger möjlighet att automatisera manuell testning och skriva enhetstester.