คำถามและคำตอบสำหรับการสัมภาษณ์ Spring Boot ที่สำคัญ 10 อันดับแรก [สำหรับผู้เริ่มต้นและผู้มีประสบการณ์]

เผยแพร่แล้ว: 2020-07-29

ทุกวันนี้ คำถามสัมภาษณ์ Spring boot กลายเป็นเรื่องธรรมดาสำหรับนักพัฒนา Java Spring Boot เป็นโมดูลสปริงแบบโอเพ่นซอร์สที่ใช้ Java ซึ่งนำเสนอคุณสมบัติอันทรงพลังสำหรับการพัฒนาแอปพลิเคชันที่พร้อมปรับใช้อย่างรวดเร็ว เป็นเฟรมเวิร์กจาวาที่ใช้มากที่สุดและดีที่สุดสำหรับการพัฒนาไมโครเซอร์วิสที่ปรับขนาดได้และเว็บแอปพลิเคชัน

หากคุณต้องการเป็นผู้เชี่ยวชาญด้านโดเมน คุณมาถูกที่แล้ว เราได้รวบรวมคำถามและคำตอบสำหรับการสัมภาษณ์สปริงบูตที่ถามบ่อยที่สุดบางส่วนเพื่อช่วยให้คุณเก่งในการสัมภาษณ์

เรียนรู้การสร้างแอปพลิเคชัน เช่น Swiggy, Quora, IMDB และอื่นๆ

คำถามและคำตอบสำหรับการสัมภาษณ์ Spring Boot ขั้นพื้นฐาน

1. Spring Boot คืออะไร และแตกต่างจาก Spring อย่างไร?

มันนำการพัฒนา Java ด้วย Spring ไปสู่อีกระดับและทำให้การพัฒนาง่ายขึ้นโดยลบจุดปวดที่สำคัญที่เกี่ยวข้องกับการพึ่งพา การกำหนดค่า และการจัดการ ความแตกต่างมีการระบุไว้ด้านล่าง

ฤดูใบไม้ผลิ

รองเท้าบูทสปริง

เป็นเฟรมเวิร์กเว็บแอปพลิเคชันที่ใช้ Java

เป็นโมดูลของ Spring ที่ใช้สำหรับสร้างไมโครเซอร์วิส

มันค่อนข้างซับซ้อนทำให้ใช้งานยาก

มันซับซ้อนน้อยกว่าและมีประสิทธิภาพมากกว่าเมื่อเทียบกับเฟรมเวิร์กสปริง

มีไลบรารีและเครื่องมือในการสร้างเว็บแอปพลิเคชันที่กำหนดเอง

มันสร้างโปรเจ็กต์แอปพลิเคชันสปริงแบบสแตนด์อโลนที่สามารถรัน/รันได้

มันใช้มุมมองที่ไม่มีความคิดเห็น

ต้องใช้มุมมองที่มีความคิดเห็น เนื่องจากสามารถตัดสินใจได้ว่าจะใช้ค่าเริ่มต้นใดในการปรับใช้การกำหนดค่า

มันต้องมีการกำหนดค่า XML

ไม่ต้องการการกำหนดค่า XML

2. Spring Boot มีความจำเป็นอย่างไร?

เป็นคำถามสัมภาษณ์ Spring Boot คำถามหนึ่งที่พบบ่อยที่สุด และคุณสามารถตอบได้โดยชี้ให้เห็นข้อดีที่สำคัญของ Spring Boot

แม้ว่า Spring จะมอบสภาพแวดล้อมที่เหมาะสมที่สุดให้กับนักพัฒนาในการพัฒนาแอปพลิเคชันขนาดใหญ่ แต่จำนวนการกำหนดค่าและความซับซ้อนของมันทำให้ยากต่อการทำเช่นนั้น

นี่คือจุดที่ Spring Boot เข้ามาช่วยเหลือ คุณลักษณะต่างๆ เช่น เทมเพลตที่สร้างไว้ล่วงหน้าและการกำหนดค่าอัตโนมัติช่วยให้นักพัฒนาสามารถใช้ฟังก์ชันสปริงที่มีอยู่ได้อย่างง่ายดาย ใช้ความพยายามน้อยที่สุด และให้ประสิทธิภาพสูงสุด

ข้อดีหลักของ Spring Boot คือ:

  • ช่วยลดเวลาในการพัฒนาและทดสอบ
  • มันใช้ JavaConfig แทน XML
  • มันให้แนวทางการพัฒนาความเห็น
  • มีโครงการเริ่มต้นหรือค่าเริ่มต้นสำหรับการพัฒนาที่คล่องตัว
  • ไม่จำเป็นต้องมีเว็บเซิร์ฟเวอร์แยกต่างหาก ดังนั้นจึงไม่จำเป็นต้องบูตเครื่อง Glassfish, Tomcat หรือเซิร์ฟเวอร์อื่นใด

อ่าน: แนวคิดโครงการ Spring Boot

3. คุณช่วยบอกชื่อและอธิบายส่วนประกอบ/คุณสมบัติสปริงบูตทั้งหมดโดยสังเขปได้ไหม?

ด้วยคำถามนี้ ผู้สัมภาษณ์ตั้งใจที่จะวัดความรู้เชิงทฤษฎีเกี่ยวกับแนวคิดของคุณ หากคุณเคยมีประสบการณ์ในโดเมนนี้หรือเคยทำงานในโครงการ Spring Boot มาก่อน โปรดให้คำตอบพร้อมตัวอย่าง

คุณสมบัติหลักของ Spring Boot คือ

1. การพึ่งพาผู้เริ่มต้น

มีการพึ่งพาอาศัยกันมากมายในกรอบงาน Spring และคุณลักษณะนี้รวมการขึ้นต่อกันเข้าด้วยกัน Spring Boot มาพร้อมกับการพึ่งพาสตาร์ทเตอร์หลายตัวเพื่อเพิ่มประสิทธิภาพการทำงาน

Spring Boot Starter บางส่วน ได้แก่ Test Starter, Web Starter, Mail Starter และอื่นๆ ตัวอย่างเช่น หากเราต้องการใช้ JPA และ Spring สำหรับการเข้าถึงฐานข้อมูล เราสามารถเพิ่มการพึ่งพาสตาร์ทเตอร์นี้ในโปรเจ็ กต์- spring-boot-starter-data-jpa

2. การกำหนดค่าอัตโนมัติ

คุณลักษณะนี้จะสแกน classpath และค้นหาไลบรารี/Jars ใน classpath เพื่อจัดเตรียมคอนฟิกูเรชันที่จำเป็นในการออกแบบและรันแอ็พพลิเคชัน

ตัวอย่างเช่น ในขณะที่พัฒนาแอปพลิเคชันด้วย Spring Boot หากมี Thymeleaf.jar อยู่ใน classpath โปรแกรมจะสามารถจัดตำแหน่งตัวแก้ไขเทมเพลต Thymeleaf และการตั้งค่าอื่นๆ ได้โดยอัตโนมัติ

3. ตัวเริ่มต้นสปริง

เป็นเว็บแอปพลิเคชันที่ทำให้กระบวนการของโครงการง่ายขึ้นโดยการสร้างโครงสร้างโครงการเริ่มต้นและสร้างสคริปต์ ช่วยเพิ่มผลผลิตโดยลดเวลาในการพัฒนา

4. ตัวกระตุ้นสปริง

แอคทูเอเตอร์มีความสำคัญอย่างเหลือเชื่อสำหรับไมโครเซอร์วิส เนื่องจากเปิดใช้งานฟีเจอร์ที่พร้อมสำหรับการปรับใช้ เช่น การตรวจสอบ ตรวจสุขภาพ ข้อมูลบันทึก ฯลฯ สำหรับการรันแอปพลิเคชัน Spring boot แอคทูเอเตอร์มีปลายทางการจัดการในตัวที่มีการรักษาความปลอดภัยตามค่าเริ่มต้น

ตัวอย่างเช่น:

/beans – แสดงรายการ Spring beans ทั้งหมดในแอปพลิเคชันของคุณ

/health — แสดงข้อมูลความสมบูรณ์ของแอพพลิเคชั่นโดยการตรวจสอบระบบการผลิต

5. ฤดูใบไม้ผลิ CLI

คุณลักษณะนี้ช่วยให้นักพัฒนาสามารถใช้ Groovy ในการเขียนแอปพลิเคชัน Spring boot ได้ ส่งผลให้ได้โค้ดที่กระชับยิ่งขึ้น

4. Thymeleaf ใน Spring Boot คืออะไร?

เป็นเอ็นจิ้นเทมเพลตฝั่งเซิร์ฟเวอร์ที่ใช้ Java ที่นำเสนอเทมเพลตที่สวยงามและเป็นธรรมชาติสำหรับเว็บแอปพลิเคชัน

5. Spring Boot รองรับคอนเทนเนอร์แบบฝังตัวใดบ้าง

Spring Boot รองรับคอนเทนเนอร์แบบฝังสามตัว:

  • แมวตัวผู้ (ใช้โดยค่าเริ่มต้น)
  • อันเดอร์โทว์
  • ท่าเทียบเรือ

เช็คเอาท์: คำถามและคำตอบสัมภาษณ์เต็มกอง

คำถามและคำตอบสำหรับการสัมภาษณ์ Spring Boot ทางเทคนิค

1. คุณเข้าใจอะไรจากการปิดเครื่องในแอคทูเอเตอร์

เป็นปลายทางการจัดการที่ช่วยให้การปิดแอปพลิเคชันเป็นไปอย่างราบรื่นและเหมาะสม ไม่ได้รับอนุญาตตามค่าเริ่มต้น แต่สามารถเปิดใช้งานได้โดยใช้ management.endpoint.shutdown.enabled=true

2. คุณจะกำหนดคุณสมบัติใน Spring Boot ได้อย่างไรและที่ไหน

เราสามารถใช้ไฟล์ application.properties เพื่อกำหนดคุณสมบัติ ไฟล์นี้ดาวน์โหลดโดยอัตโนมัติโดย Spring Boot และใช้สำหรับการกำหนดค่าแอปพลิเคชัน

3. อธิบาย spring-boot-starter-parent?

เป็นสตาร์ทเตอร์ที่ไม่เหมือนใครซึ่งเพิ่ม jars ให้กับ classpath เพื่อการจัดการการพึ่งพา Maven หรือ Gradle ที่ง่ายดาย

4. การจัดการการพึ่งพา Spring Boot คืออะไร?

คุณสามารถอธิบายว่า Spring Boot จัดการการกำหนดค่าและการขึ้นต่อกันโดยอัตโนมัติโดยไม่ต้องระบุเวอร์ชันสำหรับการขึ้นต่อกันใดๆ

5. คุณสามารถปิดใช้งานการกำหนดค่าอัตโนมัติเฉพาะในสปริงบูตได้หรือไม่? อธิบายยังไง?

ใช่ เราทำได้โดย

  • การใช้แอตทริบิวต์แยกของ @EnableAutoConfiguration

@การกำหนดค่า

@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})

CustomConfiguration คลาสสาธารณะ {}

  • ใช้แอตทริบิวต์แยกสำหรับคำอธิบายประกอบ @SpringBootApplication

@SpringBootApplication(exclude= DataSourceAutoConfiguration.class)

CustomApplication คลาสสาธารณะ {}

6. สามารถใช้ Spring Boot เพื่อสร้างแอปพลิเคชันที่ไม่ใช่เว็บได้หรือไม่

ใช่ Spring Boot รองรับการพัฒนาทั้งเว็บและแอปพลิเคชันที่ไม่ใช่เว็บ เราจำเป็นต้องลบการพึ่งพาเว็บออกจาก classpath และบริบทของแอปพลิเคชันเพื่อสร้างแอปพลิเคชันที่ไม่ใช่เว็บ

อ่านเพิ่มเติม: คำถามสัมภาษณ์ Javascript

บทสรุป

เตรียมการสัมภาษณ์และได้งานในฝันด้วยคำถามและคำตอบในการสัมภาษณ์ Spring Boot ที่สร้างโดยทีมผู้เชี่ยวชาญในอุตสาหกรรมของเรา

เข้าร่วม upGrad เพื่อเริ่มเรียนรู้และเพิ่มทักษะให้กับตัวเองเพื่อสร้างเว็บแอปพลิเคชันที่แข็งแกร่งและปรับขนาดได้

หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Java การพัฒนาซอฟต์แวร์แบบฟูลสแตก โปรดดูประกาศนียบัตร PG ของ upGrad & IIIT-B ด้านการพัฒนาซอฟต์แวร์แบบครบวงจร ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง โครงการมากกว่า 9 โครงการ และการมอบหมายงาน สถานะศิษย์เก่า IIIT-B โครงการหลักและความช่วยเหลือด้านงานกับบริษัทชั้นนำ

ลงจอดบนงานในฝันของคุณ

UPGRAD และ PG DIPLOMA ของ IIIT-BANGALORE ในการพัฒนาซอฟต์แวร์
เรียนรู้เพิ่มเติม