15 Pertanyaan Wawancara Musim Semi MVC yang Harus Diketahui
Diterbitkan: 2018-03-25Spring telah menjadi salah satu framework Java yang paling banyak digunakan untuk pengembangan aplikasi web. Semua aplikasi Java baru secara default menggunakan kerangka kerja Spring core dan Spring MVC. Berkat popularitasnya yang semakin meningkat, perekrut di seluruh dunia mencari kandidat langsung dengan kerangka kerja Spring. Jika Anda muncul untuk wawancara untuk peran pengembang Java, Spring MVC adalah salah satu hal pertama yang Anda harus memoles pengetahuan Anda tentang pertanyaan wawancara kerangka kerja Spring - terlepas dari apakah Anda seorang yang lebih segar atau seseorang dengan pengalaman.
Bagaimanapun, kerangka kerja Spring MVC adalah kerangka kerja Java yang paling umum digunakan, dan Anda pasti akan mendapatkan pertanyaan yang sama, dalam wawancara Java (atau wawancara terkait) apa pun yang Anda ikuti. Jika Anda tidak tahu, Spring MVC adalah kerangka kerja berbasis Java yang kuat yang membantu membangun aplikasi web. Seperti namanya, ia menggunakan arsitektur MVC – Model, View, Controller. Spring MVC menyediakan cara yang elegan untuk menggunakan Spring dengan kerangka kerja MVC. Dirilis pada tahun 2002, kerangka kerja Spring adalah kerangka kerja sumber terbuka, yang berarti pengembang di seluruh dunia dapat berkontribusi pada pengembangan dan rilis kerangka kerja lebih lanjut.
Pelajari cara membuat aplikasi seperti Swiggy, Quora, IMDB, dan lainnyaItu juga berarti bahwa ada komunitas pengembang yang selalu aktif di luar sana untuk membantu Anda dengan pertanyaan Anda. Menjadi open-source juga menambah banyak manfaat yang ditawarkan kerangka kerja Spring. Terutama jika Anda memulai karir Anda di Java, Anda memerlukan panduan, dan komunitas pengembang Java yang beragam memastikan Anda tidak kekurangan panduan apa pun saat bekerja dengan Spring MVC.
Dengan begitu banyak manfaat yang ditawarkan, tidak ada keraguan sedikit pun mengapa Spring MVC adalah topik favorit wawancara untuk menanyai Anda.
Pada artikel ini, kita akan berbicara tentang 15 pertanyaan yang harus diketahui Spring MVC yang dapat Anda temui dalam wawancara apa pun yang Anda ikuti.
1. Apa itu kerangka Spring?
Spring adalah kerangka kerja sumber terbuka yang dibangun untuk menyederhanakan pengembangan aplikasi. Ini memiliki struktur berlapis yang memungkinkan pengembang untuk selektif tentang komponen yang mereka gunakan. Ini memiliki tiga komponen utama – Spring Core, Spring AOP, dan Spring MVC.

Selanjutnya, Anda dapat berbicara tentang pengalaman Anda dengan Spring, jika ada. Itu akan menambah banyak bobot pada jawaban Anda.
Mengapa Perusahaan Ingin Mempekerjakan Pengembang Full Stack2. Apa saja fitur utama dari kerangka Spring?
Kerangka kerja pegas menawarkan banyak fitur untuk memudahkan hidup pengembang. Beberapa dari mereka adalah:
- Ringan: Pegas sangat ringan, versi dasarnya sekitar 1MB, dengan biaya pemrosesan yang dapat diabaikan.
- Inversion of Control (IoC): Dependency Injection atau Inversion of Control adalah salah satu fitur terpenting dari Spring. Menggunakan IoC, pengembang tidak perlu membuat lingkungan yang lengkap untuk objek dan dependensinya; mereka dapat dengan mudah membuat dan menguji objek yang mereka tangani pada titik waktu tertentu. Dependensi objek akan disertakan atau dipanggil saat dibutuhkan.
- Pemrograman Berorientasi Aspek: Spring mendukung Pemrograman Berorientasi Aspek. AOP mengisolasi fungsi sekunder dari logika bisnis programmer. Ini tidak hanya menyediakan modularitas tetapi juga membuat kode dapat dipelihara.
- Arsitektur MVC: Spring hadir dengan kerangka kerja MVC untuk aplikasi web. Kerangka kerja ini sangat dapat dikonfigurasi menggunakan berbagai teknologi seperti JSP, Tiles, iText, dan POI.
- Penanganan pengecualian JDBC: Musim semi hadir dengan lapisan abstraksi JDBC yang telah ditentukan sebelumnya yang menyederhanakan proses penanganan pengecualian secara keseluruhan.
3. Jelaskan sedikit tentang Dependency Injection.
Inversi Kontrol atau Injeksi Ketergantungan bertujuan untuk menyederhanakan proses pembuatan objek dengan mengikuti konsep sederhana – jangan membuat objek, cukup jelaskan cara membuatnya. Menggunakan IoC, objek diberikan ketergantungannya pada waktu pembuatan oleh entitas eksternal yang bertanggung jawab untuk mengoordinasikan setiap objek dalam sistem. Intinya, kami menyuntikkan dependensi ke objek menggunakan IOC atau Dependency Injection.
4. Jelaskan berbagai jenis Injeksi Ketergantungan di Musim Semi? Kapan harus menggunakan yang mana?
Spring memberi pengembang dua jenis injeksi ketergantungan berikut:
- DI berbasis konstruktor: DI berbasis konstruktor dicapai dengan meneruskan sejumlah argumen (masing-masing mewakili ketergantungan pada kelas lain) ke konstruktor kelas. Sederhananya, dependensi diberikan dalam bentuk parameter konstruktor.
- DI berbasis penyetel: Saat Anda bekerja dengan konstruktor tanpa argumen, Anda akan menetapkan nilai dengan meneruskan argumen melalui fungsi penyetel untuk membuat instance kacang yang sedang dipertimbangkan, ini disebut injeksi ketergantungan berbasis penyetel.
Kapan Anda akan menggunakan yang mana dari ini, bermuara pada kebutuhan Anda. Namun, disarankan untuk menggunakan DI berbasis Setter untuk dependensi opsional dan DI berbasis konstruktor untuk dependensi wajib.
Wawancara dengan Farooq Adam, Co-Founder, Fynd
5. Apa itu kerangka kerja Spring MVC?
Spring MVC adalah salah satu komponen inti dari kerangka Spring. Muncul dengan komponen dan elemen siap pakai yang membantu pengembang membangun aplikasi web yang fleksibel dan kuat. Seperti namanya, arsitektur MVC memisahkan berbagai aspek aplikasi – logika input, logika bisnis, dan logika UI. Ini juga menyediakan kopling longgar antara M, V, dan C aplikasi.
6. Apa saja manfaat kerangka kerja Spring MVC dibandingkan kerangka kerja MVC lainnya?
Kerangka kerja Spring MVC memiliki beberapa manfaat yang jelas dibandingkan kerangka kerja lainnya. Beberapa manfaatnya adalah:
- Pemisahan peran yang jelas – Ada objek khusus untuk setiap peran, sehingga memberikan pemisahan peran yang jelas.
- Kode bisnis yang dapat digunakan kembali – Dengan Spring MVC, Anda tidak perlu menggandakan kode Anda. Anda dapat menggunakan objek yang ada sebagai perintah alih-alih mencerminkannya untuk memperluas kelas dasar kerangka kerja tertentu.
- Penjilidan dan validasi yang dapat disesuaikan
- Lokal dan resolusi tema yang dapat disesuaikan
- Pemetaan handler yang dapat disesuaikan dan resolusi tampilan
- Dari Spring 2.0 dan seterusnya, kerangka kerja ini dilengkapi dengan perpustakaan tag formulir JSP yang membuat penulisan formulir di halaman JSP menjadi lebih mudah.
7. Apa itu DispatcherServlet?
Kerangka kerja Spring MVC digerakkan oleh permintaan dan dirancang di sekitar Servlet pusat yang menangani semua permintaan dan tanggapan HTTP. DispatcherServlet , bagaimanapun, melakukan lebih dari itu. Ini terintegrasi dengan mulus dengan wadah IoC dan memungkinkan Anda untuk menggunakan setiap fitur Spring.
Saat menerima permintaan HTTP, DispatcherServlet berkonsultasi dengan HandlerMapping (ini adalah file konfigurasi) untuk memanggil Controller yang sesuai. Kemudian, pengontrol memanggil metode layanan yang sesuai untuk mengatur data Model. Itu juga mengembalikan nama tampilan ke DispatcherServlet. DispatcherServlet, dengan bantuan ViewResolver, mengambil tampilan yang ditentukan untuk permintaan. Setelah tampilan selesai, DispatcherServlet meneruskan data Model ke View – di mana akhirnya ditampilkan di browser.
Apa itu Pengembangan Berbasis Tes: Panduan Pemula
8. Apa kelas pengontrol depan Spring MVC?
Pengontrol depan adalah pengontrol yang menangani semua permintaan untuk aplikasi Web. Ketika datang ke Spring MVC, DispatcherServlet adalah pengontrol depan itu. Ketika permintaan web dikirim ke aplikasi Spring MVC, DISpatcherServlet menangani semuanya. Pertama, dibutuhkan permintaan. Kemudian, ia mengatur berbagai komponen seperti penangan permintaan, pengontrol, penyelesai tampilan, dan semacamnya – semua diperlukan untuk menangani permintaan. Dan akhirnya, itu membuat konten di browser.

9. Apa yang dimaksud dengan pola Viewresolver dan bagaimana cara kerjanya di MVC?
View Resolver adalah pola J2EE yang memungkinkan aplikasi secara dinamis memilih teknologi untuk merender data pada browser (View). Teknologi apa pun seperti HTML, JSP, Tapestry, XSLT, JSF, atau teknologi serupa lainnya dapat digunakan untuk View. Pola View Resolver menyimpan pemetaan tampilan yang berbeda. Controller mengembalikan nama View yang kemudian diteruskan ke View Resolver untuk memilih teknologi yang sesuai.
10. Bagaimana Spring MVC memberikan dukungan validasi?
Spring terutama mendukung dua jenis validasi:
- Menggunakan Anotasi JSR-303 dan implementasi referensi apa pun, misalnya, Hibernate Validator, atau
- Menerapkan antarmuka org.springframework.validation.Validator.
11. Seorang pengguna mendapatkan kesalahan validasi di bidang lain saat mencentang kotak centang, setelah itu, ia menghapus centangnya. Apa yang akan menjadi status pemilihan saat ini di objek perintah Spring MVC? Bagaimana Anda akan memperbaiki masalah ini?
Ini adalah salah satu pertanyaan yang lebih sulit untuk dijawab jika Anda tidak mengetahui perilaku HTTP Post di Spring MVC.
Selama Posting HTTP, jika Anda menghapus centang pada kotak, maka HTTP tidak menyertakan parameter permintaan untuk kotak centang – yang berarti pilihan yang diperbarui tidak akan diambil. Untuk memperbaikinya, Anda dapat menggunakan bidang formulir tersembunyi yang dimulai dengan '_'.
Cara Sukses dalam Pekerjaan Pengembangan Perangkat Lunak Pertama Anda
12. Bagaimana Anda akan membandingkan kerangka kerja MVC dengan arsitektur tiga tingkat?
Arsitektur Three-tier adalah gaya arsitektur sedangkan MVC adalah pola desain.
Karena itu, dalam aplikasi yang lebih besar, MVC membentuk tingkat presentasi arsitektur tiga tingkat. Model, View, dan Controller hanya memperhatikan presentasi – mereka menggunakan middle tier untuk mengisi model mereka.
13. Bagaimana seharusnya kita menggunakan JDBC di Spring untuk mengoptimalkan kinerja?
Spring menyediakan kelas template yang disebut sebagai JDBCTemplate . Menggunakan JDBC dengan template ini memberikan manifold kinerja yang lebih baik.
14. Apa yang Anda maksud dengan "Bean" dalam konteks kerangka Spring?
Setiap kelas yang diinisialisasi oleh wadah IoC dikenal sebagai kacang di Spring. Siklus hidup Spring Bean dikelola oleh Spring IoC Container.
15. Apa yang dimaksud dengan "Cakupan" dalam kaitannya dengan Spring Beans?
Spring Beans hadir dengan lima cakupan berikut:
- Prototipe : Setiap kali ada permintaan kacang, prototipe terpisah dibuat setiap kali.
- Permintaan : Sama seperti ruang lingkup sebelumnya, tetapi hanya untuk aplikasi berbasis web. Untuk setiap permintaan HTTP, Spring membuat instance kacang baru.
- Singleton : Hanya ada satu bean yang dibuat untuk setiap container, dan itu bertindak sebagai cakupan default dari bean itu. Dalam semua kasus ini, kacang tidak dapat menggunakan variabel instans bersama karena dapat menyebabkan inkonsistensi data.
- Sesi : Kacang dibuat untuk setiap sesi HTTP
- Sesi global : Sesi global dibuat untuk aplikasi Portlet.
Kerangka kerja Spring dapat diperpanjang, yaitu, Anda juga dapat membuat ruang lingkup Anda sendiri. Atribut "lingkup" dari elemen kacang digunakan untuk mendefinisikan ruang lingkup.
Bagaimana Menjadi Pengembang Full Stack
Membungkus…
Ini semua tentang pertanyaan dan jawaban wawancara Spring yang harus diketahui seputar kerangka kerja Spring – dan Spring MVC, tepatnya. Jika Anda seorang pengembang Java yang ingin memulai dengan Spring, tidak ada waktu yang lebih baik! Baca lebih lanjut jika Anda mencari pertanyaan wawancara Java.
Luangkan waktu Anda yang berharga untuk mendapatkan pertanyaan wawancara Java Spring dan Anda akan siap melakukannya. Organisasi sedang mencari pengembang yang memiliki perintah kuat pada kerangka kerja ini – berkat fitur yang ditawarkannya.

Mendaftar di Kursus Rekayasa Perangkat Lunak dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.
