Najboljših 31 vprašanj za intervju z MVC & Odgovori

Anonim

Prenesite PDF

1) Pojasnite, kaj je Model-View-Controller?

MVC je vzorec programske arhitekture za razvoj spletnih aplikacij. Z njim se ukvarjajo trije predmeti Model-View-Controller.

2) Omenite, kaj predstavlja Model-View-Controller v aplikaciji MVC?

V modelu MVC

  • Model - predstavlja podatkovno domeno aplikacije. Z drugimi besedami, poslovna logika aplikacij je vsebovana v modelu in je odgovorna za vzdrževanje podatkov
  • Pogled - predstavlja uporabniški vmesnik, s katerim komunicirajo končni uporabniki. Skratka, vsa logika uporabniškega vmesnika je vključena v VIEW
  • Krmilnik - Krmilnik je tisti, ki odgovarja na dejanja uporabnika. Na podlagi uporabnikovih dejanj se ustrezni krmilnik odzove v modelu in izbere pogled za upodobitev, ki prikazuje uporabniški vmesnik. Uporabniška vhodna logika je v krmilniku

3) Pojasnite, v katerem sklopu je definiran okvir MVC?

Okvir MVC je definiran v System.Web.Mvc.

4) Naštejte nekaj različnih vrst vrnitve metode delovanja krmilnika?

  • Ogled rezultata
  • Rezultat Javascripta
  • Rezultat preusmeritve
  • Rezultat Json
  • Rezultat vsebine

5) Omenite, kakšna je razlika med dodajanjem poti v aplikacijo spletnega obrazca in aplikacijo MVC?

Za dodajanje poti v aplikacijo spletnega obrazca lahko uporabimo metodo MapPageRoute () razreda RouteCollection, kjer lahko dodajanje poti v aplikacijo MVC uporabimo z metodo MapRoute ().

6) Omenite, na katera dva načina lahko omejitvi dodate pot?

Dva načina za dodajanje omejitev poti sta

  • Uporabite regularne izraze
  • Uporabite objekt, ki izvaja IRouteConstraint Interface

7) Omenite, kakšne so prednosti MVC?

  • MVC vaš projekt loči v drug segment in razvijalci postanejo enostavni za delo
  • Enostavno je urediti ali spremeniti del vašega projekta, zaradi česar je projekt manjši za stroške razvoja in vzdrževanja
  • MVC naredi vaš projekt bolj sistematičen

8) Omenite, kaj funkcije "beforFilter ()", "beforeRender" in "afterFilter" naredijo v Controllerju?

  • beforeFilter (): Ta funkcija se zažene pred vsakim dejanjem v krmilniku. To je pravi kraj za iskanje aktivne seje ali pregled uporabniških dovoljenj.
  • beforeRender (): Ta funkcija se pokliče po logiki delovanja krmilnika, vendar pred upodobitvijo pogleda. Ta funkcija se pogosto ne uporablja, vendar je morda potrebna, če pred koncem določenega dejanja ročno prikličete render ()
  • afterFilter (): Ta funkcija se pokliče po vsakem dejanju krmilnika in po izvedbi upodabljanja. To je zadnja metoda krmilnika, ki se izvaja

9) Pojasnite vlogo predstavitve, abstrakcije in nadzora komponent v MVC?

  • Predstavitev: Je vizualna predstavitev določene abstrakcije v aplikaciji
  • Abstrakcija: To je funkcionalnost poslovne domene znotraj aplikacije
  • Nadzor: Je komponenta, ki ohranja skladnost med abstrakcijo znotraj sistema in njihovo predstavitvijo uporabniku, poleg tega pa komunicira z drugimi kontrolami v sistemu

10) Omenite prednosti in slabosti modela MVC?

Prednosti

Slabosti

  • Predstavlja jasno ločitev med poslovno in predstavitveno logiko
  • Vsak objekt MVC ima različne odgovornosti
  • Razvoj napreduje vzporedno
  • Enostavno upravljanje in vzdrževanje
  • Vsi razredi in predmeti so neodvisni drug od drugega
  • Vzorec modela je malo zapleten
  • Z vidika neučinkovitost dostopa do podatkov
  • S sodobnim uporabniškim vmesnikom je težko uporabljati MVC
  • Za vzporedni razvoj potrebujete več programerjev
  • Potrebno je znanje več tehnologij

11) Pojasnite vlogo "ActionFilters" v MVC?

V MVC "ActionFilters" vam pomagajo izvajati logiko, medtem ko se MVC dejanje izvaja ali njegovo izvajanje.

12) Pojasnite, kakšni so koraki za izvedbo projekta MVC?

Koraki za izvedbo projekta MVC vključujejo

  • Prejmite prvo zahtevo za prijavo
  • Izvaja usmerjanje
  • Ustvari obdelovalec zahtev MVC
  • Ustvari krmilnik
  • Izvedite krmilnik
  • Prikliči akcijo
  • Izvedi rezultat

13) Pojasnite, kaj je usmerjanje? Kateri trije segmenti so za usmerjanje pomembni?

Usmerjanje vam pomaga, da se odločite za strukturo URL-ja in preslikate URL s krmilnikom.

Trije segmenti, ki so pomembni za usmerjanje, so

  • ControllerName
  • ActionMethodName
  • Parameter

14) Pojasnite, kako poteka usmerjanje v vzorcu MVC?

Obstaja skupina poti, imenovana RouteCollection, ki jo sestavljajo registrirane poti v aplikaciji. Metoda RegisterRoutes beleži poti v tej zbirki. Pot definira vzorec URL-ja in vodnik, ki ga je treba uporabiti, če se zahteva ujema z vzorcem. Prvi parameter metode MapRoute je ime poti. Drugi parameter bo vzorec, na katerega se URL ujema. Tretji parameter so lahko privzete vrednosti za ograde, če niso določene.

15) Z uporabo hiperpovezave razložite, kako se lahko premikate od enega pogleda do drugega?

Z uporabo metode "ActionLink", kot je prikazano v spodnji kodi. Spodnja koda bo ustvarila preprost URL, ki bo pomagal odpreti krmilnik »Domov« in priklicati dejanje »GotoHome«.

Strni / kopiraj kodo

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

16) Omenite, kako lahko vzdržujete sejo v MVC?

Sejo lahko v MVC vzdržujete na tri načine: tempdata, viewdata in viewbag.

17) Omenite, kakšna je razlika med temp data, View in View Bag?

  • Temp data: pomaga pri ohranjanju podatkov, ko preklopite z enega krmilnika na drugega.
  • Ogled podatkov: pomaga pri ohranjanju podatkov, ko se premaknete iz krmilnika v pogled
  • Ogled vrečke: Je dinamičen ovoj okoli podatkov o ogledu

18) Kaj je delni pogled v MVC?

Delni pogled v MVC upodablja del vsebine pogleda. V pomoč je pri zmanjševanju podvajanja kode. Preprosto povedano, delni pogled omogoča upodabljanje pogleda v nadrejenem pogledu.

19) Pojasnite, kako lahko implementirate Ajax v MVC?

V MVC je Ajax mogoče izvajati na dva načina

  • Knjižnice Ajax
  • Jquery

20) Omenite, kakšna je razlika med "ActionResult" in "ViewResult"?

"ActionResult" je abstraktni razred, medtem ko "ViewResult" izhaja iz razreda "AbstractResult". "ActionResult" ima številne izpeljane razrede, kot so "JsonResult", "FileStreamResult" in "ViewResult".

"ActionResult" je najboljši, če dinamično izpeljete različne vrste pogleda.

21) Pojasnite, kako lahko rezultat pošljete nazaj v obliki JSON v MVC?

Če želite rezultat poslati nazaj v obliki JSON v MVC, lahko uporabite razred "JSONRESULT".

22) Pojasnite, v čem je razlika med pogledom in delnim pogledom?

Pogled

Delni pogled

  • Vsebuje stran postavitve
  • Pred upodobitvijo katerega koli pogleda je upodobljena stran za zagon
  • Pogled ima lahko oznake, kot so telo, html, glava, naslov, meta itd.
  • Pogled ni lahek v primerjavi z delnim pogledom
  • Ne vsebuje strani postavitve
  • Delni pogled ne preveri za viewstart.cshtml. Skupne kode za delni pogled ne moremo vstaviti na stran viewStart.cshtml.
  • Delni pogled je zasnovan posebej za upodabljanje v pogledu in ravno zaradi tega ne vsebuje nobenih oznak
  • V metodo RenderPartial lahko prenesemo običajen pogled

23) Naštejte vrste rezultatov v MVC?

V MVC obstaja dvanajst vrst rezultatov v MVC, kjer je razred "ActionResult" glavni razred, 11 pa je njihovih podtipov

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

24) Omenite, kako pomemben je NonActionAttribute?

Vse javne metode razreda krmilnika se obravnavajo kot akcijska metoda, če želite preprečiti to privzeto metodo, potem morate javno metodo dodeliti z NonActionAttribute.

25) Omenite, za kaj se uporablja privzeta pot {resource} .axd / {* pathinfo}?

Ta privzeta pot preprečuje, da bi se zahteva za datoteko spletnega vira, kot je Webresource.axd ali ScriptResource.axd, posredovala krmilniku.

26) Omenite vrstni red filtrov, ki se izvajajo, če je vgrajenih več filtrov?

Vrstni red filtra bi bil všeč

  • Filtri za avtorizacijo
  • Akcijski filtri
  • Odzivni filtri
  • Filtri izjem

27) Omenite, kateri filtri se na koncu izvedejo?

Na koncu se izvedejo "Filtri izjem".

28) Omenite, katere so končnice datotek za poglede britvic?

Za poglede britvic so pripone datotek

  • .cshtml: Če je C # programski jezik
  • .vbhtml: Če je VB programski jezik

29) Omenite, na kakšen način lahko na pot dodate omejitve?

Dva načina za dodajanje omejitev poti je

  • Uporaba regularnih izrazov
  • Uporaba predmeta, ki implementira vmesnik IRouteConstraint

30) Omenite dva primera, ko usmerjanje ni izvedeno ali zahtevano?

Dva primera, pri katerih usmerjanje ni potrebno

  • Ko je najdena fizična datoteka, ki se ujema z vzorcem URL-ja
  • Ko je usmerjanje za vzorec URL-ja onemogočeno

31) Omenite, katere so glavne prednosti uporabe MVC?

Uporaba MVC ima dve ključni prednosti

  • Ker se koda premakne za ločeno datoteko razreda, jo lahko v veliki meri uporabljate
  • Ker je zadaj koda preprosto premaknjena v razred .NET, je mogoče avtomatizirati testiranje uporabniškega vmesnika. To daje priložnost za avtomatizacijo ročnega preskušanja in pisanje preskusov enot.