คำถามสัมภาษณ์ Java-8 15 อันดับแรก (2022)
เผยแพร่แล้ว: 2021-08-15Java เป็นหนึ่งในชื่อแรกที่เข้ามาในหัวของเราอย่างปฏิเสธไม่ได้เมื่อเราพูดถึงการพัฒนาซอฟต์แวร์ พลังขับเคลื่อนหลักเบื้องหลังไลฟ์สไตล์ดิจิทัลระดับโลก Java เป็นภาษาการเขียนโปรแกรมเชิงวัตถุ (OOP) ที่พัฒนาโดย James A. Gosling ในช่วงกลางปี 1990 ร่วมกับ Patrick Naughton และ Mike Sheridan
ด้วยข้อดีมากมายซึ่งรวมถึงความเป็นอิสระของแพลตฟอร์ม ลักษณะเชิงวัตถุ และความง่ายในการเรียนรู้ Java พบแอปพลิเคชันจำนวนมากในอุตสาหกรรมซอฟต์แวร์ ไม่ว่าจะเป็นแอปพลิเคชัน Android แอปพลิเคชันบนเว็บ หรือแอปพลิเคชัน GUI บนเดสก์ท็อป คอมพิวเตอร์ที่ไม่มี Java เป็นสิ่งที่ไม่สามารถจินตนาการได้
การเพิ่มฟังก์ชันล่าสุดของ Java ที่น่าทึ่งคือ Java 8 ซึ่งเป็นโครงการโอเพนซอร์สที่เผยแพร่เมื่อวันที่ 18 มีนาคม 2014 ถือเป็นรุ่นปฏิวัติใหม่สำหรับแพลตฟอร์มการพัฒนาซอฟต์แวร์ Java 8 อัดแน่นไปด้วยการอัพเกรดและคุณลักษณะใหม่ ๆ สำหรับการเขียนโปรแกรม Java เครื่องมือ , ไลบรารี และ JVM ปัจจุบัน Oracle Corporation เป็นผู้จัดการ
จำเป็นต้องพูด คำถามสัมภาษณ์ Java 8 เป็นประเด็นร้อนในด้านการพัฒนาซอฟต์แวร์ ยิ่งไปกว่านั้น หากคุณเป็นมือใหม่ที่กำลังมองหาวิธีทำให้มันยิ่งใหญ่ในฐานะนักพัฒนาซอฟต์แวร์หรือตำแหน่งงานที่เกี่ยวข้อง ให้เราแนะนำคุณเกี่ยวกับคำถามและคำตอบในการสัมภาษณ์ Java 8 อันดับต้น ๆ และคำตอบที่คุณควรดำเนินการซึ่งเป็นส่วนหนึ่งของการเตรียม D-day ของคุณ นอกจากนี้ เราจะพูดถึง หลักสูตร upGrad ยอดนิยม ที่จะช่วยให้คุณเข้าใกล้งานในฝันของคุณมากขึ้น!
สารบัญ
คำถามและคำตอบสัมภาษณ์ Java 8 ยอดนิยม 15 ข้อ
1. คุณลักษณะใหม่ที่เพิ่มเข้ามาใน Java 8 คืออะไร?
คุณสมบัติที่สำคัญที่รวมอยู่ใน Java 8 ได้แก่ :
- อินเทอร์เฟซการทำงาน
- การแสดงออกของแลมบ์ดา
- การอ้างอิงเมธอด
- สตรีม API
- วันที่ เวลา API
- ไม่จำเป็น
- วิธีการเริ่มต้น
- Nashorn, JavaScript Engine
2. อินเทอร์เฟซที่ใช้งานได้คืออะไร?
อินเทอร์เฟซที่ใช้งานได้คืออินเทอร์เฟซที่มีวิธีนามธรรมเพียงวิธีเดียว อินเทอร์เฟซเหล่านี้ใช้งานโดยใช้นิพจน์แลมบ์ดา ดังนั้น ในการใช้นิพจน์ Lambda เราจำเป็นต้องสร้างอินเทอร์เฟซการทำงานใหม่หรือใช้ Java 8 ที่กำหนดไว้ล่วงหน้า
3. คุณลักษณะของฟังก์ชันแลมบ์ดาคืออะไร?
ลักษณะสำคัญของฟังก์ชันแลมบ์ดา ได้แก่ :
- วิธีการที่กำหนดให้เป็นนิพจน์ Lambda สามารถส่งผ่านเป็นพารามิเตอร์ไปยังวิธีการอื่นได้
- ไม่มีข้อกำหนดในการประกาศประเภทพารามิเตอร์ เนื่องจากคอมไพเลอร์สามารถดึงข้อมูลเดียวกันจากค่าของพารามิเตอร์ได้
- เมธอดสามารถมีอยู่ได้โดยอิสระโดยไม่ต้องเป็นของคลาส
- การใช้พารามิเตอร์เดียวไม่จำเป็นต้องใช้วงเล็บ แต่สามารถทำได้โดยใช้พารามิเตอร์หลายตัว
- ไม่จำเป็นต้องใช้วงเล็บปีกกาหากเนื้อหาของนิพจน์มีเพียงคำสั่งเดียว
4. โครงสร้างของนิพจน์แลมบ์ดาคืออะไร?
นิพจน์แลมบ์ดามีโครงสร้างดังต่อไปนี้:
(รายการอาร์กิวเมนต์) ->{คำสั่ง;} หรือ
(รายการอาร์กิวเมนต์) ->{expression;}
5. การอ้างอิงวิธีการคืออะไร?
การอ้างอิงเมธอดใน Java 8 เป็นนิพจน์ Lambda ประเภทหนึ่งที่ใช้สำหรับสร้างนิพจน์ Lambda อย่างง่ายโดยอ้างอิงเมธอดที่มีอยู่ การอ้างอิงเมธอดประเภทต่างๆ ได้แก่ การอ้างอิงถึงเมธอดสแตติก การอ้างอิงคอนสตรัคเตอร์ และการอ้างอิงเมธอดอินสแตนซ์
6. วิธีการเริ่มต้นใน Java 8 คืออะไร?
วิธีการเริ่มต้นคือวิธีการเหล่านั้นของอินเทอร์เฟซที่มีเนื้อหาและใช้คำหลักเริ่มต้น วิธีการเริ่มต้นมีคุณสมบัติของความเข้ากันได้ย้อนหลัง หมายความว่าหากเราเพิ่มวิธีการเริ่มต้นในอินเทอร์เฟซ เราจะสามารถจัดเตรียมการใช้งานเริ่มต้นได้โดยไม่กระทบต่อการใช้งานคลาส อย่างไรก็ตาม หาก JDK แก้ไขอินเทอร์เฟซใดๆ ที่ไม่มีวิธีการเริ่มต้น คลาสที่ใช้อินเทอร์เฟซดังกล่าวจะหยุดทำงาน
7. คลาสเสริมคืออะไร?
คลาสเสริมคือคลาส wrapper พิเศษใน Java 8 เพื่อหลีกเลี่ยง NullPointerExceptions NullPointerExceptions เกิดขึ้นเมื่อเราไม่สามารถทำการตรวจสอบค่า Null คลาสทางเลือกห่อหุ้มค่าทางเลือกที่มีอยู่หรือไม่ก็ได้
8. ให้ตัวอย่างบางส่วนของอินเตอร์เฟสการทำงานที่กำหนดไว้ล่วงหน้าของ Java มาตรฐานหรือไม่
อินเทอร์เฟซการทำงานที่แนะนำโดย Java 8 ได้แก่ Predicate, Consumer, Supplier เป็นต้น แต่อินเทอร์เฟซการทำงานที่กำหนดไว้ล่วงหน้าที่เป็นที่นิยมจาก Java เวอร์ชันก่อนหน้ามีดังต่อไปนี้:
- Runnable: สำหรับเรียกใช้งานอินสแตนซ์ของคลาสบนเธรดอื่นโดยไม่มีค่าส่งคืนและไม่มีอาร์กิวเมนต์
- เปรียบเทียบได้: สำหรับการเรียงลำดับวัตถุในลำดับการจัดเรียงตามธรรมชาติ
- ตัวเปรียบเทียบ: สำหรับการจัดเรียงออบเจกต์ต่างๆ ตามลำดับที่ผู้ใช้กำหนด
- Callable: สำหรับเรียกใช้งานอินสแตนซ์ของคลาสบนเธรดอื่นโดยไม่มีอาร์กิวเมนต์ มันส่งข้อยกเว้นหรือส่งกลับค่า
9. ตั้งชื่อหมวดหมู่ต่างๆ ของอินเทอร์เฟซการทำงานที่กำหนดไว้ล่วงหน้าและการใช้งาน
หมวดหมู่ต่าง ๆ ของอินเทอร์เฟซการทำงานที่กำหนดไว้ล่วงหน้าคือ:
- ฟังก์ชัน: สำหรับเปลี่ยนอาร์กิวเมนต์เป็นค่าที่ส่งคืนได้
- ผู้ดำเนินการ: สำหรับการดำเนินการประเภทการลดที่ยอมรับประเภทอินพุตเดียวกัน
- ผู้บริโภค: ยอมรับอาร์กิวเมนต์แต่ไม่คืนค่าใดๆ
- ผู้จัดหา: ส่งคืนค่า แต่ไม่ยอมรับข้อโต้แย้งใด ๆ
- เพรดิเคต: สำหรับการทดสอบและคืนค่าบูลีน
10. API วันที่และเวลาใน Java 8 คืออะไร
LocalTime, LocalDate และ LocalDateTime เป็นคลาส API วันที่และเวลาหลักใน Java 8 คลาสเหล่านี้เป็นคลาสโลคัลสำหรับบริบทของผู้สังเกต และแสดงถึงเวลาและวันที่ปัจจุบันในบริบทของผู้สังเกต
11. ข้อเสียของวันและเวลาเดิมคืออะไร?
วันที่และเวลาเดิมได้รับความเดือดร้อนจากข้อจำกัดต่อไปนี้:
- API เวลาและวันที่ของ Java 8 ตรงตามมาตรฐาน ISO แต่วันที่และเวลาแบบเก่ามีการออกแบบที่ไม่ดี
- แม้ว่า API วันที่และเวลาล่าสุดของ Java 8 จะปลอดภัยต่อเธรด แต่ Java.util.Date นั้นไม่แน่นอนและไม่ปลอดภัยสำหรับเธรด
- ในแง่ของประสิทธิภาพ Java 8 เร็วกว่าระบบวันที่และเวลาแบบเก่า
12. ความแตกต่างระหว่างเพรดิเคตและฟังก์ชันคืออะไร?
เพรดิเคตและฟังก์ชันแตกต่างกันในด้านต่อไปนี้:
- ในขณะที่เพรดิเคตมีชนิดส่งคืนเป็นบูลีน ฟังก์ชันมีชนิดส่งคืนเป็นอ็อบเจ็กต์
- เพรดิเคตเขียนเป็น เพรดิเคต<T> และยอมรับอาร์กิวเมนต์เดียว ฟังก์ชั่นยังยอมรับอาร์กิวเมนต์เดียว แต่เขียนเป็น Function<T,R>
ในที่นี้ T หมายถึงประเภทของอินพุตของฟังก์ชัน และ R หมายถึงประเภทของผลลัพธ์
13. Stream API คืออะไร และเหตุใดเราจึงต้องการ
Stream APIs เป็นคุณลักษณะใหม่ใน Java 8 ซึ่งเป็นคลาสพิเศษที่ใช้สำหรับประมวลผลอ็อบเจ็กต์จากแหล่งที่มา เช่น คอลเลคชัน
สตรีม API จำเป็นสำหรับ:
- รองรับการทำงานแบบรวมและการประมวลผลที่ง่ายขึ้น
- การประมวลผลที่เร็วขึ้นและประสิทธิภาพที่ดีขึ้น
- รองรับการเขียนโปรแกรมแบบฟังก์ชั่น
- การทำงานแบบขนาน
14. การใช้ limit() วิธีการใน Java 8 คืออะไร?
Stream.limit() วิธีการใช้สำหรับระบุขีดจำกัดขององค์ประกอบ หากเราระบุขนาดของ limit(X) มันจะคืนค่า Stream ของขนาด 'X'
15. PermGen และ MetaSpace คืออะไร?
จนถึง Java 7, PermGen เป็นพื้นที่ที่ JVM ใช้เพื่อจัดเก็บคลาส PermGen ถูกแทนที่ด้วย MetaSpace ใน Java 8
ประโยชน์หลักของ MetaSpace เหนือ PermGen อยู่ที่ขนาด ในขณะที่ PermGen มีขนาดสูงสุดคงที่และไม่สามารถเติบโตแบบไดนามิกได้ MetaSpace ไม่มีข้อจำกัดด้านขนาดและสามารถเติบโตแบบไดนามิกได้
นี่คือสิ่งที่คุณสามารถทำได้ต่อไป
การเตรียมตัวสำหรับการสัมภาษณ์ด้านเทคนิคอาจเป็นเรื่องยุ่งยากหากคุณไม่ได้เตรียมตัวมาอย่างดี ในการเตรียมตัว เราไม่ได้หมายความเพียงแค่ต้องผ่านรถบรรทุกของคำถามจำลอง แต่ยังต้องแน่ใจว่าพื้นฐานของคุณมีความชัดเจนราวกับคริสตัล และจะมีวิธีใดที่จะดีไปกว่าการก้าวไปสู่เป้าหมายแรกของคุณมากกว่าการลงทะเบียนกับ upGrad ?
upGrad เป็นแพลตฟอร์มการศึกษาระดับอุดมศึกษาออนไลน์ชั้นนำที่นำเสนอโปรแกรมและหลักสูตรที่เกี่ยวข้องกับอุตสาหกรรม โดยร่วมมือกับคณาจารย์และผู้เชี่ยวชาญที่ดีที่สุดในระดับเดียวกัน ด้วยพันธมิตรระดับมหาวิทยาลัยชั้นนำ เช่น Liverpool John Moores University, IIIT Bangalore, IIT Madras และ Duke Corporate Education ทำให้ upGrad ผสมผสานแนวทางการสอนที่ดีที่สุดและเทคโนโลยีล่าสุดเพื่อมอบประสบการณ์การเรียนรู้ที่สมจริงและระดับโลก โปรแกรมและหลักสูตรการศึกษาของ upGrad ส่งผลกระทบต่อคนทำงานกว่า 500,000 คน นอกจากนี้ยังมีฐานผู้เรียนแบบชำระเงินกว่า 40,000 กระจายอยู่ในกว่า 85 ประเทศ
หากคุณต้องการประกอบอาชีพด้านการพัฒนาซอฟต์แวร์หรือสาขาที่เกี่ยวข้อง upGrad's Master of Science in Computer Science and Executive PG Program in Software Development เป็นสองหลักสูตรที่คุณควรตรวจสอบ ด้วยการสนับสนุนด้านอาชีพ 360 องศาของ upGrad โอกาสในการเรียนรู้จากเพื่อนร่วมงาน และการสร้างเครือข่ายในอุตสาหกรรม โปรแกรมที่มีเอกลักษณ์เฉพาะนี้ได้รับการดูแลจัดการเพื่อช่วยให้ผู้เรียนเชี่ยวชาญในความรู้ด้านการพัฒนาซอฟต์แวร์
1. วิทยาศาสตรมหาบัณฑิตสาขาวิชาวิทยาการคอมพิวเตอร์ (19 เดือน) จุดเด่นของหลักสูตร:
- ปริญญาโทจากมหาวิทยาลัย Liverpool John Moores อันทรงเกียรติ
- ความเชี่ยวชาญพิเศษหกอย่างให้เลือก – Big Data, Full Stack Development, Blockchain Development, DevOps, Cloud Computing และ Cyber Security
- ความครอบคลุมของภาษาโปรแกรม เครื่องมือ และซอฟต์แวร์มากกว่า 30 ภาษาพร้อมการเข้าถึงเนื้อหาแบบไม่จำกัดเป็นเวลาสี่ปี
- เนื้อหามากกว่า 500 ชั่วโมงพร้อมกรณีศึกษาและโครงการมากกว่า 30 รายการ เซสชันสดมากกว่า 10 รายการ และการให้คำปรึกษาในอุตสาหกรรม
2. Executive PG Program in Software Development (13 เดือน) Program Highlights:
- การยอมรับจาก IIIT บังกาลอร์อันทรงเกียรติ
- ความเชี่ยวชาญพิเศษหกอย่างให้เลือก – Big Data, Full Stack Development, Blockchain Development, DevOps, Cloud Computing และ Cyber Security
- เปิดรับงานที่ได้รับมอบหมาย กรณีศึกษา และโครงการที่เกี่ยวข้องกับอุตสาหกรรมมากกว่า 30 รายการพร้อมเครื่องมือและซอฟต์แวร์ที่ครอบคลุมกว่า 30 รายการ
- เนื้อหามากกว่า 400 ชั่วโมง เซสชั่นสดกว่า 10 เซสชั่น และการให้คำปรึกษาจากคณาจารย์ชั้นนำและผู้เชี่ยวชาญในอุตสาหกรรม
บทสรุป
การมีวุฒิการศึกษาที่เกี่ยวข้องเป็นก้าวแรกสู่อาชีพที่สดใสในการพัฒนาซอฟต์แวร์ หลักสูตรที่แข็งแกร่งของ upGrad ใน ด้านวิทยาการคอมพิวเตอร์ และ การพัฒนาซอฟต์แวร์ ได้รับการออกแบบมาเพื่อเตรียมผู้สมัครสำหรับบทบาทงานที่หลากหลาย รวมถึงหลักสูตรนักพัฒนาซอฟต์แวร์ ผู้พัฒนาข้อมูลขนาดใหญ่ วิศวกรข้อมูล วิศวกรข้อมูลขนาดใหญ่ และสถาปนิกข้อมูลขนาดใหญ่ ขั้นตอนต่อไปคือการเตรียมตัวสำหรับการสัมภาษณ์งาน ซึ่งคำถามเกี่ยวกับภาษาและเครื่องมือการเขียนโปรแกรมต่างๆ เป็นเรื่องปกติ Java เป็นภาษาการเขียนโปรแกรมที่นักพัฒนาเลือกใช้ในหลายแพลตฟอร์ม คำถามสัมภาษณ์ Java 8 เป็นคำถามบังคับในวาระการเตรียมการของผู้ให้สัมภาษณ์
ในกรณีส่วนใหญ่ Java 8 จะปรับปรุงประสิทธิภาพของแอปพลิเคชันได้อย่างมากโดยไม่ต้องปรับแต่งใดๆ นอกจากนี้ คุณลักษณะของ Java 8 เช่น Streams API, Lambda Expressions และเมธอดใหม่ในคลาสที่มีอยู่มีส่วนช่วยในการปรับปรุงประสิทธิภาพการทำงาน นอกจากนี้ ฟีเจอร์ตัวเลือกของ Java 8 ยังช่วยลดโอกาสของ NullPointerExceptions และให้ความยืดหยุ่นอย่างมากในขณะที่จัดการกับค่า Null มีโปรแกรม Java หลายประเภทที่ถามในการสัมภาษณ์ โปรแกรมดังกล่าวสามารถถามได้จากอาร์เรย์ ลูป คำสั่งควบคุม สตริง ฯลฯ โปรแกรมพื้นฐานของ Java เช่น จำนวนเฉพาะ อนุกรมฟีโบนักชี หมายเลขพาลินโดรม และหมายเลขแฟกทอเรียลมักถูกถามบ่อยเช่นกัน ต่อไปนี้เป็นขั้นตอนในการติดตั้ง Java 1.8 บน Windows:เหตุใด Java 8 จึงมีความสำคัญมาก
โปรแกรม Java ใดที่ถูกถามในการสัมภาษณ์?
ฉันจะติดตั้ง Java 1.8 บน Windows ได้อย่างไร
1. ไปที่หน้าดาวน์โหลดคู่มือ Java .com
2. คลิกที่ Windows Online
3. คลิก Run บนกล่องโต้ตอบ File Download เพื่อเรียกใช้ไฟล์ มิฉะนั้น คลิก บันทึก เพื่อบันทึกไฟล์สำหรับการติดตั้งในภายหลัง
4. ในกล่องโต้ตอบถัดไปที่ปรากฏขึ้น ให้คลิก ติดตั้ง เพื่อยอมรับเงื่อนไขสิทธิ์การใช้งานและเริ่มการติดตั้ง
5. โปรแกรมติดตั้งอาจเสนอตัวเลือกให้คุณติดตั้งโปรแกรมต่างๆ เมื่อคุณติดตั้ง Java คลิก ถัดไป เพื่อดำเนินการติดตั้งต่อ
6. บทสนทนาสั้น ๆ สองสามข้อจะยืนยันขั้นตอนสุดท้ายของการติดตั้ง คลิกปิดในกล่องโต้ตอบสุดท้ายเพื่อสิ้นสุดขั้นตอนการติดตั้ง