คำถามและคำตอบสำหรับการสัมภาษณ์ 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 โครงการหลักและความช่วยเหลือด้านงานกับบริษัทชั้นนำ