31 câu hỏi phỏng vấn MVC hàng đầu & Câu trả lời

Anonim

tải PDF

1) Giải thích Model-View-Controller là gì?

MVC là một mẫu kiến ​​trúc phần mềm để phát triển ứng dụng web. Nó được xử lý bởi ba đối tượng Model-View-Controller.

2) Đề cập đến Model-View-Controller đại diện cho điều gì trong một ứng dụng MVC?

Trong mô hình MVC,

  • Mô hình - Nó đại diện cho miền dữ liệu ứng dụng. Nói cách khác, logic nghiệp vụ của ứng dụng được chứa trong mô hình và chịu trách nhiệm duy trì dữ liệu
  • View - Nó đại diện cho giao diện người dùng mà người dùng cuối giao tiếp với nhau. Tóm lại, tất cả logic giao diện người dùng được chứa trong VIEW
  • Bộ điều khiển - Nó là bộ điều khiển trả lời các hành động của người dùng. Dựa trên các hành động của người dùng, bộ điều khiển tương ứng phản hồi trong mô hình và chọn chế độ xem để hiển thị hiển thị giao diện người dùng. Logic đầu vào của người dùng được chứa trong bộ điều khiển

3) Giải thích khung MVC được định nghĩa trong assembly nào?

Khung MVC được định nghĩa trong System.Web.Mvc.

4) Liệt kê một số kiểu trả về khác nhau của một phương thức hành động của bộ điều khiển?

  • Xem kết quả
  • Kết quả Javascript
  • Kết quả chuyển hướng
  • Kết quả Json
  • Kết quả nội dung

5) Đề cập đến sự khác biệt giữa việc thêm các tuyến vào ứng dụng biểu mẫu web và ứng dụng MVC là gì?

Để thêm các tuyến đường vào một ứng dụng biểu mẫu web, chúng ta có thể sử dụng phương thức MapPageRoute () của lớp RouteCollection, trong đó việc thêm các tuyến đường vào một ứng dụng MVC, bạn có thể sử dụng phương thức MapRoute ().

6) Đề cập đến hai cách để thêm ràng buộc vào một tuyến đường là gì?

Hai phương pháp để thêm các ràng buộc vào một tuyến đường là

  • Sử dụng biểu thức chính quy
  • Sử dụng một đối tượng triển khai Giao diện IRouteConstraint

7) Đề cập đến những ưu điểm của MVC là gì?

  • MVC tách dự án của bạn thành một phân đoạn khác và giúp các nhà phát triển dễ dàng làm việc
  • Có thể dễ dàng chỉnh sửa hoặc thay đổi một số phần trong dự án của bạn, giúp dự án ít phát triển và chi phí bảo trì hơn
  • MVC làm cho dự án của bạn có hệ thống hơn

8) Đề cập đến chức năng "beforFilter ()", "beforeRender" và "afterFilter" làm gì trong Controller?

  • beforeFilter (): Hàm này được chạy trước mọi hành động trong bộ điều khiển. Đây là nơi thích hợp để kiểm tra phiên hoạt động hoặc kiểm tra quyền của người dùng.
  • beforeRender (): Hàm này được gọi sau logic hành động của bộ điều khiển, nhưng trước khi khung nhìn được hiển thị. Hàm này không thường được sử dụng, nhưng có thể được yêu cầu Nếu bạn đang gọi render () theo cách thủ công trước khi kết thúc một hành động nhất định
  • afterFilter (): Hàm này được gọi sau mỗi hành động của bộ điều khiển và sau khi kết xuất xong. Đây là phương thức điều khiển cuối cùng để chạy

9) Giải thích vai trò của các thành phần Presentation, Abstraction và Control trong MVC?

  • Bản trình bày: Nó là sự trình bày trực quan của một phần trừu tượng cụ thể trong ứng dụng
  • Tóm tắt: Đây là chức năng miền doanh nghiệp trong ứng dụng
  • Kiểm soát: Nó là một thành phần giữ sự nhất quán giữa phần trừu tượng trong hệ thống và phần trình bày của chúng với người dùng ngoài việc giao tiếp với các điều khiển khác trong hệ thống

10) Nêu ưu nhược điểm của mô hình MVC?

Ưu điểm

Nhược điểm

  • Nó thể hiện sự tách biệt rõ ràng giữa logic nghiệp vụ và logic trình bày
  • Mỗi đối tượng MVC có các trách nhiệm khác nhau
  • Sự phát triển tiến triển song song
  • Dễ dàng quản lý và bảo trì
  • Tất cả các lớp và đối tượng độc lập với nhau
  • Mô hình mô hình hơi phức tạp
  • Truy cập dữ liệu không hiệu quả trong chế độ xem
  • Với giao diện người dùng hiện đại, rất khó để sử dụng MVC
  • Bạn cần nhiều lập trình viên để phát triển song song
  • Cần có kiến ​​thức về nhiều công nghệ

11) Giải thích vai trò của "ActionFilters" trong MVC?

Trong MVC "ActionFilters" giúp bạn thực thi logic trong khi hành động MVC được thực thi hoặc thực thi của nó.

12) Giải thích các bước thực hiện một dự án MVC là gì?

Các bước để thực hiện một dự án MVC bao gồm

  • Nhận yêu cầu đầu tiên cho ứng dụng
  • Thực hiện định tuyến
  • Tạo trình xử lý yêu cầu MVC
  • Tạo bộ điều khiển
  • Bộ điều khiển thực thi
  • Gọi hành động
  • Thực thi kết quả

13) Giải thích định tuyến là gì? Ba phân đoạn để định tuyến là quan trọng?

Định tuyến giúp bạn quyết định cấu trúc URL và ánh xạ URL với Bộ điều khiển.

Ba phân đoạn quan trọng đối với định tuyến là

  • ControllerName
  • ActionMethodName
  • Tham số

14) Giải thích cách định tuyến được thực hiện trong mẫu MVC?

Có một nhóm các tuyến đường được gọi là RouteCollection, bao gồm các tuyến đường đã đăng ký trong ứng dụng. Phương thức RegisterRoutes ghi lại các tuyến đường trong tập hợp này. Một tuyến xác định một mẫu URL và một trình xử lý để sử dụng nếu yêu cầu khớp với mẫu. Tham số đầu tiên của phương thức MapRoute là tên của tuyến đường. Tham số thứ hai sẽ là mẫu mà URL khớp với. Tham số thứ ba có thể là giá trị mặc định cho trình giữ chỗ nếu chúng không được xác định.

15) Giải thích bằng cách sử dụng siêu liên kết làm thế nào bạn có thể điều hướng từ chế độ xem này sang chế độ xem khác?

Bằng cách sử dụng phương thức "ActionLink" như được hiển thị trong đoạn mã dưới đây. Đoạn mã dưới đây sẽ tạo một URL đơn giản giúp điều hướng đến bộ điều khiển "Trang chủ" và gọi hành động "GotoHome".

Thu gọn / Sao chép mã

<% = Html.ActionLink ("Trang chủ", "Gotohome")%>

16) Đề cập đến cách có thể duy trì phiên trong MVC?

Phiên có thể được duy trì trong MVC bằng ba cách tempdata, viewdata và viewbag.

17) Đề cập đến sự khác biệt giữa dữ liệu Nhiệt độ, Chế độ xem và Túi xem là gì?

  • Dữ liệu tạm thời: Nó giúp duy trì dữ liệu khi bạn chuyển từ bộ điều khiển này sang bộ điều khiển khác.
  • Xem dữ liệu: Nó giúp duy trì dữ liệu khi bạn di chuyển từ bộ điều khiển sang chế độ xem
  • View Bag: Đó là một trình bao bọc động xung quanh dữ liệu xem

18) Chế độ xem một phần trong MVC là gì?

Chế độ xem một phần trong MVC hiển thị một phần nội dung chế độ xem. Nó rất hữu ích trong việc giảm sự trùng lặp mã. Nói một cách dễ hiểu, chế độ xem từng phần cho phép hiển thị một chế độ xem trong chế độ xem chính.

19) Giải thích cách bạn có thể triển khai Ajax trong MVC?

Trong MVC, Ajax có thể được triển khai theo hai cách

  • Thư viện Ajax
  • Jquery

20) Đề cập đến sự khác biệt giữa "ActionResult" và "ViewResult" là gì?

"ActionResult" là một lớp trừu tượng trong khi "ViewResult" có nguồn gốc từ lớp "AbstractResult". "ActionResult" có một số lớp dẫn xuất như "JsonResult", "FileStreamResult" và "ViewResult".

"ActionResult" là tốt nhất nếu bạn đang lấy động các loại chế độ xem khác nhau.

21) Giải thích cách bạn có thể gửi lại kết quả ở định dạng JSON trong MVC?

Để gửi lại kết quả ở định dạng JSON trong MVC, bạn có thể sử dụng lớp "JSONRESULT".

22) Giải thích sự khác biệt giữa Chế độ xem và Chế độ xem một phần là gì?

Lượt xem

Tầm nhìn hạn chế

  • Nó chứa trang bố cục
  • Trước khi bất kỳ chế độ xem nào được hiển thị, trang bắt đầu xem sẽ được hiển thị
  • Chế độ xem có thể có các thẻ đánh dấu như body, html, head, title, meta, v.v.
  • Chế độ xem không nhẹ so với Chế độ xem một phần
  • Nó không chứa trang bố cục
  • Chế độ xem một phần không xác minh cho viewstart.cshtml. Chúng tôi không thể đặt mã chung cho chế độ xem một phần trong trang viewStart.cshtml.
  • Chế độ xem từng phần được thiết kế đặc biệt để hiển thị trong chế độ xem và chỉ vì vậy mà nó không có bất kỳ dấu hiệu nào
  • Chúng ta có thể chuyển chế độ xem thông thường sang phương thức RenderPartial

23) Liệt kê các loại kết quả trong MVC?

Trong MVC, có mười hai loại kết quả trong MVC trong đó lớp "ActionResult" là lớp chính trong khi 11 là loại phụ của chúng

  • Xem kết quả
  • PartialViewResult
  • EmptyResult
  • RedirectResult
  • RedirectToRouteResult
  • JsonResult
  • JavaScriptResult
  • ContentResult
  • FileContentResult
  • FileStreamResult
  • FilePathResult

24) Đề cập đến tầm quan trọng của NonActionAttribute là gì?

Tất cả các phương thức công khai của một lớp bộ điều khiển được coi là phương thức hành động nếu bạn muốn ngăn chặn phương thức mặc định này thì bạn phải gán phương thức công khai với NonActionAttribute.

25) Đề cập đến việc sử dụng tuyến mặc định {resource} .axd / {* pathinfo} là gì?

Lộ trình mặc định này ngăn không cho yêu cầu tệp tài nguyên web như Webresource.axd hoặc ScriptResource.axd được chuyển tới bộ điều khiển.

26) Đề cập đến thứ tự của các bộ lọc được thực thi, nếu nhiều bộ lọc được triển khai?

Thứ tự bộ lọc sẽ như thế nào

  • Bộ lọc ủy quyền
  • Bộ lọc hành động
  • Bộ lọc phản hồi
  • Bộ lọc ngoại lệ

27) Đề cập đến những bộ lọc nào được thực thi cuối cùng?

Cuối cùng "Bộ lọc ngoại lệ" được thực thi.

28) Đề cập đến các phần mở rộng tệp cho các chế độ xem dao cạo là gì?

Đối với chế độ xem dao cạo, phần mở rộng tệp là

  • .cshtml: Nếu C # là ngôn ngữ lập trình
  • .vbhtml: Nếu VB là ngôn ngữ lập trình

29) Đề cập đến hai cách để thêm ràng buộc vào một tuyến đường là gì?

Hai phương pháp để thêm các ràng buộc vào tuyến là

  • Sử dụng biểu thức chính quy
  • Sử dụng một đối tượng triển khai giao diện IRouteConstraint

30) Đề cập đến hai trường hợp mà định tuyến không được thực hiện hoặc bắt buộc?

Hai trường hợp không bắt buộc phải định tuyến

  • Khi một tệp vật lý được tìm thấy khớp với mẫu URL
  • Khi định tuyến bị tắt cho một mẫu URL

31) Đề cập đến những lợi ích chính của việc sử dụng MVC là gì?

Có hai lợi ích chính của việc sử dụng MVC

  • Khi mã được di chuyển sau một tệp lớp riêng biệt, bạn có thể sử dụng mã ở một mức độ lớn
  • Vì mã phía sau chỉ đơn giản là chuyển đến lớp.NET, nên có thể tự động kiểm tra giao diện người dùng. Điều này tạo cơ hội để tự động hóa kiểm tra thủ công và viết các bài kiểm tra đơn vị.