31 Pertanyaan Wawancara MVC Teratas & Jawaban

Anonim

Unduh PDF

1) Jelaskan apa itu Model-View-Controller?

MVC adalah pola arsitektur perangkat lunak untuk mengembangkan aplikasi web. Ini ditangani oleh tiga objek Model-View-Controller.

2) Sebutkan apa yang diwakili oleh Model-View-Controller dalam aplikasi MVC?

Dalam model MVC,

  • Model - Ini mewakili domain data aplikasi. Dengan kata lain, logika bisnis aplikasi terkandung dalam model dan bertanggung jawab untuk memelihara data
  • View - Ini mewakili antarmuka pengguna, yang berkomunikasi dengan pengguna akhir. Singkatnya, semua logika antarmuka pengguna terkandung dalam TAMPILAN
  • Pengontrol - Ini adalah pengontrol yang menjawab tindakan pengguna. Berdasarkan tindakan pengguna, masing-masing pengontrol merespons dalam model dan memilih tampilan untuk dirender yang menampilkan antarmuka pengguna. Logika masukan pengguna terdapat di dalam pengontrol

3) Jelaskan di assembly mana kerangka MVC didefinisikan?

Kerangka MVC didefinisikan di System.Web.Mvc.

4) Sebutkan beberapa jenis pengembalian yang berbeda dari metode tindakan pengontrol?

  • Lihat hasil
  • Hasil Javascript
  • Alihkan Hasil
  • Hasil Json
  • Hasil Isi

5) Sebutkan apa perbedaan antara menambahkan rute, ke aplikasi formulir web dan aplikasi MVC?

Untuk menambahkan rute ke aplikasi formulir web, kita dapat menggunakan metode MapPageRoute () dari kelas RouteCollection, di mana menambahkan rute ke aplikasi MVC, Anda dapat menggunakan metode MapRoute ().

6) Sebutkan dua cara untuk menambahkan batasan ke rute?

Dua metode untuk menambahkan batasan ke rute adalah

  • Gunakan ekspresi reguler
  • Gunakan objek yang mengimplementasikan IRouteConstraint Interface

7) Sebutkan apa keunggulan MVC?

  • MVC memisahkan proyek Anda ke dalam segmen yang berbeda, dan menjadi mudah bagi pengembang untuk mengerjakannya
  • Sangat mudah untuk mengedit atau mengubah beberapa bagian dari proyek Anda yang membuat biaya pengembangan dan pemeliharaan proyek berkurang
  • MVC membuat proyek Anda lebih sistematis

8) Sebutkan apa fungsi "beforFilter ()", "beforeRender" dan "afterFilter" di Controller?

  • beforeFilter (): Fungsi ini dijalankan sebelum setiap tindakan di pengontrol. Ini adalah tempat yang tepat untuk memeriksa sesi aktif atau memeriksa izin pengguna.
  • beforeRender (): Fungsi ini dipanggil setelah logika aksi pengontrol, tetapi sebelum tampilan dirender. Fungsi ini tidak sering digunakan, tetapi mungkin diperlukan Jika Anda memanggil render () secara manual sebelum akhir tindakan tertentu
  • afterFilter (): Fungsi ini dipanggil setelah setiap tindakan pengontrol, dan setelah rendering selesai. Ini adalah metode pengontrol terakhir yang dijalankan

9) Jelaskan peran komponen Presentasi, Abstraksi dan Kontrol dalam MVC?

  • Presentasi: Ini adalah representasi visual dari abstraksi tertentu dalam aplikasi
  • Abstraksi: Ini adalah fungsionalitas domain bisnis dalam aplikasi
  • Kontrol: Ini adalah komponen yang menjaga konsistensi antara abstraksi dalam sistem dan penyajiannya kepada pengguna selain untuk berkomunikasi dengan kontrol lain di dalam sistem.

10) Sebutkan kelebihan dan kekurangan model MVC?

Keuntungan

Kekurangan

  • Ini mewakili pemisahan yang jelas antara logika bisnis dan logika presentasi
  • Setiap objek MVC memiliki tanggung jawab yang berbeda
  • Perkembangan tersebut berlangsung secara paralel
  • Mudah dikelola dan dirawat
  • Semua kelas dan objek tidak bergantung satu sama lain
  • Pola modelnya sedikit rumit
  • Inefisiensi akses data dalam tampilan
  • Dengan antarmuka pengguna modern, sulit untuk menggunakan MVC
  • Anda membutuhkan banyak programmer untuk pengembangan paralel
  • Diperlukan banyak pengetahuan teknologi

11) Jelaskan peran "ActionFilters" di MVC?

Dalam MVC "ActionFilters" membantu Anda menjalankan logika saat tindakan MVC dijalankan atau sedang dieksekusi.

12) Jelaskan apa saja langkah-langkah untuk pelaksanaan proyek MVC?

Langkah-langkah untuk menjalankan proyek MVC termasuk

  • Terima permintaan pertama untuk aplikasi tersebut
  • Melakukan perutean
  • Membuat penangan permintaan MVC
  • Buat Pengontrol
  • Jalankan Pengontrol
  • Ajukan tindakan
  • Jalankan Hasil

13) Jelaskan apa itu routing? Apa tiga segmen untuk routing itu penting?

Routing membantu Anda memutuskan struktur URL dan memetakan URL dengan Controller.

Tiga segmen yang penting untuk perutean adalah

  • ControllerName
  • ActionMethodName
  • Parameter

14) Jelaskan bagaimana routing dilakukan dalam pola MVC?

Ada sekelompok rute yang disebut RouteCollection, yang terdiri dari rute terdaftar dalam aplikasi. Metode RegisterRoutes mencatat rute dalam koleksi ini. Rute menentukan pola URL dan penangan yang akan digunakan jika permintaan cocok dengan pola tersebut. Parameter pertama pada metode MapRoute adalah nama rute. Parameter kedua adalah pola yang cocok dengan URL. Parameter ketiga mungkin nilai default untuk placeholder jika tidak ditentukan.

15) Jelaskan menggunakan hyperlink bagaimana Anda dapat menavigasi dari satu tampilan ke tampilan lain?

Dengan menggunakan metode "ActionLink" seperti yang ditunjukkan pada kode di bawah ini. Kode di bawah ini akan membuat URL sederhana yang membantu untuk menavigasi ke pengontrol "Home" dan menjalankan tindakan "GotoHome".

Ciutkan / Salin Kode

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

16) Sebutkan bagaimana mempertahankan sesi di MVC?

Sesi dapat dipertahankan di MVC dengan tiga cara tempdata, viewdata, dan viewbag.

17) Sebutkan apa perbedaan antara data Temp, View, dan View Bag?

  • Temp data: Ini membantu menjaga data saat Anda berpindah dari satu pengontrol ke pengontrol lain.
  • Lihat data: Ini membantu mempertahankan data saat Anda berpindah dari pengontrol ke tampilan
  • View Bag: Ini adalah pembungkus dinamis di sekitar data tampilan

18) Apa yang dimaksud tampilan parsial di MVC?

Tampilan parsial di MVC merender sebagian dari konten tampilan. Ini membantu dalam mengurangi duplikasi kode. Sederhananya, tampilan parsial memungkinkan untuk merender tampilan dalam tampilan induk.

19) Jelaskan bagaimana Anda dapat mengimplementasikan Ajax di MVC?

Di MVC, Ajax dapat diimplementasikan dengan dua cara

  • Perpustakaan Ajax
  • Jquery

20) Sebutkan apa perbedaan antara "ActionResult" dan "ViewResult"?

"ActionResult" adalah kelas abstrak sedangkan "ViewResult" diturunkan dari kelas "AbstractResult". "ActionResult" memiliki sejumlah kelas turunan seperti "JsonResult", "FileStreamResult" dan "ViewResult".

"ActionResult" paling baik jika Anda mendapatkan jenis tampilan yang berbeda secara dinamis.

21) Jelaskan bagaimana Anda dapat mengirim hasilnya kembali dalam format JSON di MVC?

Untuk mengirim hasilnya kembali dalam format JSON di MVC, Anda dapat menggunakan kelas "JSONRESULT".

22) Jelaskan apa perbedaan antara View dan Partial View?

Melihat

Tampilan Parsial

  • Ini berisi halaman tata letak
  • Sebelum tampilan apa pun dirender, halaman viewstart dirender
  • Tampilan mungkin memiliki tag markup seperti body, html, head, title, meta, dll.
  • Tampilan tidak ringan dibandingkan dengan Partial View
  • Itu tidak berisi halaman tata letak
  • Tampilan parsial tidak memverifikasi untuk viewstart.cshtml. Kami tidak dapat meletakkan kode umum untuk tampilan parsial dalam viewStart.cshtml.page
  • Tampilan parsial dirancang khusus untuk dirender di dalam tampilan dan hanya karena itu tidak mengandung mark up
  • Kita bisa meneruskan tampilan biasa ke metode RenderP Partial

23) Sebutkan jenis hasil di MVC?

Di MVC, ada dua belas jenis hasil di MVC di mana kelas "ActionResult" adalah kelas utama sedangkan 11 adalah sub-jenisnya

  • Lihat hasil
  • PartialViewResult
  • EmptyResult
  • RedirectResult
  • RedirectToRouteResult
  • JsonResult
  • JavaScriptResult
  • ContentResult
  • FileContentResult
  • FileStreamResult
  • FilePathResult

24) Sebutkan apa pentingnya NonActionAttribute?

Semua metode publik dari kelas pengontrol diperlakukan sebagai metode tindakan jika Anda ingin mencegah metode default ini, Anda harus menetapkan metode publik dengan NonActionAttribute.

25) Sebutkan apa kegunaan dari rute default {resource} .axd / {* pathinfo}?

Rute default ini mencegah permintaan untuk file sumber daya web seperti Webresource.axd atau ScriptResource.axd agar tidak diteruskan ke pengontrol.

26) Sebutkan urutan filter yang dijalankan, jika beberapa filter diterapkan?

Urutan filter akan seperti ini

  • Filter otorisasi
  • Filter tindakan
  • Filter respons
  • Filter pengecualian

27) Sebutkan filter apa yang dijalankan pada akhirnya?

Pada akhirnya "Filter Pengecualian" dijalankan.

28) Sebutkan apa saja ekstensi file untuk tampilan pisau cukur?

Untuk tampilan pisau cukur, ekstensi file adalah

  • .cshtml: Jika C # adalah bahasa pemrograman
  • .vbhtml: Jika VB adalah bahasa pemrograman

29) Sebutkan dua cara untuk menambahkan kendala ke rute?

Dua metode untuk menambahkan batasan ke rute adalah

  • Menggunakan ekspresi reguler
  • Menggunakan objek yang mengimplementasikan antarmuka IRouteConstraint

30) Sebutkan dua contoh di mana perutean tidak diterapkan atau diperlukan?

Dua contoh di mana perutean tidak diperlukan

  • Ketika file fisik ditemukan yang cocok dengan pola URL
  • Saat perutean dinonaktifkan untuk pola URL

31) Sebutkan apa manfaat utama menggunakan MVC?

Ada dua manfaat utama menggunakan MVC

  • Saat kode dipindahkan ke belakang file kelas yang terpisah, Anda dapat menggunakan kode tersebut secara luas
  • Karena kode di belakang cukup dipindahkan ke kelas NET, dimungkinkan untuk mengotomatiskan pengujian UI. Ini memberikan kesempatan untuk mengotomatiskan pengujian manual dan menulis pengujian unit.