Топ 31 въпроса за интервю за MVC & Отговори

Anonim

Изтеглете PDF

1) Обяснете какво е Model-View-Controller?

MVC е модел на софтуерна архитектура за разработване на уеб приложения. Той се обработва от три обекта Model-View-Controller.

2) Споменете какво представлява Model-View-Controller в MVC приложение?

В модел на MVC,

  • Модел - Той представлява домейн с данни на приложението. С други думи бизнес логиката на приложенията се съдържа в модела и отговаря за поддържането на данни
  • Изглед - Той представлява потребителския интерфейс, с който крайните потребители комуникират. Накратко, цялата логика на потребителския интерфейс се съдържа в VIEW
  • Контролер - Контролерът е този, който отговаря на действията на потребителя. Въз основа на действията на потребителя, съответният контролер отговаря в рамките на модела и избира изглед за изобразяване, който показва потребителския интерфейс. Логиката на потребителския вход се съдържа в контролера

3) Обяснете в кой сбор е дефинирана MVC рамката?

Рамката на MVC е дефинирана в System.Web.Mvc.

4) Избройте няколко различни типа връщане на метод за действие на контролера?

  • Преглед на резултата
  • Резултат от Javascript
  • Резултат от пренасочване
  • Резултат от Json
  • Резултат от съдържанието

5) Споменете каква е разликата между добавянето на маршрути към приложение за уеб формуляр и приложение MVC?

За да добавим маршрути към приложение за уеб формуляр, можем да използваме метода MapPageRoute () от класа RouteCollection, където за добавяне на маршрути към MVC приложение можете да използвате метода MapRoute ().

6) Споменете кои са двата начина за добавяне на ограничения към маршрут?

Двата метода за добавяне на ограничения към маршрут е

  • Използвайте регулярни изрази
  • Използвайте обект, който реализира IRouteConstraint Interface

7) Споменете какви са предимствата на MVC?

  • MVC разделя проекта ви в различен сегмент и за разработчиците става лесно да работят
  • Лесно е да редактирате или промените част от вашия проект, което прави проекта по-малко разходи за разработка и поддръжка
  • MVC прави вашия проект по-систематичен

8) Споменете какво правят функциите "beforFilter ()", "beforeRender" и "afterFilter" в Controller?

  • beforeFilter (): Тази функция се изпълнява преди всяко действие в контролера. Това е правилното място да проверите за активна сесия или да проверите разрешенията на потребителите.
  • beforeRender (): Тази функция се извиква след логиката на действие на контролера, но преди визуализацията на изгледа. Тази функция не се използва често, но може да се изисква, ако извиквате render () ръчно преди края на дадено действие
  • afterFilter (): Тази функция се извиква след всяко действие на контролера и след приключване на изобразяването. Това е последният стартиран метод на контролера

9) Обяснете ролята на компонентите Презентация, абстракция и контрол в MVC?

  • Презентация: Това е визуалното представяне на конкретна абстракция в приложението
  • Абстракция: Това е функционалността на бизнес домейна в приложението
  • Контрол: Това е компонент, който поддържа съгласуваност между абстракцията в системата и тяхното представяне пред потребителя в допълнение към комуникацията с други контроли в системата

10) Споменете предимствата и недостатъците на MVC модела?

Предимства

Недостатъци

  • Представлява ясно разделение между бизнес логиката и логиката на представяне
  • Всеки обект на MVC има различни отговорности
  • Развитието напредва паралелно
  • Лесен за управление и поддръжка
  • Всички класове и обекти са независими един от друг
  • Моделът на модела е малко сложен
  • Неефективност на достъпа до данни с оглед
  • С модерния потребителски интерфейс е трудно да се използва MVC
  • Нуждаете се от няколко програмисти за паралелно развитие
  • Изискват се познания за множество технологии

11) Обяснете ролята на „ActionFilters“ в MVC?

В MVC "ActionFilters" ви помага да изпълнявате логика, докато MVC действието се изпълнява или изпълнява.

12) Обяснете какви са стъпките за изпълнение на MVC проект?

Стъпките за изпълнение на MVC проект включват

  • Получавате първа заявка за приложението
  • Извършва маршрутизация
  • Създава обработчик на заявки за MVC
  • Създаване на контролер
  • Изпълнение на контролера
  • Извикайте действие
  • Изпълнение на резултата

13) Обяснете какво е маршрутизиране? Кои са трите сегмента за маршрутизация е важно?

Маршрутизацията ви помага да решите структура на URL и да картографирате URL адреса с контролера.

Трите сегмента, които са важни за маршрутизиране е

  • ControllerName
  • ActionMethodName
  • Параметър

14) Обяснете как се извършва маршрутизиране в MVC модел?

Има група маршрути, наречена RouteCollection, която се състои от регистрирани маршрути в приложението. Методът RegisterRoutes записва маршрутите в тази колекция. Маршрутът дефинира модел на URL и манипулатор, който да се използва, ако заявката съвпада с модела. Първият параметър към метода MapRoute е името на маршрута. Вторият параметър ще бъде моделът, на който URL съответства. Третият параметър може да бъде стойностите по подразбиране за заместителите, ако те не са определени.

15) Обяснете с помощта на хипервръзка как можете да навигирате от един изглед към друг изглед?

Като използвате метода "ActionLink", както е показано в кода по-долу. Кодът по-долу ще направи прост URL, който помага да отидете до контролера „Начало“ и да извикате действието „GotoHome“.

Свиване / копиране на код

<% = Html.ActionLink ("Начало", "Gotohome")%>

16) Споменете как можете да поддържате сесия в MVC?

Сесията може да се поддържа в MVC по три начина tempdata, viewdata и viewbag.

17) Споменете каква е разликата между Temp data, View и View Bag?

  • Временни данни: Помага за поддържане на данни, когато превключвате от един контролер към друг контролер.
  • Преглед на данни: Помага да се поддържат данни, когато се премествате от контролер в изглед
  • Преглед на чантата: Това е динамична обвивка около данните за преглед

18) Какво е частичен изглед в MVC?

Частичен изглед в MVC показва част от съдържанието на изгледа. Полезно е за намаляване на дублирането на код. С прости думи, частичният изглед позволява да се изобрази изглед в родителския изглед.

19) Обяснете как можете да внедрите Ajax в MVC?

В MVC Ajax може да бъде реализиран по два начина

  • Библиотеки на Ajax
  • Jquery

20) Споменете каква е разликата между "ActionResult" и "ViewResult"?

"ActionResult" е абстрактен клас, докато "ViewResult" е получен от клас "AbstractResult". "ActionResult" има редица производни класове като "JsonResult", "FileStreamResult" и "ViewResult".

"ActionResult" е най-добре, ако динамично извличате различни видове изглед.

21) Обяснете как можете да изпратите резултата обратно в JSON формат в MVC?

За да изпратите резултата обратно във формат JSON в MVC, можете да използвате класа "JSONRESULT".

22) Обяснете каква е разликата между изглед и частичен изглед?

Изглед

Частичен изглед

  • Той съдържа страницата за оформление
  • Преди да се изобрази какъвто и да е изглед, се визуализира страницата за преглед
  • Изгледът може да има маркери за маркиране като тяло, html, глава, заглавие, мета и т.н.
  • Изгледът не е лек в сравнение с частичния изглед
  • Не съдържа страницата за оформление
  • Частичен изглед не проверява за viewstart.cshtml. Не можем да поставим общ код за частичен изглед в viewStart.cshtml.page
  • Частичният изглед е проектиран специално за изобразяване в рамките на изгледа и точно поради това той не включва никакви маркировки
  • Можем да предадем редовен изглед на метода RenderPartial

23) Избройте видовете резултати в MVC?

В MVC има дванадесет типа резултати в MVC, където класът "ActionResult" е основният клас, докато 11 са техните подтипове

  • ViewResult
  • PartialViewResult
  • EmptyResult
  • Пренасочване Резултат
  • RedirectToRouteResult
  • JsonResult
  • JavaScriptResult
  • ContentResult
  • FileContentResult
  • FileStreamResult
  • FilePathResult

24) Споменете какво е значението на NonActionAttribute?

Всички публични методи на клас контролер се третират като метод на действие, ако искате да предотвратите този метод по подразбиране, тогава трябва да присвоите публичния метод с NonActionAttribute.

25) Споменете каква е ползата от маршрута по подразбиране {resource} .axd / {* pathinfo}?

Този маршрут по подразбиране предотвратява подаването на заявка за файл с уеб ресурс като Webresource.axd или ScriptResource.axd до контролера.

26) Споменете реда на филтрите, които се изпълняват, ако са изпълнени множество филтри?

Редът на филтъра ще бъде като

  • Филтри за разрешение
  • Филтри за действие
  • Филтри за отговор
  • Филтри за изключения

27) Споменете какви филтри се изпълняват в крайна сметка?

В края се изпълняват "Филтри за изключения".

28) Споменете какви са разширенията на файловете за изгледи на бръснач?

За изгледи с бръснач разширенията на файлове са

  • .cshtml: Ако C # е езикът за програмиране
  • .vbhtml: Ако VB е езикът за програмиране

29) Споменете кои са двата начина за добавяне на ограничения към маршрут?

Два метода за добавяне на ограничения към маршрута е

  • Използване на регулярни изрази
  • Използване на обект, който реализира IRouteConstraint интерфейс

30) Споменете два случая, при които маршрутизацията не е приложена или се изисква?

Два екземпляра, при които не се изисква маршрутизация, са

  • Когато бъде намерен физически файл, който съответства на шаблона на URL
  • Когато маршрутизацията е деактивирана за URL шаблон

31) Споменете кои са основните предимства от използването на MVC?

Има две ключови предимства от използването на MVC

  • Тъй като кодът се премества зад отделен файл на класа, можете да използвате кода до голяма степен
  • Тъй като задният код просто се премества в клас .NET, е възможно да се автоматизира тестването на потребителския интерфейс. Това дава възможност за автоматизиране на ръчно тестване и писане на модулни тестове.