Найпопулярніші 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

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, View та View Bag?

  • Дані про температуру: Це допомагає зберігати дані при переході від одного контролера до іншого контролера.
  • Перегляд даних: Це допомагає зберігати дані при переході від контролера до подання
  • 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) Поясніть, у чому різниця між видом та частковим видом?

Переглянути

Частковий вигляд

  • Він містить сторінку макета
  • Перед тим, як будь-який вигляд відображається, відображається сторінка перегляду
  • У поданні можуть бути теги розмітки, такі як body, html, head, title, meta тощо.
  • Вигляд не є легким, порівняно з частковим
  • Він не містить сторінки макета
  • Частковий вигляд не перевіряє наявність viewstart.cshtml. Ми не можемо помістити загальний код для часткового перегляду всередині viewStart.cshtml.page
  • Частковий вигляд розроблений спеціально для візуалізації у поданні, і саме тому він не містить жодної розмітки
  • Ми можемо передати звичайний вигляд методу RenderPartial

23) Перелічіть типи результатів у MVC?

У MVC існує дванадцять типів результатів у MVC, де основним класом є клас "ActionResult", тоді як 11 є їх підтипами

  • ViewResult
  • PartialViewResult
  • Порожній результат
  • RedirectResult
  • 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, можна автоматизувати тестування інтерфейсу. Це дає можливість автоматизувати ручне тестування та написати модульні тести.