คำถามและคำตอบสัมภาษณ์ฤดูใบไม้ผลิ 35 อันดับแรก: สุดยอดคู่มือปี 2022

เผยแพร่แล้ว: 2021-01-08

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

หากคุณผ่านสิ่งเหล่านี้ โอกาสที่คุณจะทำการสัมภาษณ์ของคุณได้อย่างน่าทึ่ง ก่อนที่เราจะเริ่ม ให้เราอธิบายสั้นๆ เกี่ยวกับความต้องการโดยรวมของ Spring Framework ในตลาดปัจจุบัน

อ่าน: ความต้องการของนักพัฒนาสแต็กเต็มรูปแบบในอินเดีย

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

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

หากคุณเป็นโปรแกรมเมอร์ Java Spring Framework เป็นสิ่งสำคัญสำหรับคุณ บริษัทจำนวนมากต้องการให้โปรแกรมเมอร์เข้าใจ Spring Framework หรืออย่างน้อยก็รู้บางโมดูล

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

สารบัญ

คำถามและคำตอบสัมภาษณ์ฤดูใบไม้ผลิ 2020

คำถามที่ 1 เวอร์ชันต่างๆ ที่คุณพบใน Spring Framework คืออะไร และฟีเจอร์หลักคืออะไร

สามเวอร์ชันคือ Spring 2.5, Spring 3.0 และ Spring 4.0

Spring 2.5 เป็นเวอร์ชันแรกที่รองรับคำอธิบายประกอบ เปิดตัวในปี 2550 Spring 3.0 ใช้การอัพเกรดใน Java5 และยังให้ความช่วยเหลือแก่ JEE6 เปิดตัวเมื่อสองปีต่อมาในปี 2009 Spring 4.0 เป็นตัวแปรหลักที่ให้การสนับสนุน Java 8 อย่างครอบคลุม ซึ่งเปิดตัวในปี 2013

Q.2 อธิบายหรือกำหนด Spring Framework

เป็นแพลตฟอร์ม Java แบบโอเพ่นซอร์ส ใช้เป็นตัวเลือกสำหรับเทคโนโลยี Java ระดับองค์กรขนาดใหญ่ พูดง่ายๆ ก็คือ ทำให้การพัฒนา Java ง่ายขึ้นเนื่องจากมีน้ำหนักเบา นักพัฒนาสามารถพัฒนาแอปพลิเคชันโดยใช้ Spring Framework และปรับใช้แม้กระทั่งบนคอมพิวเตอร์ที่มีหน่วยความจำ CPU และทรัพยากรที่จำกัด นอกจากนี้ยังรองรับเฟรมเวิร์กอื่นๆ มากมาย รวมถึงแต่ไม่จำกัดเพียง Tapestry, JSF, EJB, Hibernate, Struts และอื่นๆ

อ่าน: แนวคิดและหัวข้อโครงการเต็มกอง

คำถามที่ 3 ข้อดีของ Spring Framework คืออะไร

  • Spring Framework เป็นโอเพ่นซอร์สและไม่มีการล็อคอินของผู้ขาย
  • คุณสามารถใช้ได้เฉพาะสิ่งที่คุณต้องการจริงๆ เนื่องจากสถาปัตยกรรมแบบเลเยอร์ที่ใช้
  • Spring Framework ใช้ POJO ซึ่งทำให้การทดสอบแอปพลิเคชันง่ายขึ้นมาก
  • คุณสามารถใช้กับเฟรมเวิร์กอื่นๆ ของ Java กับ Spring Frameworks ไม่ได้กำหนดข้อจำกัดหรือข้อจำกัดใดๆ
  • Spring Framework เป็นเฟรมเวิร์กแบบแยกส่วน มีความยืดหยุ่นสูง

คำถามที่ 4 คุณลักษณะต่างๆ ของ Spring Framework คืออะไร

  • น้ำหนักเบา: Spring Framework มีน้ำหนักเบาเมื่อเราพูดถึงความโปร่งใสและขนาด
  • การผกผันของการควบคุม: เป็นหลักการที่โฟลว์การควบคุมของโปรแกรมถูกพลิกกลับ แหล่งข้อมูลภายนอก เช่น บริการ กรอบงาน และส่วนประกอบอื่นๆ จะควบคุมการไหลของโปรแกรมแทนโปรแกรมเมอร์
  • การเขียนโปรแกรมเชิงมุมมอง: การเขียนโปรแกรมเชิงมุมมองใน Spring สนับสนุนการพัฒนาที่มีผลผูกพันโดยแยกบริการของระบบออกจากตรรกะทางธุรกิจของแอปพลิเคชัน
  • คอนเทนเนอร์: คอนเทนเนอร์เป็นแกนหลักของ Spring Framework เป็นคอนเทนเนอร์ที่สร้างอ็อบเจ็กต์ ผูกออบเจ็กต์ กำหนดค่า และดูแลวงจรชีวิตที่สมบูรณ์ของออบเจ็กต์ ตั้งแต่การสร้างจนถึงจุดสิ้นสุด
  • MVC Framework: เฟรมเวิร์กเว็บแอปพลิเคชัน MVC ของ Spring Framework นั้นใช้งานง่ายและกำหนดค่าได้ คุณสามารถใช้เฟรมเวิร์กอื่นแทนการเลือก Spring MVC Framework
  • การจัดการธุรกรรม: Spring Framework ใช้เลเยอร์นามธรรมทั่วไปสำหรับการจัดการธุรกรรม คุณสามารถใช้การสนับสนุนธุรกรรมของ Spring ในสภาพแวดล้อมที่น้อยลงของคอนเทนเนอร์
  • การจัดการข้อยกเว้น JDBC: คุณไม่จำเป็นต้องจัดการกับข้อยกเว้นที่เกี่ยวข้องกับฐานข้อมูลอย่างชัดเจน Spring JDBC Framework จัดการโดยใช้การจัดการข้อยกเว้น JDBC

อ่าน: คำถามสัมภาษณ์นักพัฒนาเต็มกอง

คำถามที่ 5 คุณสามารถหาโมดูลใน Spring Framework ได้กี่โมดูล ตั้งชื่อพวกเขา

คุณสามารถค้นหาโมดูลได้ 20 โมดูลซึ่งจัดอยู่ใน Core Container, Web, Data Access/Integration, AOP (Aspect Oriented Programming), Instrumentation และ Test

Spring Core Container: ตามชื่อของมัน มันเป็นคอนเทนเนอร์หลักของ Spring Framework ประกอบด้วย

  • สปริงคอร์
  • ถั่วสปริง
  • ภาษานิพจน์ฤดูใบไม้ผลิ
  • บริบทฤดูใบไม้ผลิ

เว็บ: เลเยอร์นี้รองรับการสร้างเว็บแอปพลิเคชัน ประกอบด้วยโมดูลต่อไปนี้:

  • เว็บ
  • เว็บ – MVC
  • เว็บ – Socket
  • เว็บ – Portlet

การเข้าถึงข้อมูล/การรวมข้อมูล: เลเยอร์นี้สนับสนุนการสื่อสารกับฐานข้อมูล ประกอบด้วยโมดูลต่อไปนี้:

  • การเชื่อมต่อฐานข้อมูล Java – JDBC
  • การทำแผนที่เชิงวัตถุ – ORM
  • ออบเจ็กต์ XML Mappers – OXM
  • บริการส่งข้อความ Java – JMS
  • ธุรกรรม

Aspect-Oriented Programming: ในเลเยอร์นี้ นักพัฒนาสามารถใช้ pointcuts คำแนะนำ ฯลฯ เพื่อแยกโค้ด

เครื่องมือวัด: เลเยอร์นี้ให้การสนับสนุนการใช้งาน classloader และเครื่องมือวัดระดับ

ทดสอบ: เลเยอร์นี้รองรับการทดสอบกับ TestNG และ Junit

คุณยังสามารถค้นหาโหนดเบ็ดเตล็ดอื่นๆ เช่น:

ข้อความ: โมดูลนี้ให้ความช่วยเหลือสำหรับ STOMP นอกจากนี้ยังช่วยในรูปแบบการเขียนโปรแกรมคำอธิบายประกอบที่จำเป็นสำหรับการกำหนดเส้นทางและการประมวลผลข้อความ STOMP จากไคลเอ็นต์ WebSocket

ด้าน: โมดูลนี้ให้การสนับสนุนในการผสานรวมกับ AspectJ

Q.6 ไฟล์คอนฟิกูเรชันของ Spring คืออะไร?

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

คำถามที่ 7 อธิบายส่วนประกอบต่างๆ ของแอปพลิเคชัน Spring

โดยทั่วไปแล้ว แอปพลิเคชัน Spring ประกอบด้วยองค์ประกอบต่อไปนี้:

  • อินเทอร์เฟซ: ฟังก์ชันทั้งหมดถูกกำหนดไว้ในอินเทอร์เฟซ
  • คลาส Bean: คุณสามารถค้นหาคุณสมบัติที่นี่พร้อมกับชุดและรับฟังก์ชั่น
  • Spring Aspect-Oriented Programming (AOP): ให้ฟังก์ชันการทำงานของข้อกังวลด้านการตัดขวาง
  • ไฟล์คอนฟิกูเรชัน Bean: ไฟล์นี้มีรายละเอียดของคลาสและวิธีการกำหนดค่า
  • โปรแกรมผู้ใช้: โปรแกรมผู้ใช้ใช้ฟังก์ชัน

คำถามที่ 8 อธิบายวิธีต่างๆ ในการใช้ Spring Framework

Spring Framework สามารถใช้ได้หลายวิธีเช่น:

  • Spring Framework สามารถใช้เป็นเว็บแอปพลิเคชัน Spring ที่ครอบคลุมได้
  • Spring Framework สามารถใช้เป็นเฟรมเวิร์กเว็บของบุคคลที่สามได้โดยใช้ Spring Frameworks ระดับกลาง
  • สามารถใช้ Spring Framework สำหรับการใช้งานระยะไกลได้
  • Spring Framework สามารถใช้เป็น Enterprise Java Bean ซึ่งสามารถห่อ POJO ที่มีอยู่ได้

คำถามที่ 9 คอนเทนเนอร์ Spring IOC คืออะไร

คอนเทนเนอร์เป็นแกนหลักของ Spring Framework เป็นคอนเทนเนอร์ที่สร้างอ็อบเจ็กต์ ผูกมัด กำหนดค่า และดูแลวงจรชีวิตที่สมบูรณ์ของวัตถุ ซึ่งเริ่มตั้งแต่การสร้างจนถึงจุดสิ้นสุด

คอนเทนเนอร์ Spring ใช้ Dependency Injection เพื่อจัดการส่วนประกอบที่สร้างแอปพลิเคชัน คอนเทนเนอร์รับทิศทางสำหรับอ็อบเจ็กต์ที่จะสร้าง ตั้งค่า และเรียกใช้โดยการอ่านข้อมูลเมตาของคอนฟิกูเรชันที่กำหนดโดยคำอธิบายประกอบ Java, โค้ด Java หรือโดย XML

คำถามที่ 10 การพึ่งพาการฉีดคืออะไร?

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

คำถามที่ 11 สามารถฉีด Dependency Injection ได้กี่วิธี?

มีสามวิธีในการฉีด Dependency ดังนี้:

  • คอนสตรัคเตอร์ ฉีด
  • เซ็ตเตอร์ฉีด
  • การฉีดอินเทอร์เฟซ

อย่างไรก็ตาม ใน Spring Framework จะใช้เฉพาะ Constructor Injection และ setter Injection

คำถามที่ 12 อะไรทำให้ Constructor Injection แตกต่างจาก Setter Injection

คอนสตรัคเตอร์ ฉีด เซ็ตเตอร์ฉีด
ไม่มีการฉีดยาที่ไม่สมบูรณ์หรือจำกัด อาจมีการฉีดไม่สมบูรณ์หรือจำกัด
มันไม่ได้แทนที่คุณสมบัติตัวตั้งค่า มันแทนที่คุณสมบัติคอนสตรัคเตอร์
มันสร้างอินสแตนซ์ใหม่หากมีการเปลี่ยนแปลงใด ๆ จะไม่สร้างอินสแตนซ์ใหม่ใด ๆ หากมีการเปลี่ยนแปลง
มันทำงานได้ดีกว่าสำหรับคุณสมบัติมากมาย ทำงานได้ดีขึ้นสำหรับคุณสมบัติที่น้อยลง

คำถามที่ 13 มีคอนเทนเนอร์ IOC ในฤดูใบไม้ผลิกี่ประเภท

โดยทั่วไปคุณจะพบคอนเทนเนอร์ IOC สองคอนเทนเนอร์ ได้แก่:

  1. BeanFactory: BeanFactory เป็นคลาสโรงงานที่ประกอบด้วยกลุ่มของถั่ว มันยกตัวอย่างถั่วเมื่อใดก็ตามที่ลูกค้าเรียกร้อง
  2. ApplicationContext: อินเทอร์เฟซ ApplicationContext ถูกสร้างขึ้นเหนืออินเทอร์เฟซ BeanFactory มันมีฟังก์ชั่นพิเศษบางอย่างนอกเหนือจากที่ BeanFactory ให้มา

คำถามที่ 14 บอกเราเกี่ยวกับความแตกต่างเล็กน้อยระหว่าง BeanFactory และ ApplicationContext

โรงงานถั่ว บริบทการสมัคร
เป็นอินเทอร์เฟซที่อธิบายไว้ใน org.springframework.beans.factory.BeanFactory เป็นอินเทอร์เฟซที่อธิบายไว้ใน org.springframework.context.ApplicationContext
มันใช้การเริ่มต้น Lazy ใช้การเริ่มต้นแบบก้าวร้าว
มันให้วัตถุทรัพยากรอย่างชัดเจนโดยใช้ไวยากรณ์ มันสร้างและจัดการวัตถุทรัพยากรด้วยตัวเอง
ไม่ได้ช่วยทำให้เป็นสากล ช่วยให้เป็นสากล
ไม่ช่วยในการพึ่งพาคำอธิบายประกอบ มันช่วยการพึ่งพาอาศัยคำอธิบายประกอบ

คำถามที่ 15 ประโยชน์ของ IoC คืออะไร?

ประโยชน์บางประการของ IoC คือ:

  • จะลดจำนวนโค้ดที่จำเป็นในแอปพลิเคชันของคุณ
  • แอปพลิเคชันของคุณทดสอบได้ง่ายกว่ามาก เนื่องจากไม่ต้องใช้กลไกการค้นหาซิงเกิลตันหรือ JNDI ในกรณีการทดสอบหน่วยของคุณ
  • ส่งเสริมการมีเพศสัมพันธ์แบบหลวม ๆ โดยใช้ความพยายามน้อยที่สุดและกลไกที่รบกวนน้อยที่สุด
  • มันช่วยในการสร้างอินสแตนซ์ที่กระตือรือร้นและการโหลดบริการอย่างเกียจคร้าน

คำถามที่ 16 Spring Beans คืออะไร?

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

คำถามที่ 17 มีการจัดเตรียมข้อมูลเมตาการกำหนดค่าให้กับคอนเทนเนอร์ Spring อย่างไร

สามารถกำหนดข้อมูลเมตาของการกำหนดค่าให้กับ Spring container ด้วยวิธีใดวิธีหนึ่ง:

  • การกำหนดค่าตามคำอธิบายประกอบ: สามารถใช้คำอธิบายประกอบในคลาสที่เกี่ยวข้องเพื่ออธิบายการต่อสาย bean ลงในคลาสส่วนประกอบได้ ไม่ใช่การตั้งค่าเริ่มต้น ดังนั้น หากคุณต้องการใช้ คุณจะต้องเปิดใช้งานในไฟล์การกำหนดค่า Spring ก่อนจึงจะสามารถใช้งานได้
  • การกำหนดค่าตาม XML: การพึ่งพาและบริการที่จำเป็นโดย bean ถูกกล่าวถึงในไฟล์การกำหนดค่า สิ่งเหล่านี้อยู่ในรูปแบบ XML ประกอบด้วยคำจำกัดความของ bean และตัวเลือกการกำหนดค่าเฉพาะแอปพลิเคชัน โดยทั่วไปจะเริ่มต้นด้วยแท็กถั่ว
  • การกำหนดค่าตาม Java: คุณสมบัติหลักในการสนับสนุนการกำหนดค่า Java ใหม่ของ Spring Framework คือเมธอดที่มีคำอธิบายประกอบ @Bean และคลาสที่มีคำอธิบายประกอบ @Configuration

คำถามที่ 18 Spring รองรับ bean scope กี่อัน?

รองรับ 5 ขอบเขต ได้แก่

  • ซิงเกิลตัน: สิ่งนี้ให้ขอบเขตสำหรับการกำหนด bean กับอินสแตนซ์เดียวต่อคอนเทนเนอร์ Spring IoC
  • ต้นแบบ: สิ่งนี้ให้ขอบเขตสำหรับการกำหนด bean เดียวเพื่อให้มีอินสแตนซ์อ็อบเจ็กต์จำนวนเท่าใดก็ได้

ขอบเขตด้านล่างจะใช้ได้เฉพาะเมื่อผู้ใช้ใช้ ApplicationContext ที่รับรู้เว็บ

  • คำขอ: สิ่งนี้ให้ขอบเขตสำหรับการกำหนด bean กับคำขอ HTTP
  • เซสชัน: สิ่งนี้ให้ขอบเขตสำหรับการกำหนด bean กับเซสชัน HTTP
  • Global-session: สิ่งนี้ให้ขอบเขตสำหรับการกำหนด bean กับ Global HTTP-session

คำถามที่ 19 อธิบายวงจรชีวิตของถั่วในคอนเทนเนอร์ของโรงงานถั่วสปริง

  1. คอนเทนเนอร์ Spring จะสร้างอินสแตนซ์ bean จากคำจำกัดความของ bean ในไฟล์ XML ก่อน
  2. สปริงที่ใช้การพึ่งพาการฉีดจะเติมคุณสมบัติทั้งหมด
  3. โรงงานเรียก setBeanName() โดยให้ ID ของ bean หาก bean เรียกใช้งานอินเตอร์เฟส BeanNameAware
  4. โรงงานเรียก setBeanFactory() โดยการสร้างอินสแตนซ์ของตัวเองหาก bean เรียกใช้งานอินเตอร์เฟส BeanFactoryAware
  5. หากมี BeanPostProcessors ที่เกี่ยวข้องกับ bean ระบบจะเรียกเมธอด preProcessBeforeInitialization()
  6. ถ้า bean ระบุเมธอด init จะถูกเรียก
  7. หากมี BeanPostProcessors ที่เกี่ยวข้องกับ bean ระบบจะเรียกเมธอด preProcessAfterInitialization()

คำถามที่ 20 อธิบายการเดินสายไฟของ Bean

การเดินสายไฟของถั่วคือเมื่อถั่วทั้งหมดรวมกันอยู่ภายในภาชนะสปริง คอนเทนเนอร์สปริงต้องเข้าใจว่าถั่วต้องการอะไรและควรใช้การพึ่งพาการฉีดเพื่อเชื่อมโยงถั่วเข้าด้วยกันอย่างไร

ถาม.21 การเดินสายอัตโนมัติคืออะไร และตั้งชื่อโหมดต่างๆ ของการเดินสายอัตโนมัติว่าอย่างไร

คอนเทนเนอร์สปริงมีความสามารถในการต่อสายอัตโนมัติระหว่างถั่วที่เชื่อมต่อ Spring สามารถแก้ไขผู้ทำงานร่วมกันสำหรับ bean ของคุณโดยอัตโนมัติโดยดูเนื้อหาของ BeanFactory

โหมดต่างๆ ของ bean auto-wiring คือ:

  1. ไม่: นี่เป็นตัวเลือกที่เลือกไว้ล่วงหน้า ซึ่งหมายความว่าจะไม่มีการเดินสายอัตโนมัติ คุณต้องใช้การอ้างอิง bean ที่ชัดเจนสำหรับการเดินสาย
  2. โดยชื่อ: มันฉีดการพึ่งพาวัตถุตามชื่อของถั่ว มันจับคู่และเชื่อมโยงคุณสมบัติของมันกับถั่วที่อธิบายโดยชื่อที่แน่นอนในไฟล์ XML
  3. byType: ตามที่ชื่อบอก มันฉีดการพึ่งพาวัตถุตามประเภท โดยจะจับคู่และโยงคุณสมบัติหากประเภทตรงกับชื่อ bean ในไฟล์ XML
  4. คอนสตรัคเตอร์: คอนสตรัคเตอร์ฉีดการพึ่งพาโดยการเรียกคอนสตรัคเตอร์ของคลาส มันมีพารามิเตอร์มากมาย
  5. การตรวจจับอัตโนมัติ: ตามค่าเริ่มต้น คอนเทนเนอร์จะต่อสายอัตโนมัติโดยใช้ตัวสร้าง หากไม่สำเร็จ ระบบจะพยายามต่อสายอัตโนมัติตาม byType

คำถามที่ 22 ข้อจำกัดหรือข้อจำกัดของการเดินสายอัตโนมัติมีอะไรบ้าง?

มีข้อ จำกัด/ข้อ จำกัด สองสามข้อที่บุคคลหนึ่งใช้การเดินสายอัตโนมัติเช่น:

  • ความเป็นไปได้ในการเอาชนะ: ด้วยการใช้การตั้งค่า <constructor-arg> และ <property> คุณสามารถระบุการพึ่งพาได้ มันจะแทนที่การเดินสายอัตโนมัติ
  • ชนิดข้อมูลดั้งเดิม: ชนิดข้อมูลดั้งเดิม คลาส และสตริงไม่สามารถต่อสายอัตโนมัติได้
  • ลักษณะที่ซับซ้อน: ควรใช้การเดินสายที่โจ่งแจ้งมากกว่าการเดินสายอัตโนมัติ เนื่องจากการเดินสายแบบหลังทำให้เกิดความสับสน

คำถามที่ 23 การกำหนดค่าคอนเทนเนอร์ตามคำอธิบายประกอบคืออะไร

อีกทางเลือกหนึ่งสำหรับการตั้งค่า XML คือการกำหนดค่าคอนเทนเนอร์ตามคำอธิบายประกอบ ใช้เพื่ออธิบายการต่อสายแบบ bean ผู้พัฒนาโอนการกำหนดค่าไปยังคลาสส่วนประกอบโดยใช้คำอธิบายประกอบเกี่ยวกับวิธี คลาส หรือการประกาศฟิลด์

ถาม 24 คุณจะเปิดการเดินสายคำอธิบายประกอบใน Spring ได้อย่างไร

การเดินสายคำอธิบายประกอบถูกปิดโดยค่าเริ่มต้นในคอนเทนเนอร์ Spring ดังนั้น หากต้องการใช้การเดินสายตามคำอธิบายประกอบ คุณต้องเปิดใช้งานในไฟล์การกำหนดค่า Spring โดยการตั้งค่าองค์ประกอบ <context:annotation-config/>

Q.25 อธิบายความแตกต่างระหว่างคำอธิบายประกอบต่างๆ เช่น @Controller, @Component, @Repository & @Service ใน Spring?

@Controller: สิ่งนี้บ่งชี้ว่าคลาสเป็นตัวควบคุม Spring Web MVC โดยจะนำเข้าถั่วที่ทำเครื่องหมายไว้ลงในคอนเทนเนอร์การพึ่งพาการฉีดโดยอัตโนมัติ

@ส่วนประกอบ: สิ่งนี้บ่งชี้คลาส java เป็น bean เป็นแบบแผนทั่วไปสำหรับส่วนประกอบที่จัดการด้วยสปริง กระบวนการสแกนส่วนประกอบของ Spring สามารถหยิบขึ้นมาและดึงเข้าไปในบริบทของแอปพลิเคชันได้

@Service: คำอธิบายประกอบนี้เป็นส่วนของคำอธิบายประกอบคอมโพเนนต์ ไม่มีการทำงานใหม่เหนือคำอธิบายประกอบ @Component สามารถใช้ @Service แทน @Component ในคลาสชั้นบริการได้เนื่องจากระบุเจตนาอย่างเหมาะสม

@Repository: คำอธิบายประกอบนี้เป็นพื้นที่ของคำอธิบายประกอบ @Component มาพร้อมฟังก์ชันและการใช้งานที่เหมือนกัน อย่างไรก็ตาม มีข้อดีเพิ่มเติมบางประการ สำหรับ DAO อย่างแม่นยำ มันรับ DAO ลงในคอนเทนเนอร์ DI และพิจารณาข้อยกเว้นที่ไม่ได้ตรวจสอบสำหรับการแปลเป็น Spring DataAccessException

คำถามที่ 26 อธิบายการสนับสนุน Spring DAO

การรองรับ Data Access Object ใน Spring ทำให้ง่ายต่อการเข้าถึงเทคโนโลยี เช่น Hibernate, JDBC หรือ JDO อย่างเหมาะสมและเสถียร ช่วยให้สามารถเลือกเทคโนโลยีใด ๆ ได้โดยไม่ต้องยุ่งยาก นอกจากนี้ยังช่วยให้สามารถเขียนโค้ดได้โดยไม่ต้องเน้นเรื่องการจับข้อยกเว้นที่เกี่ยวข้องกับแต่ละเทคโนโลยีนี้

คำถามที่ 27 มีคลาสใดบ้างใน Spring JDBC API

คลาสที่มีอยู่ใน JDBC API ได้แก่:

  1. JdbcTemplate
  2. SimpleJdbcTemplate
  3. NamedParameterJdbcTemplate
  4. SimpleJdbcInsert
  5. SimpleJdbcCall

คำถามที่ 28 มีวิธีการใดบ้างที่สามารถเข้าถึงไฮเบอร์เนตโดยใช้ Spring ได้

มีสองวิธีที่สามารถเข้าถึง Hibernate โดยใช้ Spring:

  1. วิธีการผกผันของการควบคุมด้วยเทมเพลตการโทรกลับและไฮเบอร์เนต
  2. การใช้โหนด AOP Interceptor และ Extended HibernateDAOSupport

คำถามที่ 29 ระบุประเภทของการจัดการธุรกรรมที่ Spring . รองรับ

Spring รองรับการจัดการธุรกรรมสองประเภท พวกเขาเป็น:

  1. การจัดการธุรกรรมแบบเป็นโปรแกรม: ที่นี่ ธุรกรรมถูกควบคุมด้วยความช่วยเหลือของการเขียนโปรแกรม ให้ความยืดหยุ่นสูง อย่างไรก็ตามมันยากที่จะรักษา
  2. การจัดการธุรกรรมที่เปิดเผย: ที่นี่ การจัดการธุรกรรมจะถูกแยกออกจากรหัสธุรกิจ สามารถใช้เฉพาะคำอธิบายประกอบหรือการกำหนดค่าตาม XML เพื่อควบคุมธุรกรรม

Q.30 อธิบาย AOP

AOP เรียกว่า Aspect-arranged programming เป็นระบบการเขียนโปรแกรมที่ช่วยให้วิศวกรซอฟต์แวร์สามารถแยกส่วนข้อกังวลของการตัดขวางหรือการดำเนินการที่ตัดผ่านแผนกมาตรฐานของภาระผูกพัน ตัวอย่างของข้อกังวลข้ามประเด็น ได้แก่ การบันทึกและการจัดการธุรกรรม แก่นของ AOP คือ แง่มุม หนึ่ง เป็นตัวอย่างแนวทางปฏิบัติที่สามารถมีอิทธิพลต่อคลาสต่างๆ ในโมดูลที่ใช้ซ้ำได้

คำถามที่ 31 คุณหมายถึงอะไรโดย Aspect?

Aspect คือการทำให้เป็นโมดูลของข้อกังวล ซึ่งตัดผ่านหลายอ็อบเจ็กต์ ตัวอย่างที่ดีของปัญหา crosscutting ใน J2EE คือแอปพลิเคชันการจัดการธุรกรรม ดำเนินการด้านโดยใช้คลาสปกติหรือคลาสปกติที่อธิบายด้วยคำอธิบายประกอบ @Aspect ใน Spring Framework

คำถามที่ 32 JoinPoint คืออะไร

จุดที่การดำเนินการของโปรแกรมเรียกว่า JoinPoint ตัวอย่างเช่น การจัดการข้อยกเว้นหรือการดำเนินการของเมธอด ใน Spring AOP นั้น JoinPoint จะแสดงถึงการดำเนินการของเมธอดอย่างสม่ำเสมอ

คำถามที่ 33 คุณหมายถึงอะไรโดยเฟรมเวิร์ก Spring MVC

เฟรมเวิร์ก MVC ของเว็บ Spring นำเสนอสถาปัตยกรรม model-view-controller และส่วนประกอบที่พร้อมใช้งาน คุณสามารถใช้ส่วนประกอบเหล่านี้เพื่อสร้างเว็บแอปที่เชื่อมต่อกันอย่างหลวมๆ ได้ รูปแบบ MVC รองรับการแยกแง่มุมต่างๆ ของแอปพลิเคชัน เช่น ตรรกะทางธุรกิจ ตรรกะอินพุต และตรรกะ UI ในขณะที่ให้การเชื่อมต่อแบบหลวมระหว่างส่วนประกอบเหล่านี้ทุกส่วน

Q.34 อธิบาย DispatcherServlet

นี่คือแกนหลักของเฟรมเวิร์ก Spring Web MVC มันจัดการคำขอและการตอบสนอง HTTP ทั้งหมด DispatcherServlet ได้รับจากไฟล์คอนฟิกูเรชันรายการของการแมป handler และส่งคำขอไปข้างหน้าไปยังคอนโทรลเลอร์ ตัวควบคุมจะให้วัตถุของแบบจำลองและมุมมอง DispatcherServlet ทำเครื่องหมายรายการของตัวแก้ไขมุมมองในไฟล์คอนฟิกูเรชัน และเรียกคอมโพเนนต์มุมมองที่กำหนด

คำถามที่ 35 อธิบาย WebApplicationContext

WebApplicationContext คือส่วนเสริมของ ApplicationContext ธรรมดา มีคุณสมบัติเพิ่มเติมที่จำเป็นสำหรับเว็บแอปพลิเคชัน มันแตกต่างจาก ApplicationContext ปกติเพราะมันมีความสามารถในการแก้ไขธีมและตัดสินใจว่าจะเชื่อมโยงกับเซิร์ฟเล็ตใด

เรียนรู้ หลักสูตรซอฟต์แวร์ออนไลน์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

บทสรุป

เราได้ครอบคลุมคำถามสัมภาษณ์ยอดนิยมส่วนใหญ่ที่ผู้สัมภาษณ์ถาม หากคุณสนใจที่จะเรียนรู้เพิ่มเติมและต้องการคำปรึกษาจากผู้เชี่ยวชาญในอุตสาหกรรม โปรดดูที่ upGrad & IIIT Banglore's Executive PG Program Full-Stack Software Development

Java Spring คืออะไร?

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

Spring MVC คืออะไร?

Spring MVC (Model View Controller) เป็นเฟรมเวิร์กเว็บแอปพลิเคชันแบบโอเพนซอร์สที่เขียนด้วยภาษา Java และได้รับการพัฒนาในช่วงสี่ปีที่ผ่านมาโดยทีมงานที่ SpringSource ได้รับการพัฒนาบน Servlet API และพร้อมใช้งานสำหรับแอปพลิเคชันเว็บ Java EE 5 และสำหรับแอปพลิเคชัน Google Web Toolkit นอกจากนี้ยังรวมเข้ากับ Spring Data และ Spring AOP ดังนั้นคุณจึงสามารถใช้กับ Hibernate, JPA และการเขียนโปรแกรมเชิงมุมมอง รวมถึงเฟรมเวิร์กอื่นๆ Spring MVC สามารถกำหนดค่าได้สูงและรองรับหลักการ Inversion of Control (IoC) ของ Spring รองรับการสร้างเว็บแอปพลิเคชันที่มีการเก็บสถานะ เพื่อให้คุณสามารถรักษาข้อมูลสถานะแอปพลิเคชันระหว่างคำขอได้

Spring Hibernate คืออะไร?

ไฮเบอร์เนตเป็นไลบรารีการแมปเชิงวัตถุ (ORM) สำหรับ Java ไฮเบอร์เนตได้รับการออกแบบเพื่อจัดการกับความคงอยู่ของอ็อบเจ็กต์คลาส Java เป็นเฟรมเวิร์ก ORM ที่ทรงพลัง น้ำหนักเบา และพกพาสะดวกอย่างยิ่ง ไฮเบอร์เนตพร้อมใช้งานภายใต้ GNU Lesser General Public License (LGPL) Spring Data เป็นโปรเจ็กต์ภายใน Spring Framework ที่ให้ชุดส่วนประกอบเพื่อเข้าถึงและจัดการข้อมูลในรูปแบบเชิงวัตถุมากขึ้นโดยใช้กระบวนทัศน์ Spring Inversion of Control (IoC) ที่คุ้นเคย ไฮเบอร์เนตเป็นเพียงเฟรมเวิร์ก ORM ในทางกลับกัน Spring Data เป็นความพยายามในการสร้างเลเยอร์นามธรรมเหนือกลไกการจัดเก็บข้อมูลต่างๆ เช่น Relational Database, NoSQL, ไฟล์ Flat เป็นต้น