31 parimat MVC intervjuuküsimust ja Vastused

Anonim

Laadige alla PDF

1) Selgitage, mis on mudelivaade-kontroller?

MVC on tarkvaraarhitektuurimudel veebirakenduste arendamiseks. Seda haldab kolm objekti Model-View-Controller.

2) Mainige, mida Model-View-Controller esindab MVC-rakenduses?

MVC mudelis

  • Mudel - see tähistab rakenduse andmevaldkonda. Teisisõnu, rakenduste äriloogika sisaldub mudelis ja vastutab andmete säilitamise eest
  • Vaade - see tähistab kasutajaliidest, millega lõppkasutajad suhtlevad. Lühidalt, kogu kasutajaliidese loogika sisaldub vaates
  • Kontroller - see on kontroller, mis vastab kasutaja toimingutele. Kasutaja toimingute põhjal reageerib vastav kontroller mudelis ja valib renderdatava vaate, mis kuvab kasutajaliidese. Kasutaja sisestatud loogika sisaldub koos kontrolleriga

3) Selgitage, millises koostus on MVC raamistik määratletud?

MVC raamistik on määratletud jaotises System.Web.Mvc.

4) Loetlege mõned kontrolleri toimemeetodi erinevad tagastustüübid?

  • Kuva tulemus
  • Javascripti tulemus
  • Ümbersuunamise tulemus
  • Jsoni tulemus
  • Sisu tulemus

5) Mainige, mis vahe on marsruutide lisamisel veebivormi rakendusele ja MVC rakendusele?

Marsruutide lisamiseks veebivormi rakendusse võime kasutada klassi RouteCollection meetodit MapPageRoute (), kus marsruutide lisamisel MVC rakendusse saate kasutada meetodit MapRoute ().

6) Mainige, kuidas on marsruudile piirangute lisamiseks kaks võimalust?

Kaks meetodit marsruudile piirangute lisamiseks on

  • Kasutage regulaaravaldisi
  • Kasutage objekti, mis rakendab IRouteConstraint Interface'i

7) Mainige, millised on MVC eelised?

  • MVC eraldab teie projekti teiseks segmendiks ja arendajatel on selle kallal lihtne töötada
  • Projekti mõnda osa on lihtne redigeerida või muuta, mis vähendab projekti arendus- ja hoolduskulusid
  • MVC muudab teie projekti süstemaatilisemaks

8) Mainige, mida funktsioonid "beforFilter ()", "beforeRender" ja "afterFilter" kontrolleris teevad?

  • beforeFilter (): see funktsioon käivitatakse enne kontrolleri iga toimingut. See on õige koht aktiivse seansi kontrollimiseks või kasutajate lubade kontrollimiseks.
  • beforeRender (): Seda funktsiooni kutsutakse pärast kontrolleri toimimisloogikat, kuid enne vaate renderdamist. Seda funktsiooni ei kasutata sageli, kuid see võib olla vajalik, kui helistate renderdamist () käsitsi enne antud toimingu lõppu
  • afterFilter (): Seda funktsiooni kutsutakse pärast iga kontrolleri toimingut ja pärast renderdamist. See on viimane kontrolleri meetod, mida käivitada

9) Selgitage komponentide esitluse, abstraktsiooni ja kontrolli rolli MVC-s?

  • Esitlus: see on konkreetse abstraktsiooni visuaalne esitus rakenduses
  • Abstraktsioon: see on ettevõtte domeeni funktsionaalsus rakenduses
  • Juhtimine: see on komponent, mis hoiab järjepidevust süsteemisisese abstraktsiooni ja kasutajale esitamise vahel lisaks suhtlemisele teiste süsteemis olevate juhtelementidega

10) Kas mainida MVC mudeli eeliseid ja puudusi?

Eelised

Puudused

  • See tähistab äriloogika ja esitlusloogika selget eraldamist
  • Igal MVC-objektil on erinevad kohustused
  • Areng edeneb paralleelselt
  • Lihtne hallata ja hooldada
  • Kõik klassid ja objekt on üksteisest sõltumatud
  • Mudeli muster on vähe keeruline
  • Andmetele juurdepääsu ebatõhusus silmas pidades
  • Kaasaegse kasutajaliidese korral on MVC-d keeruline kasutada
  • Paralleelseks arendamiseks vajate mitut programmeerijat
  • Vaja on teadmisi mitme tehnoloogia kohta

11) Selgitage "ActionFilters" rolli MVC-s?

MVC-s aitavad "ActionFilters" loogikat täita, kui MVC-toiming on täidetud või selle käivitatud.

12) Selgitage, millised on MVC projekti teostamise sammud?

MVC projekti teostamise sammud hõlmavad järgmist

  • Saage esimene taotlus rakenduse kohta
  • Teeb marsruutimist
  • Loob MVC päringute käitleja
  • Loo kontroller
  • Käivita kontroller
  • Käivitage toiming
  • Täitke tulemus

13) Selgitage, mis on marsruutimine? Millised on marsruudi jaoks olulised kolm segmenti?

Marsruutimine aitab teil otsustada URL-i struktuuri ja kaardistada URL kontrolleriga.

Kolm marsruudi jaoks olulist segmenti on

  • ControllerName
  • ActionMethodName
  • Parameeter

14) Selgitage, kuidas marsruutimine toimub MVC mustris?

On marsruutide rühm RouteCollection, mis koosneb rakenduses registreeritud marsruutidest. RegisterRoutes-meetod registreerib selle kogu marsruudid. Marsruut määrab URL-i mustri ja käitleja, mida kasutada, kui taotlus vastab mustrile. MapRoute-meetodi esimene parameeter on marsruudi nimi. Teine parameeter on muster, millele URL sobib. Kolmas parameeter võib olla kohahoidjate vaikeväärtus, kui neid ei määrata.

15) Selgitage hüperlingi abil, kuidas saate ühest vaatest teise vaatesse navigeerida?

Kasutades meetodit "ActionLink", nagu on näidatud allpool toodud koodis. Allpool olev kood moodustab lihtsa URL-i, mis aitab navigeerida kontrollerini „Kodu“ ja käivitada toimingu „GotoHome“.

Ahenda / kopeeri kood

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

16) Mainige, kuidas saab MVC-seanssi säilitada?

Seanssi saab MVC-s säilitada kolmel viisil: tempdata, viewdata ja viewbag.

17) Mainige, mis vahe on Tempandmetel, View ja View Bagil?

  • Temperatuuriandmed: see aitab säilitada andmeid, kui vahetate ühelt kontrollerilt teisele.
  • Andmete kuvamine: see aitab säilitada andmeid kontrollerilt vaatele liikumisel
  • Vaatekott: see on dünaamiline ümbris vaateandmete ümber

18) Mis on MVC osaline vaade?

Osaline vaade MVC-s renderdab osa vaate sisust. See on kasulik koodi dubleerimise vähendamiseks. Lihtsamalt öeldes võimaldab osaline vaade vaate renderdada vanemvaates.

19) Selgitage, kuidas saate Ajaxi MVC-s rakendada?

MVC-s saab Ajaxi rakendada kahel viisil

  • Ajaxi raamatukogud
  • Jquery

20) Mainige, mis vahe on "ActionResult" ja "ViewResult" vahel?

"ActionResult" on abstraktne klass, samas kui "ViewResult" on tuletatud klassist "AbstractResult". "ActionResult" sisaldab mitmeid tuletatud klasse nagu "JsonResult", "FileStreamResult" ja "ViewResult".

"ActionResult" on parim, kui tuletate erinevat tüüpi vaateid dünaamiliselt.

21) Selgitage, kuidas saate tulemuse MVC-s JSON-vormingus tagasi saata?

Tulemuse MVC-s JSON-vormingus tagasi saatmiseks võite kasutada klassi "JSONRESULT".

22) Selgitage, mis vaate vaade on osalise vaate vahel?

Vaade

Osaline vaade

  • See sisaldab küljenduslehte
  • Enne mis tahes vaate renderdamist renderdatakse vaatamise algusleht
  • Vaates võivad olla märgistussildid nagu body, html, head, title, meta jne.
  • Vaade pole osalise vaatega võrreldes kerge
  • See ei sisalda küljenduslehte
  • Osaline vaade ei kinnita viewstart.cshtml. Lehele viewStart.cshtml.page ei saa osalise vaate jaoks ühist koodi panna
  • Osaline vaade on loodud spetsiaalselt vaates renderdamiseks ja just seetõttu ei koosne see märgistusest
  • Regulaarse vaate saame edastada RenderPartial meetodile

23) Loetlege MVC tulemuste tüübid?

MVC-s on MVC-s kaksteist tüüpi tulemusi, kus põhiklass on "ActionResult", samas kui 11 on nende alamtüübid

  • ViewResult
  • PartialViewResult
  • Tühi tulemus
  • RedirectResult
  • RedirectToRouteResult
  • JsonTulemus
  • JavaScripti tulemus
  • ContentResult
  • FileContentResult
  • FileStreamResult
  • FilePathResult

24) Mainige, mis on NonActionAttribute'i tähtsus?

Kõiki kontrolleriklassi avalikke meetodeid käsitletakse tegevusmeetodina, kui soovite selle vaikemeetodi ära hoida, peate avaliku meetodi määrama koos NonActionAttribute'iga.

25) Mainige, mis on vaikimisi marsruudi {resource} .axd / {* pathinfo} kasutamine?

See vaikemarsruut takistab veebiressurssifaili nagu Webresource.axd või ScriptResource.axd taotlemise edastamist kontrollerile.

26) Kui mitu filtrit on rakendatud, nimetage käivitatavate filtrite järjekord?

Filtri järjekord oleks selline

  • Autoriseerimisfiltrid
  • Toimefiltrid
  • Vastusfiltrid
  • Erandfiltrid

27) Mainige, milliseid filtreid lõpuks täidetakse?

Lõpuks käivitatakse "erandfiltrid".

28) Mainige, millised on žiletivaadete faililaiendid?

Raseerimisvaadete jaoks on faililaiendid

  • .cshtml: kui programmeerimiskeel on C #
  • .vbhtml: kui programmeerimiskeel on VB

29) Mainige, millised on kaks võimalust marsruudile piirangute lisamiseks?

Kaks meetodit piirangute lisamiseks marsruudile on

  • Regulaaravaldiste kasutamine
  • IRouteConstrainti liidest rakendava objekti kasutamine

30) Kas mainida kahte juhtumit, kus marsruutimine pole rakendatud või vajalik?

Kaks juhtumit, kus marsruutimine pole vajalik, on

  • Kui leitakse füüsiline fail, mis vastab URL-i mustrile
  • Kui URL-i mustri marsruutimine on keelatud

31) Mainige, millised on MVC kasutamise peamised eelised?

MVC kasutamisel on kaks peamist eelist

  • Kuna kood liigutatakse eraldi klassifaili taha, saate koodi suures osas kasutada
  • Kuna koodi taga kolitakse lihtsalt klassi.NET, on võimalik kasutajaliidese testimist automatiseerida. See annab võimaluse automatiseerida käsitsi testimist ja kirjutada ühikutestid.