คำถามและคำตอบสัมภาษณ์ Java สำหรับปี 2022
เผยแพร่แล้ว: 2021-12-15Tech Learn กำลังแชร์คำถามและคำตอบสัมภาษณ์ Java พื้นฐาน & ขั้นสูงสำหรับปี 2022 ซึ่งจะช่วยคุณในการเคลียร์ Java สัมภาษณ์ตั้งแต่ครั้งแรกที่ลอง!
อ่านเพิ่มเติม – เรียนรู้ Java ออนไลน์ฟรี
คำถามและคำตอบสัมภาษณ์ Java 71 อันดับแรก
- เหตุใด Java จึงเป็นอิสระจากแพลตฟอร์ม
Java เรียกอีกอย่างว่าแพลตฟอร์มที่เป็นอิสระเนื่องจากรหัสไบต์ที่สามารถรันบนระบบปฏิบัติการใดก็ได้
- เหตุใด Java จึงไม่ใช่เชิงวัตถุ 100%
Java ใช้ประเภทข้อมูลดั้งเดิม 8 ประเภท ได้แก่ char, Boolean, int, float, byte และ short ซึ่งไม่จัดอยู่ในประเภทออบเจกต์ นั่นคือสาเหตุที่ java ไม่ใช่ภาษาโปรแกรมเชิงวัตถุ 100%
- JVM คืออะไร?
JVM ย่อมาจาก Java Virtual Machine JVM เป็นล่ามที่ยอมรับและดำเนินการ 'Bytecode'
- รายการคุณสมบัติห้าประการของ Java?
คุณสมบัติหลักของ Java ได้แก่ Robust, Object Oriented, Multi-threaded, Platform Independent และ Interpreted
- เหตุใด Java จึงถือเป็นไดนามิก
Java ได้รับการออกแบบมาเพื่อปรับใช้กับสภาพแวดล้อมที่เปลี่ยนแปลง โปรแกรมของมันมีข้อมูลจำนวนมากซึ่งจะมีประโยชน์มากในการแก้ไขและตรวจสอบการเข้าไปยังอ็อบเจกต์ในขณะรันไทม์
- กำหนดชั้น?
ในจาวา คลาสประกอบด้วยเมธอดและฟิลด์สำหรับกำหนดลักษณะของออบเจกต์ เป็นภาพพิมพ์สีน้ำเงินซึ่งมีหน้าที่สร้างวัตถุ
- คุณรู้อะไรเกี่ยวกับ Java?
Java ถูกเผยแพร่และพัฒนาโดย Sun Microsystems ในปี 1995 มันเป็นภาษาโปรแกรมระดับสูงและเชิงวัตถุซึ่งสามารถทำงานบนแพลตฟอร์มต่างๆ มากมาย ซึ่งรวมถึง Mac OS, Windows และอื่นๆ อีกมากมาย
- กำหนด Java Architectural Neutral?
Java Architectural Neutral เป็นคอมไพเลอร์ที่ใช้สำหรับสร้างรูปแบบไฟล์อ็อบเจกต์ที่เป็นกลางทางสถาปัตยกรรม ด้วยการมีอยู่ของระบบรันไทม์ของจาวา โค้ดที่คอมไพล์แล้วเป็นรูปแบบที่เรียกใช้งานได้
- Java รองรับแพลตฟอร์มใดบ้าง
Java ทำงานบน Mac OS, Windows และบน UNIX/Linux หลายเวอร์ชัน เช่น CentOS, Redhat Linux, Sun Solaris, HP-Unix, Ubuntu เป็นต้น
- แสดง 5 IDE ของ Java หรือไม่
Java IDE ทั้ง 5 รายการอยู่ด้านล่าง:
• เน็ตบีนส์
• คราส
• บลูเจ
• เจครีเอเตอร์
• jแก้ไข - รายการคำหลักบางส่วนของ Java:
คำหลักบางคำของ Java อยู่ด้านล่าง:
• เชิงนามธรรม
• บูลีน
• หยุดพัก
• ไบต์
• ระดับ
• สวิตซ์
• จับ - สามขั้นตอนในการสร้าง Object สำหรับคลาสคืออะไร?
หากคุณต้องการสร้างวัตถุสำหรับคลาส คุณต้องทำตามขั้นตอนเหล่านี้:
• ประกาศวัตถุ
• อินสแตนซ์
• กำลังเริ่มต้น - เขียนค่าเริ่มต้นของประเภทข้อมูลไบต์ใน Java หรือไม่
0 เป็นค่าเริ่มต้นของประเภทข้อมูลไบต์ในภาษาโปรแกรม Java
- เขียนค่าเริ่มต้นของประเภทข้อมูล double และ float ใน Java หรือไม่
ค่าดีฟอลต์ของประเภทข้อมูล float ในภาษาโปรแกรม Java คือ 0.0f
ค่าเริ่มต้นของประเภทข้อมูลคู่ในภาษาการเขียนโปรแกรมจาวาคือ 0.0d - Java ช่วยให้ประสิทธิภาพสูงได้อย่างไร
สำหรับการเปิดใช้งานประสิทธิภาพสูง Java จะใช้คอมไพเลอร์เวลาซึ่งใช้สำหรับแปลงคำสั่งเป็นไบต์โค้ด
- คลาสในภาษาจาวาคืออะไร?
คลาสเป็นที่รู้จักกันในชื่อต้นแบบที่กำหนดโดยผู้ใช้และพิมพ์เขียวซึ่งสร้างวัตถุขึ้นมา มันหมายถึงชุดของวิธีการหรือคุณสมบัติที่เหมือนกันสำหรับวัตถุทั้งหมด
- เราจะใช้เมธอด parseInt() ได้เมื่อใด
เราใช้ parseInt() วิธีการรับประเภทข้อมูลดั้งเดิมของสตริงเฉพาะ
- java.util.regex มีคลาสใดบ้าง
java.util.regex มีสามคลาสซึ่งอยู่ด้านล่าง:
1. คลาสรูปแบบ
2. คลาส Matcher
3. คลาส PatternSyntaxException - ข้อยกเว้นคืออะไร?
ปัญหาที่เกิดขึ้นในขณะที่ทำการจำกัดโปรแกรมเรียกว่า Execution สิ่งเหล่านี้ถูกจับโดยหัวหน้างานด้วยเทคนิคของเธรด
- แสดงรายการคลาสย่อยสองรายการภายใต้คลาสข้อยกเว้น:
คลาสยกเว้นประกอบด้วยคลาสย่อยหลัก 2 คลาสดังนี้
• คลาส IOException
• คลาส RuntimeException - คลาส Singleton คืออะไร?
คลาส Singleton ควบคุมการสร้างออบเจกต์ จำกัดจำนวนไว้ที่ 1 แต่อนุญาตให้สร้างออบเจกต์ได้อย่างยืดหยุ่นหากเงื่อนไขใด ๆ เปลี่ยนแปลง
- กำหนด JDK?
รูปแบบเต็มของ JDK คือ Java Development Kit JDK เป็นเครื่องมือที่จำเป็นสำหรับการจัดทำแพ็คเกจ จัดทำเอกสาร และคอมไพล์โปรแกรม Java
- คุณหมายถึงอะไรโดย JRI?
JRI ย่อมาจาก Java Runtime Environment มันหมายถึงสภาพแวดล้อมรันไทม์ที่รับผิดชอบในการเรียกใช้งาน Java bytecode
- อธิบาย JVM
รูปแบบเต็มของ JVM ย่อมาจาก Java Virtual Machine สัญลักษณ์สามตัวตามด้วย JVM: Runtime Instance Specification and Implementation
- เขียนข้อดีของแพ็คเกจ
ข้อดีของแพ็คเกจมีดังนี้:
• ช่วยหลีกเลี่ยงการปะทะกันของชื่อ
• ให้การควบคุมการเข้าถึงโค้ดที่ง่ายขึ้น
• มีคลาสซ่อนอยู่ซึ่งใช้เฉพาะในแพ็คเกจและคลาสภายนอกไม่สามารถสังเกตได้
• ช่วยในการสร้างโครงสร้างลำดับชั้นที่เหมาะสม - จดประเภทของตัวแก้ไขที่สนับสนุนโดย Java
โดยทั่วไปตัวแก้ไขการเข้าถึง 4 ประเภทได้รับการสนับสนุนโดยจาวา:
• ค่าเริ่มต้น
• สาธารณะ
• ส่วนตัว
• มีการป้องกัน - มีตัวสร้างกี่ประเภทใน Java?
มีตัวสร้างสองประเภท:
• ตัวสร้างเริ่มต้น
• ตัวสร้างพารามิเตอร์ - กำหนดตัวสร้างเริ่มต้น
คอนสตรัคเตอร์ดีฟอลต์เรียกอีกอย่างว่าคอนสตรัคเตอร์ไม่มีอาร์กิวเมนต์ที่สามารถสร้างขึ้นโดยดีฟอลต์และไม่มีส่วนร่วมใดๆ
- กำหนดตัวสร้างพารามิเตอร์
ในจาวา Parameterized Constructor เป็นตัวที่รับอาร์กิวเมนต์และสามารถเริ่มต้นตัวแปรอินสแตนซ์ด้วยค่าที่ให้มา
- เขียนบางประเด็นเกี่ยวกับ Array list
• รายการอาร์เรย์ไม่ประสานกัน
• มันรวดเร็ว
• ไม่ได้อธิบายถึงขนาดที่เพิ่มขึ้น
• Iterator ถูกใช้โดยรายการอาร์เรย์เพื่อสำรวจรายการอาร์เรย์ - เวกเตอร์ในภาษาจาวาคืออะไร?
• เวกเตอร์มีการประสานกัน
• Vector เป็นเธรดที่ปลอดภัยดังนั้นจึงช้า
• ค่าเริ่มต้นคือการเพิ่มขนาดของอาร์เรย์ให้ใหญ่ที่สุด
• ขนาดที่เพิ่มขึ้นถูกกำหนดโดยเวกเตอร์ - วัตถุใน Java คืออะไร?
วัตถุมีลักษณะ 3 ประการดังต่อไปนี้:
• สถานะ
• พฤติกรรม
• ตัวตน - วิธีการสร้างวัตถุใน Java?
เราสร้างวัตถุโดยใช้คำหลัก 'ใหม่' ตัวอย่างเช่น:
ชื่อคลาส obj = ชื่อคลาสใหม่ (); - แนวคิดหลักของ OOPs ใน Java คืออะไร
แนวคิดหลักของ OOPs ใน Java คือ:
• มรดก
• การห่อหุ้ม
• สิ่งที่เป็นนามธรรม
• ความหลากหลาย - คำหลักสุดท้ายใน Java คืออะไร
Final เป็นคีย์เวิร์ดพิเศษใน Java ซึ่งโดยพื้นฐานแล้วจะทำหน้าที่เป็นตัวดัดแปลงที่ไม่สามารถเข้าถึงได้ เราสามารถใช้ตัวแปรนี้ในบริบทต่างๆ ซึ่งรวมถึง:
• ตัวแปรสุดท้าย
• วิธีสุดท้าย
• ชั้นเรียนสุดท้าย - มีวิธีใดบ้างในการบรรลุ Constructor chaining?
เราสามารถบรรลุ Constructor chaining ได้สองวิธี:
• จากคลาสพื้นฐานโดยใช้ super()
• ภายในคลาสเดียวกันโดยใช้ this() - classloader ใน Java คืออะไร
ส่วนย่อยของ Java Virtual Machine (JVM) ซึ่งใช้ในการโหลดไฟล์คลาสเรียกว่า Java ClassLoader
- Java มีตัวโหลดคลาสในตัวกี่ตัว
คลาสโหลดเดอร์ในตัวสามตัวมีให้โดยจาวา
• ส่วนขยาย ClassLoader
• Bootstrap ClassLoader
• ตัวโหลดคลาสระบบ/แอปพลิเคชัน - เขียนลักษณะของอินเทอร์เฟซแผนที่
ลักษณะของอินเทอร์เฟซแผนที่คือ:
• แผนที่ไม่ประกอบด้วยคีย์ที่ซ้ำกัน
• แต่ละคีย์สามารถแมปได้สูงสุดหนึ่งค่า - Java รวมอะไรไว้ในเฟรมเวิร์กการรวบรวม
• อินเตอร์เฟส
• ชั้นเรียน
• วิธีการ - ตั้งชื่อประเภทของคลาสที่ดำเนินการโดย Inheritance
• คลาสแม่ซึ่งเป็นคลาส Super หรือ Base
• คลาสลูกซึ่งเป็นคลาสย่อยหรือคลาสที่ได้รับมา - กำหนดมรดกเดียว
เมื่อคลาสหนึ่งได้รับคุณลักษณะของคลาสอื่น สิ่งนี้เรียกว่าการสืบทอดเดี่ยว
- กำหนดมรดกหลายระดับ
ในการสืบทอดหลายระดับ เมื่อคลาสหนึ่งได้รับมาจากคลาสอื่น และคลาสอื่นนั้นได้รับมาจากคลาสอื่นด้วย
- คุณหมายถึงอะไรโดยลำดับชั้นมรดก?
Hierarchical Inheritance หมายถึงคลาสที่มีคลาสย่อย (คลาสลูก) มากกว่าหนึ่งคลาส
- มรดกไฮบริดคืออะไร?
การผสมกันของการสืบทอดตั้งแต่สองประเภทขึ้นไปเรียกว่าการสืบทอดแบบไฮบริด
- จะบรรลุการห่อหุ้มใน Java ได้อย่างไร
เราสามารถบรรลุการห่อหุ้มได้ด้วยสองวิธีง่ายๆ:
• การระบุตัวแปรของคลาสเป็นส่วนตัว
• เสนอเมธอด getter และ public setter สำหรับเปลี่ยนและดูค่าตัวแปร - วงจรชีวิตของเซิร์ฟเล็ตคืออะไร?
รายการด้านล่างคือห้าขั้นตอนในวงจรชีวิตของเซิร์ฟเล็ต:
• เซิร์ฟเล็ตถูกทำลาย
• Servlet ถูกเตรียมใช้งาน
• โหลด Servlet แล้ว
• บริการตามคำขอ
• Servlet ถูกสร้างอินสแตนซ์ - เขียนวิธีการจัดการเซสชันทั่วไปในเซิร์ฟเล็ต
• API การจัดการเซสชัน
• คุ้กกี้
• การตรวจสอบผู้ใช้
• การเขียน URL ใหม่
• HTML ฟิลด์ที่ซ่อนอยู่ - เขียนประเภทของไดรเวอร์ JDBC
ประเภทของไดรเวอร์ JDBC คือ:
• ไดรเวอร์แบบบาง (ไดรเวอร์ Java เต็มรูปแบบ)
• ไดรเวอร์บริดจ์ JDBC-ODBC
• ไดรเวอร์ Native-API (ไดรเวอร์ Java บางส่วน)
• ไดรเวอร์ Network Protocol (ไดรเวอร์จาวาแบบเต็ม) - เขียนขั้นตอนการเชื่อมต่อกับฐานข้อมูลใน java?
วิธีการเชื่อมต่อกับฐานข้อมูลในภาษาจาวาคือ:
• การสร้างคำสั่ง
• ดำเนินการค้นหา
• การลงทะเบียนคลาสคนขับ
• การสร้างการเชื่อมต่อ
• ปิดการเชื่อมต่อ - JDBC รองรับข้อความประเภทใดบ้าง
JDBC รองรับข้อความสามประเภท
• คำแถลง
• CallableStatement
• เตรียมงบ - เขียนโมดูลต่างๆ ของ Spring framework
โมดูลต่าง ๆ ของกรอบสปริงคือ:
• สปริง DAO
• สปริง JDBC
• สปริง ORM
• บริบทฤดูใบไม้ผลิ
• สปริงเว็บโมดูล
• สปริง AOP
• สปริง MVC - กล่าวถึงคำอธิบายประกอบที่สำคัญบางส่วนในการกำหนดค่าสปริงตามคำอธิบายประกอบ
• @ออโต้ไวร์ด
• @ทรัพยากร
• @PreDestroy
• @รอบคัดเลือก
• @ที่จำเป็น
• @โพสต์คอนสตรัค - ระบุขอบเขต 5 ประเภทที่กำหนดไว้ใน Spring Bean
5 ประเภทของ Scope ที่กำหนดไว้ใน Spring Bean มีดังนี้:
• ซิงเกิลตัน:
• ต้นแบบ
• ขอ
• การประชุม
• โกลบอล-เซสชั่น - เขียนคำอธิบายประกอบฤดูใบไม้ผลิที่สำคัญบางส่วน
คำอธิบายประกอบสปริงที่สำคัญได้แก่:
• @ตัวควบคุม
• @RequestMapping
• @ResponseBody
• @PathVariable
• @ออโต้ไวร์ด
• @รอบคัดเลือก
• @บริการ
• @สโคป
• @การกำหนดค่า
• @ComponentScan
• @ถั่ว - Spring รองรับการจัดการธุรกรรมประเภทใดบ้าง
การจัดการธุรกรรมมี 2 ประเภทที่สปริงรองรับ:
• การจัดการธุรกรรมแบบเป็นโปรแกรม
• การจัดการธุรกรรมที่เปิดเผย - คุณจะจัดการกับข้อยกเว้น Java ได้อย่างไร
ด้วยการใช้คีย์เวิร์ด 5 คำเหล่านี้ เราสามารถจัดการข้อยกเว้นของจาวาได้
• จับ
• ในที่สุด
• ลอง
• ขว้าง
• โยน - วิธีการที่สำคัญของ Java Exception Class คืออะไร?
วิธีการที่สำคัญของ Java Exception Class มีดังนี้
• getCause โยนได้ซิงโครไนซ์ ()
• สตริง getMessage()
• เป็นโมฆะ printStackTrace()
• สตริง getLocalizedMessage()
• สตริง toString() - Java ให้บริการขยะกี่ประเภท
Java มีขยะ 4 ประเภท:
• นักสะสมขยะ CMS
• เครื่องเก็บขยะแบบอนุกรม
• เครื่องเก็บขยะแบบขนาน
• G1 นักสะสมขยะ - อะไรคือสองวิธีในการสร้างเธรด
มีสองวิธีในการสร้างเธรดคือ:
• ใช้อินเทอร์เฟซที่เรียกใช้ได้
• ขยายเธรด - OutOfMemoryError ใน Java คืออะไร
คลาสย่อยของ java.lang.Error ซึ่งมักจะเกิดขึ้นเมื่อ Java Virtual Machine ของเรามีหน่วยความจำไม่เพียงพอ เรียกว่า OutOfMemoryError ในภาษาจาวา
- JVM จัดสรรพื้นที่หน่วยความจำกี่ประเภท
• กอง
• ซ้อนกัน
• สแต็กวิธีดั้งเดิม
• โปรแกรมเคาน์เตอร์ลงทะเบียน
• พื้นที่ระดับ (วิธีการ) - คุณสามารถสร้างตัวสร้างขั้นสุดท้ายได้หรือไม่?
ไม่ เราไม่สามารถทำให้คอนสตรัคเตอร์เป็นขั้นสุดท้ายได้
- มีวิธีใดในการคัดลอกค่าของวัตถุหนึ่งไปยังอีกวัตถุหนึ่งใน java?
• โดยใช้ตัวสร้าง
• กำหนดค่าของวัตถุหนึ่งให้กับอีกวัตถุหนึ่ง
• โดยใช้เมธอด clone() ของคลาสอ็อบเจกต์ - การสืบทอดมีกี่ประเภทใน Java?
การสืบทอดใน Java มีห้าประเภท:
• มรดกหลายรายการ
• มรดกไฮบริด
• การสืบทอดระดับเดียว
• การสืบทอดลำดับชั้น
• มรดกหลายระดับ - คลาสใดเป็นซูเปอร์คลาสสำหรับทุกคลาส
ซูเปอร์คลาสสำหรับคลาสทั้งหมดคือคลาสอ็อบเจกต์
- เขียนเป็นการใช้หลักของ super คำหลัก?
การใช้คำหลัก super หลักคือ:
• เรียกใช้เมธอดคลาสพาเรนต์ในทันที
• เรียกใช้ตัวสร้างคลาสแม่ทันที - เราจะบรรลุวิธีการโอเวอร์โหลดได้อย่างไร
วิธีการโอเวอร์โหลดสามารถทำได้สองวิธี:
• โดยการแก้ไขจำนวนอาร์กิวเมนต์
• โดยการปรับเปลี่ยนประเภทการคืนสินค้า - เป็นไปได้ไหมที่จะแทนที่วิธีการส่วนตัว?
ไม่ เนื่องจากถูกจำกัดไว้เฉพาะคลาส เราจึงไม่สามารถแทนที่เมธอดส่วนตัวได้
- Java มีฟังก์ชั่นเสมือนหรือไม่?
ใช่ ฟังก์ชันทั้งหมดเป็นแบบเสมือนโดยค่าเริ่มต้นในจาวา
- Typecasting คืออะไร?
Typecasting มีสองประเภท:
• โดยนัย
• ชัดเจน
Tech Learn แบ่งปันข้อมูลพื้นฐาน & คำถามสัมภาษณ์ล่วงหน้าและคำตอบของจาวาตามความต้องการของอุตสาหกรรม ดังนั้นโปรดเยี่ยมชมเราเพื่อรับข้อมูลอัปเดตเกี่ยวกับ คำถามสัมภาษณ์จาวา เป็นประจำ
ลิงค์อ้างอิง:
- https://www.edureka.co/blog/interview-questions/java-interview-questions/
- https://www.javatpoint.com/corejava-interview-questions