Top 31 MVC intervijas jautājums & Atbildes

Anonim

Lejupielādēt PDF

1) Paskaidrojiet, kas ir Model-View-Controller?

MVC ir programmatūras arhitektūras modelis tīmekļa lietojumprogrammu izstrādei. To apstrādā trīs objekti Model-View-Controller.

2) Pieminiet, ko Model-View-Controller pārstāv MVC lietojumprogrammā?

MVC modelī

  • Modelis - tas attēlo lietojumprogrammas datu domēnu. Citiem vārdiem sakot, lietojumprogrammu biznesa loģika ir iekļauta modelī, un tā ir atbildīga par datu uzturēšanu
  • Skats - tas attēlo lietotāja saskarni, ar kuru sazinās galalietotāji. Īsāk sakot, visa lietotāja saskarnes loģika ir ietverta VIEW
  • Kontrolieris - tas ir kontrolieris, kas atbild uz lietotāja darbībām. Pamatojoties uz lietotāja darbībām, attiecīgais kontrolieris reaģē modeļa ietvaros un izvēlas skatu, kuru renderēt, parādot lietotāja saskarni. Lietotāja ievades loģika ir iekļauta kontrolierī

3) Paskaidrojiet, kurā montāžā ir definēts MVC ietvars?

MVC ietvars ir definēts System.Web.Mvc.

4) Uzskaitiet dažus dažādus kontroliera darbības metodes atgriešanas veidus?

  • Skatīt rezultātu
  • Javascript rezultāts
  • Pāradresēt rezultātu
  • Džsona rezultāts
  • Satura rezultāts

5) Pieminiet, kāda ir atšķirība starp maršrutu pievienošanu tīmekļa formas lietojumprogrammai un MVC lietojumprogrammai?

Lai pievienotu maršrutus tīmekļa veidlapas lietojumprogrammai, mēs varam izmantot klases RouteCollection metodi MapPageRoute (), kur, pievienojot maršrutus MVC lietojumprogrammai, varat izmantot metodi MapRoute ().

6) Pieminiet, kādi ir divi veidi, kā maršrutam pievienot ierobežojumus?

Divas metodes, kā maršrutam pievienot ierobežojumus, ir

  • Izmantojiet regulāras izteiksmes
  • Izmantojiet objektu, kas realizē IRouteConstraint interfeisu

7) Pieminiet, kādas ir MVC priekšrocības?

  • MVC nošķir jūsu projektu citā segmentā, un izstrādātājiem kļūst viegli strādāt
  • Ir viegli rediģēt vai mainīt kādu sava projekta daļu, kas samazina projekta izstrādes un uzturēšanas izmaksas
  • MVC padara jūsu projektu sistemātiskāku

8) Pieminiet, kādas funkcijas "beforFilter ()", "beforeRender" un "afterFilter" veic kontrolierī?

  • beforeFilter (): Šī funkcija tiek izpildīta pirms katras darbības kontrolierī. Tā ir īstā vieta, kur pārbaudīt aktīvu sesiju vai pārbaudīt lietotāju atļaujas.
  • beforeRender (): Šī funkcija tiek izsaukta pēc kontrollera darbību loģikas, bet pirms skata renderēšanas. Šī funkcija netiek bieži izmantota, taču tā var būt nepieciešama, ja renderēšanu () izsaucat manuāli pirms konkrētās darbības beigām
  • afterFilter (): Šī funkcija tiek izsaukta pēc katras kontrollera darbības un pēc renderēšanas. Tā ir pēdējā palaistā kontroliera metode

9) Paskaidrojiet komponentu prezentācijas, abstrakcijas un kontroles lomu MVC?

  • Prezentācija: tas ir konkrētas abstrakcijas vizuāls attēlojums lietojumprogrammā
  • Abstrakcija: tā ir biznesa domēna funkcionalitāte lietojumprogrammā
  • Vadība: tā ir sastāvdaļa, kas uztur saskanību starp abstrakciju sistēmā un to parādīšanu lietotājam papildus saziņai ar citām sistēmas vadības ierīcēm

10) Pieminiet MVC modeļa priekšrocības un trūkumus?

Priekšrocības

Trūkumi

  • Tas apzīmē skaidru nodalījumu starp biznesa loģiku un prezentācijas loģiku
  • Katram MVC objektam ir atšķirīgi pienākumi
  • Izstrāde notiek paralēli
  • Viegli pārvaldīt un uzturēt
  • Visas klases un objekts ir neatkarīgi viens no otra
  • Modeļa modelis ir maz sarežģīts
  • Datu piekļuves neefektivitāte, ņemot vērā
  • Izmantojot mūsdienīgu lietotāja saskarni, ir grūti izmantot MVC
  • Paralēlai izstrādei nepieciešami vairāki programmētāji
  • Nepieciešamas zināšanas par vairākām tehnoloģijām

11) Paskaidrojiet "ActionFilters" lomu MVC?

MVC "ActionFilters" palīdz izpildīt loģiku, kamēr tiek izpildīta MVC darbība vai tā tiek izpildīta.

12) Paskaidrojiet, kādi ir MVC projekta izpildes soļi?

MVC projekta izpildes darbības ietver

  • Saņemiet pirmo pieteikuma pieprasījumu
  • Veic maršrutēšanu
  • Izveido MVC pieprasījumu apstrādātāju
  • Izveidot kontrolieri
  • Izpildīt kontrolieri
  • Izsaukt darbību
  • Izpildīt rezultātu

13) Paskaidrojiet, kas ir maršrutēšana? Kādi ir trīs segmenti, lai maršrutēšana būtu svarīga?

Maršrutēšana palīdz jums izlemt URL struktūru un kartēt URL ar kontrolieri.

Trīs segmenti, kas ir svarīgi maršrutēšanai, ir

  • ControllerName
  • ActionMethodName
  • Parametrs

14) Paskaidrojiet, kā maršrutēšana tiek veikta pēc MVC modeļa?

Ir maršrutu grupa ar nosaukumu RouteCollection, kas sastāv no lietojumprogrammā reģistrētiem maršrutiem. RegisterRoutes metode reģistrē maršrutus šajā kolekcijā. Maršruts nosaka URL modeli un apstrādātāju, kas jāizmanto, ja pieprasījums atbilst modelim. Pirmais MapRoute metodes parametrs ir maršruta nosaukums. Otrais parametrs būs modelis, kuram atbilst URL. Trešais parametrs var būt vietturu noklusējuma vērtības, ja tās nav noteiktas.

15) Izmantojot hipersaiti, izskaidrojiet, kā varat pārvietoties no viena skata uz citu skatu?

Izmantojot "ActionLink" metodi, kā parādīts zemāk esošajā kodā. Zemāk redzamais kods izveidos vienkāršu URL, kas palīdzēs pāriet uz kontrolierīci “Sākums” un izsaukt darbību “GotoHome”.

Sakļaut / kopēt kodu

<% = Html.ActionLink ("Sākums", "Gotohome")%>

16) Pieminiet, kā var uzturēt sesiju MVC?

Sesiju MVC var uzturēt trīs veidos: tempdata, viewdata un viewbag.

17) Pieminiet, kāda ir atšķirība starp Temp datiem, View un View Bag?

  • Temperatūras dati: tas palīdz saglabāt datus, pārejot no viena kontroliera uz citu kontrolieri.
  • Datu skatīšana: tas palīdz saglabāt datus, pārejot no kontroliera uz skatu
  • Skata soma: tas ir dinamisks aptinums ap skata datiem

18) Kāds ir daļējs skats MVC?

Daļējs skats MVC atveido skata satura daļu. Tas ir noderīgi, lai samazinātu koda dublēšanos. Vienkārši sakot, daļējs skats ļauj renderēt skatu vecāku skatā.

19) Paskaidrojiet, kā jūs varat ieviest Ajax MVC?

MVC Ajax var ieviest divējādi

  • Ajax bibliotēkas
  • Jquery

20) Pieminiet, kāda ir atšķirība starp "ActionResult" un "ViewResult"?

"ActionResult" ir abstrakta klase, savukārt "ViewResult" ir atvasināta no klases "AbstractResult". "ActionResult" ir vairākas atvasinātas klases, piemēram, "JsonResult", "FileStreamResult" un "ViewResult".

"ActionResult" ir labākais, ja dinamiski iegūstat dažāda veida skatus.

21) Paskaidrojiet, kā jūs varat nosūtīt rezultātu atpakaļ JSON formātā MVC?

Lai rezultātu nosūtītu atpakaļ JSON formātā MVC, varat izmantot "JSONRESULT" klasi.

22) Paskaidrojiet, kāda ir atšķirība starp skatu un daļēju skatu?

Skats

Daļējs skats

  • Tajā ir izkārtojuma lapa
  • Pirms jebkura skata renderēšanas tiek parādīta skata sākšanas lapa
  • Skatā var būt iezīmēšanas tagi, piemēram, body, html, head, title, meta utt.
  • Skats nav viegls, salīdzinot ar daļēju skatu
  • Tajā nav izkārtojuma lapas
  • Daļējs skats nepārbauda viewstart.cshtml. Mēs nevaram ievietot kopēju kodu daļējam skatam viewStart.cshtml.page
  • Daļējs skats ir īpaši izstrādāts renderēšanai skatā, un tikai tāpēc tas nesastāv no atzīmes
  • Mēs varam nodot regulāru skatu RenderPartial metodei

23) Uzskaitiet MVC rezultātu veidus?

MVC MVC ir divpadsmit rezultātu veidi, kur "ActionResult" klase ir galvenā klase, bet 11 ir viņu apakštipi

  • ViewResult
  • PartialViewResult
  • EmptyResult
  • RedirectResult
  • RedirectToRouteResult
  • JsonRezultāts
  • JavaScriptResult
  • ContentResult
  • FileContentResult
  • FileStreamResult
  • FilePathResult

24) Pieminiet, kāda ir NonActionAttribute nozīme?

Visas kontroliera klases publiskās metodes tiek uzskatītas par darbības metodi, ja vēlaties novērst šo noklusējuma metodi, jums jāpiešķir publiskā metode ar NonActionAttribute.

25) Pieminiet, kāds ir noklusējuma maršruta {resurss} .axd / {* pathinfo} izmantojums?

Šis noklusējuma maršruts novērš pieprasījumu pēc tīmekļa resursu faila, piemēram, Webresource.axd vai ScriptResource.axd, nodošanas kontrolierim.

26) Norādiet izpildāmo filtru secību, ja ir ieviesti vairāki filtri?

Filtra secība būtu līdzīga

  • Autorizācijas filtri
  • Darbības filtri
  • Atbildes filtri
  • Izņēmuma filtri

27) Pieminiet, kādi filtri tiek izpildīti beigās?

Galu galā tiek izpildīti "izņēmuma filtri".

28) Pieminiet, kādi ir skuvekļu skatu failu paplašinājumi?

Skuvekļu skatos failu paplašinājumi ir

  • .cshtml: Ja C # ir programmēšanas valoda
  • .vbhtml: Ja VB ir programmēšanas valoda

29) Pieminiet, kādi ir divi veidi, kā maršrutam pievienot ierobežojumus?

Divas metodes ierobežojumu pievienošanai maršrutam ir

  • Regulāru izteicienu izmantošana
  • Izmantojot objektu, kas realizē IRouteConstraint saskarni

30) Pieminēt divus gadījumus, kad maršrutēšana nav ieviesta vai nepieciešama?

Ir divi gadījumi, kad maršrutēšana nav nepieciešama

  • Kad tiek atrasts fizisks fails, kas atbilst URL modelim
  • Ja URL modelim maršrutēšana ir atspējota

31) Pieminiet, kādi ir galvenie MVC izmantošanas ieguvumi?

MVC izmantošanai ir divas galvenās priekšrocības

  • Tā kā kods tiek pārvietots aiz atsevišķa klases faila, jūs to varat lielā mērā izmantot
  • Tā kā aiz koda tiek vienkārši pārvietots uz.NET klasi, ir iespējams automatizēt lietotāja saskarnes testēšanu. Tas dod iespēju automatizēt manuālo testēšanu un ierakstīt vienības testus.