31 parasta MVC-haastattelukysymystä & Vastaukset

Anonim

Lataa PDF

1) Selitä, mikä on Model-View-Controller?

MVC on ohjelmistoarkkitehtuurimalli verkkosovellusten kehittämiseen. Sitä käsittelee kolme objektia Model-View-Controller.

2) Mainitse mitä Model-View-Controller edustaa MVC-sovelluksessa?

MVC-mallissa

  • Malli - Se edustaa sovelluksen tietotunnusta. Toisin sanoen sovellusten liiketoimintalogiikka sisältyy malliin ja se vastaa tietojen ylläpidosta
  • Näkymä - Se edustaa käyttöliittymää, jonka kanssa loppukäyttäjät ovat yhteydessä. Lyhyesti sanottuna kaikki käyttöliittymälogiikat sisältyvät VIEW-näkymään
  • Ohjain - Ohjain vastaa käyttäjien toimiin. Käyttäjän toimien perusteella vastaava ohjain reagoi mallissa ja valitsee näkymän, joka näyttää käyttöliittymän. Käyttäjän syöttölogiikka sisältyy ohjaimen sisään

3) Selitä, missä kokoonpanossa MVC-kehys on määritelty?

MVC-kehys on määritelty System.Web.Mvc-tiedostossa.

4) Luettele muutama erilainen ohjaimen toimintamenetelmän palautustyyppi?

  • Näytä tulos
  • Javascript-tulos
  • Uudelleenohjauksen tulos
  • Jsonin tulos
  • Sisällön tulos

5) Mainitse, mikä on ero reittien lisäämisen, verkkolomakesovelluksen ja MVC-sovelluksen välillä?

Lisäämällä reittejä verkkolomakesovellukseen voimme käyttää RouteCollection-luokan MapPageRoute () -menetelmää, jossa reittien lisääminen MVC-sovellukseen voit käyttää MapRoute () -menetelmää.

6) Mainitse mitkä kaksi tapaa lisätä rajoituksia reitille?

Kaksi tapaa lisätä rajoituksia reitille on

  • Käytä säännöllisiä lausekkeita
  • Käytä objektia, joka toteuttaa IRouteConstraint-käyttöliittymän

7) Mainitse mitkä ovat MVC: n edut?

  • MVC erottaa projektisi eri segmentiksi, ja kehittäjien on helppo työskennellä sen kanssa
  • Projektin jotakin osaa on helppo muokata tai muuttaa, mikä vähentää projektin kehitys- ja ylläpitokustannuksia
  • MVC tekee projektistasi systemaattisemman

8) Mainitse mitä toiminnot "beforFilter ()", "beforeRender" ja "afterFilter" tekevät ohjaimessa?

  • beforeFilter (): Tämä toiminto suoritetaan ennen jokaista ohjaimen toimintaa. Se on oikea paikka tarkistaa aktiivinen istunto tai tarkistaa käyttäjien oikeudet.
  • beforeRender (): Tätä toimintoa kutsutaan ohjaimen toimintalogiikan jälkeen, mutta ennen kuin näkymä renderöidään. Tätä toimintoa ei käytetä usein, mutta se voi olla tarpeen, jos soitat render () -sovellusta manuaalisesti ennen tietyn toiminnon loppua
  • afterFilter (): Tämä toiminto kutsutaan jokaisen ohjaimen toiminnan jälkeen ja sen jälkeen, kun renderointi on suoritettu. Se on viimeinen ohjaimen menetelmä

9) Selitä komponenttien esityksen, abstraktion ja kontrollin rooli MVC: ssä?

  • Esitys: Se on visuaalinen esitys tietystä abstraktista sovelluksessa
  • Abstraktio: Se on yrityksen verkkotunnuksen toiminnallisuus sovelluksessa
  • Ohjaus: Se on komponentti, joka pitää johdonmukaisuuden järjestelmän sisäisen abstraktion ja niiden esityksen välillä käyttäjälle sen lisäksi, että se kommunikoi järjestelmän muiden ohjausobjektien kanssa.

10) Mainitse MVC-mallin edut ja haitat?

Edut

Haitat

  • Se edustaa selkeää eroa liiketoimintalogiikan ja esityslogiikan välillä
  • Jokaisella MVC-objektilla on erilaiset vastuut
  • Kehitys etenee rinnakkain
  • Helppo hallita ja ylläpitää
  • Kaikki luokat ja objekti ovat toisistaan ​​riippumattomia
  • Mallikuvio on vähän monimutkainen
  • Tietojen saatavuuden tehottomuus näkymässä
  • Nykyaikaisella käyttöliittymällä on vaikea käyttää MVC: tä
  • Tarvitset useita ohjelmoijia rinnakkaiseen kehitykseen
  • Tarvitaan monen tekniikan tuntemus

11) Selitä "ActionFilters" -rooli MVC: ssä?

MVC: ssä "ActionFilters" auttaa sinua suorittamaan logiikkaa MVC-toiminnon suorituksen tai sen suorittamisen aikana.

12) Selitä, mitkä ovat vaiheet MVC-projektin toteuttamiseksi?

MVC-projektin suorittamisen vaiheet sisältävät

  • Vastaanota ensimmäinen hakemus sovelluksesta
  • Suorittaa reitityksen
  • Luo MVC-pyynnön käsittelijän
  • Luo ohjain
  • Suorita ohjain
  • Käynnistä toiminto
  • Suorita tulos

13) Selitä mikä on reititys? Mitkä kolme segmenttiä ovat tärkeitä?

Reititys auttaa sinua päättämään URL-rakenteen ja kartoittamaan URL-osoitteen ohjaimella.

Reitityksen kannalta tärkeät kolme segmenttiä ovat

  • ControllerName
  • ActionMethodName
  • Parametri

14) Selitä kuinka reititys tapahtuu MVC-mallissa?

On olemassa reittiryhmä nimeltä RouteCollection, joka koostuu sovelluksessa rekisteröidyistä reiteistä. RegisterRoutes-menetelmä tallentaa tämän kokoelman reitit. Reitti määrittää URL-osoitemallin ja käsittelijän, jota käytetään, jos pyyntö vastaa mallia. MapRoute-menetelmän ensimmäinen parametri on reitin nimi. Toinen parametri on malli, johon URL-osoite vastaa. Kolmas parametri voi olla paikkamerkkien oletusarvo, jos niitä ei määritetä.

15) Selitä hyperlinkin avulla, kuinka voit siirtyä yhdestä näkymästä toiseen näkymään?

Käyttämällä "ActionLink" -menetelmää alla olevan koodin mukaisesti. Alla oleva koodi muodostaa yksinkertaisen URL-osoitteen, joka auttaa siirtymään Koti-ohjaimeen ja kutsumaan "GotoHome" -toiminnon.

Kutista / kopioi koodi

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

16) Mainitse kuinka voidaan ylläpitää istunto MVC: ssä?

Istunto voidaan ylläpitää MVC: ssä kolmella tavalla: tempdata, viewdata ja viewbag.

17) Mainitse, mikä ero on Lämpötiedot, Näytä ja Näkymä-laukku?

  • Lämpötiedot: Se auttaa ylläpitämään tietoja, kun vaihdat ohjaimesta toiseen.
  • Tarkastele tietoja: Se auttaa ylläpitämään tietoja, kun siirryt ohjaimesta näkymään
  • Näytä laukku: Se on dynaaminen kääre näkymän tietojen ympärille

18) Mikä on osittainen näkymä MVC: ssä?

Osittainen näkymä MVC: ssä renderoi osan näkymän sisällöstä. Se on hyödyllistä koodien päällekkäisyyksien vähentämisessä. Yksinkertaisesti sanottuna osittainen näkymä mahdollistaa näkymän renderoinnin ylätason näkymässä.

19) Selitä, kuinka voit toteuttaa Ajaxin MVC: ssä?

MVC: ssä Ajax voidaan toteuttaa kahdella tavalla

  • Ajax-kirjastot
  • Jquery

20) Mainitse mitä eroa on "ActionResult" ja "ViewResult" välillä?

"ActionResult" on abstrakti luokka, kun taas "ViewResult" on johdettu "AbstractResult" -luokasta. "ActionResult" sisältää useita johdettuja luokkia, kuten "JsonResult", "FileStreamResult" ja "ViewResult".

"ActionResult" on paras, jos johdat erityyppisiä näkymiä dynaamisesti.

21) Selitä, kuinka voit lähettää tuloksen takaisin JSON-muodossa MVC: ssä?

Jos haluat lähettää tuloksen takaisin JSON-muodossa MVC: ssä, voit käyttää luokkaa "JSONRESULT".

22) Selitä, mikä on näkymän ja osittaisen näkymän ero?

Näytä

Osittainen näkymä

  • Se sisältää asettelusivun
  • Ennen kuin näkymä renderöidään, viewstart-sivu renderöidään
  • Näkymässä voi olla merkintätageja, kuten body, html, head, title, meta jne.
  • Näkymä ei ole kevyt verrattuna osittaiseen näkymään
  • Se ei sisällä asettelusivua
  • Osittainen näkymä ei vahvista viewstart.cshtml-tiedostoa. Emme voi laittaa yhteistä koodia osittaiseen näkymään viewStart.cshtml.pageen
  • Osanäkymä on suunniteltu erityisesti hahmonnettavaksi näkymässä, ja vain siksi se ei sisällä merkintöjä
  • Voimme siirtää säännöllisen näkymän RenderPartial-menetelmään

23) Luettele MVC: n tulostyypit?

MVC: ssä on 12 tyyppistä tulosta MVC: ssä, joissa "ActionResult" -luokka on pääluokka, kun taas 11 on niiden alatyyppejä

  • Näytä tulos
  • PartialViewResult
  • Tyhjä tulos
  • RedirectResult
  • RedirectToRouteResult
  • JsonTulos
  • JavaScript-tulos
  • ContentResult
  • FileContentResult
  • FileStreamResult
  • FilePathResult

24) Mainitse mikä on NonActionAttribute-merkitys?

Kaikkia ohjainluokan julkisia menetelmiä käsitellään toimintamenetelminä, jos haluat estää tämän oletusmenetelmän, sinun on määritettävä julkinen menetelmä NonActionAttribute-toiminnolla.

25) Mainitse mikä on oletusreitin {resource} .axd / {* pathinfo} käyttö?

Tämä oletusreitti estää verkkoresurssitiedoston, kuten Webresource.axd tai ScriptResource.axd, pyynnön siirtämisen ohjaimelle.

26) Mainitaanko suoritettavien suodattimien järjestys, jos useita suodattimia on toteutettu?

Suodatinjärjestys olisi kuin

  • Valtuutussuodattimet
  • Toimintasuodattimet
  • Vastesuodattimet
  • Poikkeussuodattimet

27) Mainitse mitkä suodattimet suoritetaan lopulta?

Lopulta "Poikkeussuodattimet" suoritetaan.

28) Mainitse mitkä ovat partateränäkymien tiedostotunnisteet?

Razor-näkymissä tiedostotunnisteet ovat

  • .cshtml: Jos C # on ohjelmointikieli
  • .vbhtml: Jos VB on ohjelmointikieli

29) Mainitse mitkä kaksi tapaa lisätä rajoituksia reitille?

Kaksi tapaa lisätä rajoituksia reitille on

  • Säännöllisten lausekkeiden käyttö
  • IRouteConstraint-käyttöliittymän toteuttavan objektin käyttäminen

30) Mainitaanko kaksi tapausta, joissa reititystä ei ole otettu käyttöön tai vaadittu?

Kaksi tapausta, joissa reititystä ei vaadita, ovat

  • Kun löydetään fyysinen tiedosto, joka vastaa URL-osoitemallia
  • Kun reititys on poistettu käytöstä URL-mallille

31) Mainitse mitkä ovat MVC: n käytön tärkeimmät edut?

MVC: n käytössä on kaksi keskeistä hyötyä

  • Kun koodi siirretään erillisen luokkatiedoston taakse, voit käyttää koodia suuressa määrin
  • Koska koodin takana siirretään yksinkertaisesti.NET-luokkaan, on mahdollista automatisoida käyttöliittymän testaus. Tämä antaa mahdollisuuden automatisoida manuaalinen testaus ja kirjoittaa yksikötestit.