En Popüler 31 MVC Mülakat Soruları & Yanıtlar

Anonim

PDF İndir

1) Model-View-Controller'ın ne olduğunu açıklayın?

MVC, web uygulaması geliştirmek için bir yazılım mimarisi modelidir. Model-View-Controller üç nesne tarafından idare edilir.

2) Model-View-Controller'ın bir MVC uygulamasında neyi temsil ettiğinden bahsedin?

Bir MVC modelinde,

  • Model - Uygulama veri alanını temsil eder. Başka bir deyişle, uygulamaların iş mantığı modelin içinde yer alır ve verilerin korunmasından sorumludur.
  • Görünüm - Son kullanıcıların iletişim kurduğu kullanıcı arayüzünü temsil eder. Kısacası, tüm kullanıcı arayüzü mantığı GÖRÜNÜM içinde yer almaktadır.
  • Denetleyici - Kullanıcı eylemlerine yanıt veren denetleyicidir. Kullanıcı eylemlerine bağlı olarak, ilgili kontrolör model içinde yanıt verir ve kullanıcı arayüzünü görüntüleyen bir görünüm oluşturmak için bir görünüm seçer. Kullanıcı giriş mantığı, denetleyicide bulunur

3) MVC çerçevesinin hangi montajda tanımlandığını açıklayın?

MVC çerçevesi System.Web.Mvc'de tanımlanmıştır.

4) Bir denetleyici eylem yönteminin birkaç farklı dönüş türünü listeleyin?

  • Sonucu göster
  • Javascript Sonucu
  • Yönlendirme Sonucu
  • Json Sonucu
  • İçerik Sonucu

5) Bir web formu uygulamasına ve bir MVC uygulamasına yol eklemek arasındaki fark nedir?

Bir webform uygulamasına rotalar eklemek için RouteCollection sınıfının MapPageRoute () yöntemini kullanabiliriz, burada bir MVC uygulamasına yol ekleyerek MapRoute () yöntemini kullanabilirsiniz.

6) Bir rotaya kısıtlama eklemenin iki yolu nedir?

Bir rotaya kısıtlama eklemenin iki yöntemi şudur:

  • Normal ifadeler kullanın
  • IRouteConstraint Arayüzünü uygulayan bir nesne kullanın

7) MVC'nin avantajları nelerdir?

  • MVC, projenizi farklı bir segmente ayırır ve geliştiricilerin üzerinde çalışması kolay hale gelir
  • Projenizin daha az geliştirme ve bakım maliyeti sağlayan bir bölümünü düzenlemek veya değiştirmek kolaydır
  • MVC, projenizi daha sistematik hale getirir

8) Controller'da "beforFilter ()", "beforeRender" ve "afterFilter" işlevlerinin ne yaptığından bahsedin?

  • beforeFilter (): Bu işlev, denetleyicideki her eylemden önce çalıştırılır. Etkin bir oturumu kontrol etmek veya kullanıcı izinlerini incelemek için doğru yerdir.
  • beforeRender (): Bu işlev, denetleyici eylem mantığından sonra, ancak görünüm oluşturulmadan önce çağrılır. Bu işlev sık kullanılmaz, ancak gerekli olabilir Belirli bir eylemin bitiminden önce render () öğesini manuel olarak çağırıyorsanız
  • afterFilter (): Bu işlev, her denetleyici eyleminden sonra ve oluşturma işlemi tamamlandıktan sonra çağrılır. Çalıştırılacak son denetleyici yöntemidir

9) MVC'de Bileşenlerin Sunumu, Soyutlanması ve Kontrolünün rolünü açıklar mı?

  • Sunum: Uygulama içindeki belirli bir soyutlamanın görsel temsilidir.
  • Soyutlama: Uygulama içindeki iş alanı işlevselliğidir.
  • Kontrol: Sistem içerisindeki diğer kontroller ile haberleşmenin yanı sıra sistem içindeki soyutlama ile kullanıcıya sunumu arasındaki tutarlılığı koruyan bir bileşendir.

10) MVC modelinin avantaj ve dezavantajlarından bahsediyor musunuz?

Avantajlar

Dezavantajları

  • İş mantığı ve sunum mantığı arasındaki açık ayrımı temsil eder
  • Her MVC nesnesinin farklı sorumlulukları vardır
  • Gelişme paralel olarak ilerliyor
  • Yönetimi ve bakımı kolay
  • Tüm sınıflar ve nesneler birbirinden bağımsızdır
  • Model deseni biraz karmaşık
  • Görünümde veri erişiminin verimsizliği
  • Modern kullanıcı arayüzü ile MVC'yi kullanmak zordur
  • Paralel geliştirme için birden fazla programcıya ihtiyacınız var
  • Birden çok teknoloji bilgisi gereklidir

11) "ActionFilters" ın MVC'deki rolünü açıklar mısınız?

MVC'de "ActionFilters", MVC eylemi yürütülürken veya yürütülürken mantığı yürütmenize yardımcı olur.

12) Bir MVC projesinin yürütülmesi için gereken adımları açıklayın.

Bir MVC projesinin yürütülmesine yönelik adımlar şunları içerir:

  • Uygulama için ilk talebi alın
  • Yönlendirme gerçekleştirir
  • MVC istek işleyicisi oluşturur
  • Denetleyici Oluştur
  • Denetleyiciyi Yürüt
  • Eylemi çağır
  • Sonucu Yürüt

13) Yönlendirmenin ne olduğunu açıklayın? Yönlendirme için üç segment nedir önemlidir?

Yönlendirme, bir URL yapısına karar vermenize ve URL'yi Denetleyici ile eşleştirmenize yardımcı olur.

Yönlendirme için önemli olan üç segment,

  • ControllerName
  • ActionMethodName
  • Parametre

14) MVC modelinde yönlendirmenin nasıl yapıldığını açıklayın.

Uygulamada kayıtlı rotalardan oluşan RouteCollection adlı bir grup yol vardır. RegisterRoutes yöntemi, bu koleksiyondaki yolları kaydeder. Bir yol, bir URL modelini ve istek kalıpla eşleşirse kullanılacak bir işleyiciyi tanımlar. MapRoute yönteminin ilk parametresi, rotanın adıdır. İkinci parametre, URL'nin eşleştiği model olacaktır. Üçüncü parametre, belirlenmemişlerse yer tutucular için varsayılan değerler olabilir.

15) Köprü kullanarak bir görünümden diğerine nasıl gidebileceğinizi açıklayın.

Aşağıdaki kodda gösterildiği gibi "ActionLink" yöntemini kullanarak. Aşağıdaki kod, "Ana" denetleyiciye gitmeye ve "GotoHome" eylemini başlatmaya yardımcı olan basit bir URL oluşturacaktır.

Kodu Daralt / Kopyala

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

16) MVC'de oturumu nasıl sürdürebilirsiniz?

Oturum MVC'de tempdata, viewdata ve viewbag olmak üzere üç yolla korunabilir.

17) Sıcaklık verileri, Görünüm ve Torbayı Görüntüle arasındaki fark nedir?

  • Sıcaklık verileri: Bir denetleyiciden diğer denetleyiciye geçtiğinizde verilerin korunmasına yardımcı olur.
  • Verileri görüntüle: Denetleyiciden görünüme geçtiğinizde verileri korumaya yardımcı olur
  • Torbayı Görüntüle: Görünüm verileri etrafında dinamik bir sarmalayıcı

18) MVC'de kısmi görünüm nedir?

MVC'de kısmi görünüm, görünüm içeriğinin bir bölümünü oluşturur. Kod yinelemesini azaltmada yardımcı olur. Basit bir ifadeyle, kısmi görünüm, üst görünüm içinde bir görünüm oluşturmaya izin verir.

19) Ajax'ı MVC'de nasıl uygulayabileceğinizi açıklayın.

MVC'de Ajax iki şekilde uygulanabilir

  • Ajax kitaplıkları
  • Jquery

20) "ActionResult" ve "ViewResult" arasındaki farkın ne olduğundan bahsedin?

"ActionResult" soyut bir sınıftır, "ViewResult" ise "AbstractResult" sınıfından türetilmiştir. "ActionResult", "JsonResult", "FileStreamResult" ve "ViewResult" gibi bir dizi türetilmiş sınıfa sahiptir.

Dinamik olarak farklı görünüm türleri türetiyorsanız "ActionResult" en iyisidir.

21) Sonucu MVC'de JSON formatında nasıl geri gönderebileceğinizi açıklayın.

Sonucu MVC'de JSON formatında geri göndermek için "JSONRESULT" sınıfını kullanabilirsiniz.

22) Görünüm ve Kısmi Görüş arasındaki farkın ne olduğunu açıklayın.

Görünüm

Kısmi görüntü

  • Düzen sayfasını içerir
  • Herhangi bir görünüm oluşturulmadan önce, görünüm başlangıç ​​sayfası oluşturulur
  • View, body, html, head, title, meta vb. Gibi işaretleme etiketlerine sahip olabilir.
  • Görünüm, Kısmi Görünüme kıyasla hafif değildir
  • Düzen sayfasını içermiyor
  • Kısmi görünüm, viewstart.cshtml için doğrulanmaz. ViewStart.cshtml.page içine kısmi bir görünüm için ortak kod koyamayız.
  • Kısmi görünüm, görünüm içinde oluşturmak için özel olarak tasarlanmıştır ve bu nedenle herhangi bir işaretleme içermez.
  • RenderPartial yöntemine normal bir görünüm aktarabiliriz

23) MVC'deki sonuç türlerini listeleyin.

MVC'de, MVC'de "ActionResult" sınıfının ana sınıf, 11'in ise alt türleri olduğu on iki sonuç türü vardır.

  • Sonucu göster
  • PartialViewResult
  • EmptyResult
  • RedirectResult
  • RedirectToRouteResult
  • JsonResult
  • JavaScriptResult
  • İçerik Sonuç
  • FileContentResult
  • FileStreamResult
  • FilePathResult

24) NonActionAttribute'un önemi nedir?

Bir denetleyici sınıfının tüm genel yöntemleri, bu varsayılan yöntemi önlemek istiyorsanız, genel yöntemi NonActionAttribute ile atamanız gerekir.

25) Varsayılan yol {resource} .axd / {* pathinfo} 'nun kullanımından bahsedin?

Bu varsayılan yol, Webresource.axd veya ScriptResource.axd gibi bir web kaynak dosyası isteğinin denetleyiciye iletilmesini engeller.

26) Birden çok filtre uygulandığında, çalıştırılacak filtrelerin sırasından bahsediyor musunuz?

Filtre sırası şöyle olurdu

  • Yetkilendirme filtreleri
  • Eylem filtreleri
  • Yanıt filtreleri
  • İstisna filtreleri

27) Sonunda hangi filtrelerin uygulandığından bahsediyor musunuz?

Sonunda "İstisna Filtreleri" yürütülür.

28) Jilet görünümleri için dosya uzantılarından bahsedin mi?

Jilet görünümleri için dosya uzantıları

  • .cshtml: C # programlama diliyse
  • .vbhtml: VB programlama diliyse

29) Bir rotaya sınırlama eklemenin iki yolu nedir?

Rotaya kısıtlama eklemenin iki yöntemi:

  • Normal ifadeler kullanma
  • IRouteConstraint arabirimini uygulayan bir nesne kullanma

30) Yönlendirmenin uygulanmadığı veya gerekli olmadığı iki durumdan bahsediyor musunuz?

Yönlendirmenin gerekli olmadığı iki örnek

  • URL modeliyle eşleşen fiziksel bir dosya bulunduğunda
  • Bir URL modeli için yönlendirme devre dışı bırakıldığında

31) MVC kullanmanın temel faydalarından bahsedin?

MVC kullanmanın iki temel avantajı vardır

  • Kod ayrı bir sınıf dosyasının arkasına taşındığında, kodu büyük ölçüde kullanabilirsiniz.
  • Arka planda kod basitçe.NET sınıfına taşındığından, UI testini otomatikleştirmek mümkündür. Bu, manuel testi otomatikleştirme ve birim testleri yazma fırsatı verir.