22 Pertanyaan dan Jawaban Wawancara Spring Boot yang Sering Diajukan

Diterbitkan: 2022-11-10

Apakah Anda seorang pengembang Java Spring Boot yang menantikan wawancara yang akan datang tetapi tidak yakin pertanyaan apa yang diharapkan? Kami di sini untuk membantu!

Artikel ini akan membantu Anda mempersiapkan diri secara memadai dengan menguraikan beberapa pertanyaan dan jawaban wawancara Boot Musim Semi yang sering diajukan yang dapat digunakan pewawancara untuk menguji Anda.

Pewawancara menggunakan pertanyaan Java Spring Boot yang strategis untuk menguji tingkat keterampilan orang yang diwawancarai yang relevan dengan peran yang mereka tetapkan. Oleh karena itu, Anda perlu mempersiapkan diri dengan pertanyaan yang relevan dan tahu bagaimana menjawabnya.

Sebelum melompat langsung ke pertanyaan wawancara dan jawaban terkaitnya, mari kita bahas gambaran umum dasar tentang apa itu Spring Boot dan seberapa membantunya bagi pengembang Java.

Apa itu Java Spring Boot?

Kerangka kerja Java ini dibuat oleh tim penting pada tahun 2014. Spring Boot, yang merupakan kerangka kerja sumber terbuka, secara efisien mengembangkan aplikasi yang independen, tingkat produksi, dan juga dapat berjalan di Java Virtual Machine (JVM).

Pengembang Java lebih menyukainya untuk aplikasi web dan pengembangan layanan mikro karena proses penyiapannya yang cepat dan mudah serta waktu konfigurasi yang aman.

Pengaturan dan konfigurasi yang mudah dari aplikasi berbasis Spring oleh Spring Boot dimungkinkan dengan tiga kemampuan intinya yang meliputi:

  • Konfigurasi otomatis – yang merupakan konfigurasi otomatis dari aplikasi Spring.
  • Spring Boot menyediakan pendekatan berpedoman pada konfigurasi default yang akan digunakan dan paket yang akan diinstal untuk dependensi yang diperlukan. Pendekatan berpendirian ini membantu dalam pengaturan proyek yang cepat.
  • Sprsetupoot memungkinkan Anda menjalankan aplikasi secara mandiri tanpa memerlukan server web.

Bagaimana Spring Boot membantu pengembang Java?

Pertama, pengembang Java yang menggunakan Spring Boot akan lebih mudah dengan konfigurasi otomatis semua komponen yang diperlukan untuk mengembangkan aplikasi Spring tingkat produksi. Ini, dalam jangka panjang, mengurangi waktu pengembangan dan akhirnya meningkatkan efisiensinya.

Spring Boot juga mudah diintegrasikan dengan ekosistem Spring, yang mencakup Spring JDBC, Spring Data, Spring Security, dan Spring ORM.

Pengembang Java juga dapat menghubungkan Spring Boot dengan database yang berbeda seperti Oracle, MySQL, PostgreSQL, dan MongoDB, antara lain.

Tentu saja, konfigurasi fleksibel dengan konfigurasi XML, Java Beans, dan transaksi Database adalah beberapa fitur berguna lainnya.

Oleh karena itu, sekarang setelah Anda memiliki gambaran umum tentang Spring Boot, mari kita pertimbangkan beberapa Pertanyaan dan jawaban wawancara Spring Boot yang sering diajukan yang akan membantu Anda mempersiapkan diri untuk wawancara Anda.

Pertanyaan dan Jawaban Wawancara Spring Boot

Pertanyaan wawancara Boot Musim Semi

Apa sajakah fitur dari Spring Boot?

Beberapa fitur populer ini meliputi:

  • Spring Boot CLI menyediakan Groovy untuk menulis aplikasi Spring Boot; dalam jangka panjang, kode boilerplate dihindari.
  • Spring Boot menyediakan logging dan fitur keamanan yang dengan mudah mengamankan aplikasi Anda dari potensi ancaman keamanan.
  • Ini menyediakan konfigurasi otomatis komponen yang relevan untuk proyek Anda, sehingga menghindari risiko file WAR yang tidak perlu.
  • Penginisialisasi pemula menetapkan struktur proyek internal default untuk Anda. Dengan cara ini, Anda tidak perlu mengatur struktur proyek secara manual.
  • Fitur aktuator Spring Boot memberikan akses ke wawasan dan metrik saat aplikasi berjalan.
  • Tentu saja, salah satu fitur utama Boot Musim Semi, Ketergantungan Pemula, membantu menggabungkan dependensi fitur tertentu yang umum digunakan.

Apa itu Spring Boot Starter?

Pemula Boot Musim Semi adalah deskriptor dependensi yang menyertakan serangkaian penyedia manajemen dependensi yang mengaktifkan dependensi aplikasi. Mereka menyediakan kerangka kerja dengan Resolusi Ketergantungan Otomatis. Pemula meningkatkan pengembangan yang mudah dan cepat.

Apa itu Aktuator di Spring Boot, dan apa kelebihannya?

Aktuator adalah salah satu fitur Spring Boot yang memungkinkan Anda memantau apa yang terjadi di dalam aplikasi saat dijalankan.

Selama debugging, misalnya, Anda dapat menggunakan aktuator untuk menganalisis log dengan memungkinkan akses ke fitur seperti penggunaan CPU dan identifikasi kacang.

Selain itu, aktuator tidak hanya menyediakan akses mudah ke titik akhir REST yang siap produksi, yang memantau dan mengelola informasi, tetapi juga mengambil data dari web.

Apa itu thymeleaf, dan bagaimana cara menggunakan thymeleaf?

Thymeleaf adalah templat sisi server Java yang membuat tata letak templat alami untuk aplikasi web Java Spring dan HTML5.

Spring Boot akan melakukan konfigurasi otomatis thymeleaf menggunakan dependensi spring-boot-starter-thymeleaf di file pom.xml untuk menyajikan konten web dinamis.

Untuk mengizinkan Spring Boot membaca dan merender template thymeleaf atau file HTML, tempatkan template di src/main/resources/templates .

Thymeleaf kemudian mem-parsing file index.html dan menggunakan nilai aktual yang Anda berikan dari kelas pengontrol sebagai ganti nilai dinamis yang tersedia di file indeks.

Setelah ini, pesan ditampilkan di browser web segera setelah aplikasi Spring Boot berjalan.

 org.springframework.boot spring-boot-starter-thymeleaf

Jelaskan proses pembuatan proyek Spring Boot menggunakan Spring Initializer.

Spring Initializr, yang merupakan alat web Spring, memungkinkan Anda membuat proyek Spring Boot menggunakan beberapa langkah dengan memberikan detail proyek.

  1. Buka Spring initializr dan isi kolom input.
  2. Mengklik tombol Hasilkan akan memulai pengunduhan proyek.
  3. Ekstrak proyek yang diunduh dari file zip dan buka dari IDE Anda. Dari IDE, arahkan ke File->New->Project from existing sources ->Spring-boot-app, lalu pilih file pom.xml. Klik pada prompt perubahan impor sehingga proyek disinkronkan. Setelah ini, ingatlah untuk membuka file application.properties dan mengedit nomor server.port ke server.port=7000 .
  4. Sekarang, jalankan aplikasi dari src->main->java->com.gfg.Spring.boot.app

Apa itu JPA di Spring Boot?

Ini adalah spesifikasi di Java yang menggunakan Object-Relation Mapping (ORM) untuk mengelola data relasional dan memungkinkan akses ke data antara objek Java atau kelas Java dan database relasional aplikasi.

JPA menggunakan Java Persistent Query Language (JPQL), bahasa kueri berorientasi objek yang juga tidak bergantung pada platform.

JPA memungkinkan pemrosesan kueri dan transaksi objek terhadap database menggunakan Entity Manager API yang disediakannya.

Apa itu konfigurasi otomatis di Spring Boot?

Konfigurasi otomatis berupaya mengotomatiskan konfigurasi aplikasi Boot Musim Semi menggunakan dependensi jar yang Anda tambahkan ke aplikasi.

Bergantung pada dependensi yang tersedia di Classpath aplikasi, konfigurasi otomatis akan mendeklarasikan objek bawaan modul khusus pegas, termasuk JPA, dan keamanan pegas, antara lain.

Apa itu Anotasi Musim Semi?

Anotasi pegas mengacu pada metadata yang menawarkan informasi tentang cuplikan program, dan mereka menambahkan data tambahan ke program itu. Komponen kode, termasuk kelas dan metode, sering dikaitkan dengan anotasi.

Anotasi tidak secara langsung mempengaruhi operasi program atau tindakan selanjutnya dari kode yang dikompilasi.
Sintaksnya dimulai dengan simbol ' @ '.

Spring Boot menyediakan enam jenis anotasi utama yang meliputi:

  • Anotasi Inti Musim Semi
  • Anotasi Data Musim Semi
  • Anotasi Kacang Musim Semi
  • Anotasi Web Musim Semi
  • Anotasi Penjadwalan Musim Semi
  • Anotasi Boot Musim Semi

Apa artinya REST Data Musim Semi?

Spring Data REST mengekspos sumber daya di RESTful yang ada di sekitar Spring Data Resources menggunakan kode minimal.

Contoh berikut menggunakan metode POST untuk meminta konten menggunakan http://localhost/example sebagai URL dan Content-Type: application/json sebagai Header.

Isi Permintaan:

 { "name": "Jimmy", "Gender": "Male", "Age": 23 }

Konten Respons:

 { "name": "Jimmy", "Gender": "Male", "Age": 23 "_links": { "self": { "href": "http://localhost:8080/example/1" }, "person": { "href": "http://localhost:8080/example/1" } } }

Apa perlunya Spring Boot DevTools?

Ini adalah seperangkat alat yang telah ditentukan sebelumnya yang propertinya diterapkan ke lingkungan pengembangan masing-masing untuk membuat pengembangan lebih mudah dan menghemat waktu pengembangan.

Setiap kali Anda mengubah kode di aplikasi Spring Boot, fitur Spring Boot DevTools secara otomatis dimulai ulang. Oleh karena itu, ini menghemat kesulitan memulai ulang aplikasi Anda secara manual setiap kali Anda mengubah kode Anda.

Apa itu Data Musim Semi?

Data musim semi berusaha memberi pengembang akses mudah ke teknologi akses data seperti data relasional dan non-relasional dan layanan data berbasis cloud karena terus memegang ciri khusus penyimpanan data yang mendasarinya.

Bagaimana cara memberi tahu konfigurasi otomatis untuk mundur ketika ada kacang?

Di sini Anda akan menggunakan anotasi @ConditionalOnMissingBean, yang menyertakan atribut name dan value sebagai berikut.

  • atribut value menyimpan jenis kacang untuk diperiksa
  • atribut name yang menamai kacang yang akan diperiksa

Bagaimana cara mengambil data dari database di Spring Boot?

Kami dapat mengakses data dari database MySQL ke aplikasi Spring Boot kami menggunakan langkah-langkah berikut.

Langkah 1: Gunakan perintah create DATABASE person untuk membuat database di MySQL.

Langkah 2: Di dalam database, buat tabel:

 CREATE TABLE person(id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, name VARCHAR(255));

Langkah 3: Sekarang buat aplikasi Spring Boot, lalu tambahkan JDBC, MySQL, dan dependensi web yang diperlukan.

Langkah 4: Konfigurasi database dari file application.properties seperti di bawah ini.

 spring.datasource.url=jdbc:mysql://localhost:3306/personDetails spring.datasource.username=example123 spring.datasource.password=example123 spring.jpa.hibernate.ddl-auto=create-drop

Langkah 5: Selanjutnya, mari kita tangani permintaan di kelas pengontrol:

 package com.person; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.web.bind.annotation.RestController; @RestController public class JdbcController { @Autowired JdbcTemplate jdbc; @RequestMapping("/save") public String index(){ jdbc.execute("insert into person (name)values(Trial)"); return "Name entered Successfully"; } }

Terakhir, jalankan aplikasi Anda saat Anda memeriksa entri database untuk melihat data yang diakses.

Mengapa kita membutuhkan Profil Musim Semi?

Profil Musim Semi memungkinkan pemisahan konfigurasi aplikasi dari bagian yang berbeda dan memanfaatkannya untuk pengembangan tertentu.

Profil Pegas juga menyelamatkan pengembang dari kesulitan mengelola konfigurasi eksternal khusus lingkungan jika Profil Pegas tidak tersedia.

Selain itu, ini akan membuat sulit untuk tetap sinkron dan berarti kebutuhan ekstra untuk menulis beberapa komponen seperti pabrik yang akan memanfaatkan hal-hal tertentu yang diperlukan tergantung pada parameter khusus lingkungan tertentu.

Bisakah kita mengubah port server Tomcat tertanam di boot Spring?

Ya kita bisa.

Ini dilakukan dengan memanipulasi file application.properties untuk menyertakan properti server.port dan menetapkan port pilihan Anda. Spring Boot secara otomatis memuat file properti aplikasi dan menerapkan konfigurasi yang diperlukan ke aplikasi.

Misalnya, Anda dapat mengubah nomor server.port dari nilai default 8080 menjadi server.port= 8081 .

Bagaimana Anda mengonfigurasi Log4j untuk masuk?

Dengan beberapa langkah sederhana ini, kita dapat mengonfigurasi Log4j untuk logging:

  1. Pertama, buat proyek Java Anda, lalu klik kanan proyek tersebut. Arahkan ke MyEclipse->File->New->Java Project untuk memberi nama proyek dan klik selesai.
  2. Selanjutnya, klik kanan nama proyek Java Anda dan pilih Build Path -> Configure Build Path. Langkah ini akan menambahkan file log4j.
  3. Arahkan ke perpustakaan dan klik tombol Tambahkan JARS Eksternal , dan pilih file log4j dari menu tarik-turun yang muncul. Kemudian klik OK.
  4. Buat file java baru yang akan Anda panggil file log4j.properties , lalu klik finish dan tambahkan file ini ke Classpath.
  5. Klik Advanced dari Classpath, lalu pilih opsi Add Folders, dan ingat untuk mengklik OK.
  6. Anda sekarang dapat mencari file log4j.properties, klik OK, dan jalankan proyek.
  7. Periksa konsol untuk output di bawah ini.
 [main] DEBUG Example – Hello this is a debug message [main] INFO Example – Hello this is an info message

Apa itu Kontainer IoC?

Kontainer IoC(Inversion of Control) adalah kontainer Spring inti yang secara otomatis mengimplementasikan injeksi ketergantungan. Ini menginstansiasi aplikasi kelas dan bertanggung jawab atas konfigurasi objek dan perakitan dependensi yang diperlukan.

Itu juga mengelola siklus hidup objek dari instantiasi hingga kehancurannya.

IoC melakukan tugas ini menggunakan konfigurasi metadata dalam kode Java, XML, dan anotasi Java.

Wadah disebut sebagai Inversi Kontrol karena mengontrol objek Java dan siklus hidup objek ini. Ini adalah tugas pengembang.

Jelaskan cara membuat aplikasi Spring Boot menggunakan Maven

Proses ini memerlukan serangkaian langkah.

Langkah 1: Pilih jenis proyek.

Langkah 2: Beri nama proyek Anda untuk mengonfigurasinya, lalu klik tombol selesai untuk membuat proyek.

Langkah 3: Sekarang, kita akan mengonfigurasi file pom.xml dari proyek Maven untuk membuat proyek Spring Boot darinya.

file pom.xml:

 <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.javatpoint</groupId> <artifactId>spring-boot-example</artifactId> <version>0.0.1-SNAPS<name>JavaTpoint Spring Boot Example</name> </project>

Konfigurasi melibatkan penambahan induk ke proyek Maven. Ini akan mendeklarasikan proyek Maven sebagai proyek anak ke proyek induk.

 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.2.RELEASE</version> </parent>

Langkah 4: Selanjutnya, tambahkan ketergantungan web, spring-boot-starter-web, ke pom.xml.

 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>

Langkah 5 : Tambahkan versi Java proyek.

 <properties> <java.version>1.8</java.version> </properties>

Langkah 6: Perhatikan bahwa setiap kali Anda menambahkan dependensi baru, Anda perlu memperbarui proyek Maven.

Langkah 7: Jadikan proyek Maven dapat dijalankan dengan membuat kelas Java di dalam paket src/main/java .

Langkah 8: Selanjutnya, panggil metode run statis kelas Aplikasi Musim Semi.

Langkah 9: Terakhir, jalankan kelas sebagai aplikasi Java.

Apa kelebihan Spring Boot dibandingkan Spring?

  • Kemampuan bootstrap Spring Boot untuk mengkompilasi bahasa sumber menggunakan penginisialisasi Boot, teknik yang disebut bootstrap, memungkinkan penghematan ruang pada perangkat pengguna dan juga mengurangi waktu buka aplikasi.
  • Tidak seperti Spring, Spring Boot memungkinkan manajemen dependensi setelah menambahkan dependensi spring-boot tanpa bergantung pada POM induk (model objek induk) atau file XML.
  • Spring Boot juga memungkinkan pengembang untuk menggunakan anotasi atau konfigurasi XML tanpa perlu menggunakan konfigurasi XML.
  • Pengembang lebih memilih Spring Boot karena penurunan kode boilerplate yang diperlukan untuk menyiapkan aplikasi. Ini karena Spring Boot dilengkapi dengan database dalam memori dan server Tomcat yang disematkan, mengurangi kode boilerplate. Spring, di sisi lain, memiliki lebih banyak kode boilerplate.
  • Spring Boot tidak selalu memerlukan file WAR (sumber daya aplikasi web) dan hanya dapat mengandalkan JAR (Java Resource), yang memiliki struktur kecil dan lebih sederhana dan oleh karena itu lebih berguna bagi pengguna dan pengembang.
  • Spring Boot juga secara otomatis menyematkan server seperti Tomcat dan Jetty; oleh karena itu, pengembang tidak perlu mengatur server secara manual seperti yang seharusnya Anda lakukan di Spring.

Bagaimana cara melakukan pagination di Spring Boot?

Proses pagination membagi data menjadi beberapa bagian untuk menghemat sumber daya. Ini memerlukan dua bidang, ukuran halaman, dan nomor halaman.

Prosesnya melibatkan beberapa langkah, termasuk:

Langkah 1: Pengaturan awal
Entitas consisetupn kita akan menamai Person sebagai kelas domain.

 @Entity public class Person { @Id private long id; private String name; }

Langkah 2: Pembuatan repositori
Selanjutnya, gunakan PersonRepository extends PagingAndSortingRepository untuk bisa mendapatkan metode findAll(Pageable pageable ) dan findAll(Sort sort) untuk paging dan sorting.

 public interface PersonRepository extends PagingAndSortingRepository<Person, Integer> { List<Product> findAllByPrice(double price, Pageable pageable); }

Langkah 3: Langkah paginasi
Langkah pertama di sini melibatkan pembuatan objek PageRequest ; dengan meneruskan nomor halaman dan ukuran halaman seperti yang diminta yang mengimplementasikan antarmuka Pageable .

 Pageable firstPageWithTwoElements = PageRequest.of(0,2); Pageable secondPageWithThreeElements = PageRequest.of(1,3);

Kemudian teruskan objek PageRequest ini ke metode repositori sebagai parameter.

 Page<Person> allProducts = personRepository.findAllByPrice(findPageWithTwoElements); List<Items> allTwoDollarItems = itemsRepository.findAllByPrice(2, secondPageThreeElements)

Secara default, metode findAll(Pageable pageable) akan mengembalikan objek Page<T> .

Jelaskan cara mendaftarkan konfigurasi otomatis khusus

Di bawah file @EnableAutoConfiguration key META-INF/spring.factories, sebutkan nama yang sepenuhnya memenuhi syarat. Langkah ini mendaftarkan kelas konfigurasi otomatis.

 org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.baeldung.autoconfigure.CustomAutoConfiguration

Membangun proyek menggunakan Maven akan mengharuskan Anda untuk menempatkan file di direktori resources/META-INF .

Apa itu bootstrap di Spring Boot?

Bootstrapping adalah proses mengeksekusi logika dalam aplikasi Spring Boot pada saat start-up.
Boot initializr mengkompilasi bahasa sumber di Spring Boot. Proses ini menghemat ruang perangkat dan juga mengurangi waktu pemuatan aplikasi.

Kata-kata Terakhir

Nah, artikel ini membahas beberapa pertanyaan Spring Boot yang mungkin akan ditanyakan oleh pewawancara selama wawancara Anda dan jawaban untuk membantu Anda dengan percaya diri menguasainya. Kami harap Anda mendapatkan pekerjaan impian itu!

Anda mungkin juga ingin mempelajari beberapa tips yang relevan dari pertanyaan yang diajukan selama wawancara Java.

Semoga berhasil!