14 คำถามและคำตอบสัมภาษณ์ Java ที่พบบ่อย [2022]

คุณมีการสัมภาษณ์ Java สำหรับงานในฝันของคุณหรือไม่? ต่อไปนี้คือคำถามและคำตอบสำหรับการสัมภาษณ์ Java ที่สามารถช่วยให้คุณเก่งในการสัมภาษณ์

ในปี 1982 James Gosling ลงทุนภาษา Java ระดับสูงซึ่งเป็นไปตามหลักการของการเขียนโปรแกรมเชิงวัตถุ เป็นหนึ่งในภาษาโปรแกรมที่ได้รับความนิยมและใช้กันอย่างแพร่หลาย ผู้เริ่มต้นและนักพัฒนาซอฟต์แวร์มืออาชีพเลือกใช้เป็นทางเลือกอาชีพที่มีศักยภาพ

Java เป็นเรื่องเกี่ยวกับคลาส, การสืบทอด, JSON, ตัววนซ้ำ, การแจงนับ, ตัวแปรผันผวน, ชั่วคราว, ไฮเบอร์เนต, อุโมงค์ HTTP และคลาสนามธรรม มันมาจากไวยากรณ์จากภาษาการเขียนโปรแกรม C ++ และ C อย่างไรก็ตาม จำเป็นต้องรู้คำถามสำคัญที่ผู้สัมภาษณ์อาจถาม

เพื่อช่วยนักพัฒนา Java ต่อไปนี้คือคำถามและคำตอบในการสัมภาษณ์ที่สำคัญบางส่วน

Java เป็นภาษาเชิงวัตถุบริสุทธิ์หรือไม่ อธิบายคำตอบของคุณ.

ไม่ Java ไม่ใช่ภาษาเชิงวัตถุล้วนๆ รองรับประเภทข้อมูลดั้งเดิม เช่น short, byte, double, float, long, char, boolean เป็นต้น ซึ่งไม่ใช่วัตถุ อย่างไรก็ตาม มันตอบสนองหลายแง่มุมเชิงวัตถุ

  ทางเลือก Dropbox ฟรีที่ดีที่สุด (สำหรับอุปกรณ์มากกว่า 3 เครื่อง)

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

อธิบายความแตกต่างพื้นฐานระหว่าง JDK, JRE และ JVM

Java Development KitJava Runtime EnvironmentJava Virtual MachineJDK เป็นเครื่องมือที่จำเป็นสำหรับการจัดทำเอกสาร คอมไพล์ และแพ็คเกจโปรแกรม Java Java bytecode ถูกดำเนินการโดยใช้ JRE.JVM เป็นเครื่องนามธรรมที่ให้สภาพแวดล้อมรันไทม์เพื่อให้ง่ายต่อการดำเนินการ จาวาไบต์โค้ด มันมาพร้อมกับเครื่องมือการพัฒนาและ JRE ด้วยวิธีนี้ การใช้งาน JVM สามารถเข้าถึงได้มากขึ้นและมีอยู่จริง JVM รวมถึงการใช้งาน ข้อมูลจำเพาะ และอินสแตนซ์รันไทม์ ใช้แพลตฟอร์ม Java รุ่นมาตรฐาน รุ่นไมโคร และรุ่นองค์กร ประกอบด้วยไฟล์และไลบรารีหลายไฟล์ ทำให้ใช้งาน JVM ได้ง่ายขึ้น มันดำเนินการรหัส การตรวจสอบ และโหลด

ให้เหลือบเข้าไปในตัวระบุการเข้าถึงสำหรับคลาส Java หรือไม่

คีย์เวิร์ดที่ใช้ก่อนชื่อคลาสคือตัวระบุการเข้าถึงใน Java มันหมายถึงขอบเขตการเข้าถึงโดยใช้ประเภทต่าง ๆ :

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

คุณหมายถึงอะไรโดยตัวแปรท้องถิ่นและตัวแปรอินสแตนซ์?

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

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

  วิธีปิดการบันทึกและการแจ้งเตือนการสัมผัส COVID-19 บน iPhone

JIT Compiler คืออะไร?

Just In Time Compiler ใช้เพื่อเพิ่มประสิทธิภาพการทำงานของแอปพลิเคชันที่คอมไพล์ bytecode ซึ่งช่วยลดการใช้เวลา นอกจากนี้ยังช่วยแปลรหัสจาก JVM เป็นชุดคำสั่ง CPU

อธิบายคลาสซิงเกิลตันในบรรทัดเดียว

เป็นประเภทคลาสที่ไม่ซ้ำกันซึ่งแสดงอินสแตนซ์หรืออ็อบเจ็กต์ครั้งละหนึ่งรายการ

การโคลนวัตถุคืออะไร?

การโคลนอ็อบเจ็กต์หมายถึงการสร้างสำเนาโคลนของอ็อบเจ็กต์ Java ซึ่งช่วยให้นักพัฒนานำไปใช้ในภายหลัง นักพัฒนา Java สามารถใช้เมธอด clone() เพื่อใช้งานอินเตอร์เฟส java.lang.Cloneable ได้อย่างง่ายดาย

อธิบายตัวสร้าง

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

  • ตัวสร้างพารามิเตอร์ – ตัวสร้างสามารถเริ่มต้นตัวแปรอินสแตนซ์ที่รับอาร์กิวเมนต์และใช้ค่าที่ให้มา
  • ตัวสร้างเริ่มต้น – ตัวสร้างเริ่มต้นตัวแปรอินสแตนซ์ ไม่สร้างผู้รับเหมาอาร์กิวเมนต์ตามค่าเริ่มต้น และไม่รับอินพุตใดๆ ไม่มีการกำหนดคอนสตรัคเตอร์อื่น

อะไรคือความแตกต่างระหว่าง == และเท่ากับ () ใน Java?

ตัวดำเนินการความเท่าเทียมกัน (==) คือตัวดำเนินการไบนารีที่เปรียบเทียบอ็อบเจ็กต์และพื้นฐานในภาษาการเขียนโปรแกรม Java คลาสอ็อบเจ็กต์จัดเตรียมเมธอดเป็นบูลีนสาธารณะเท่ากับ (Object o) ในเวลาเดียวกัน equals() ตรวจสอบความเท่าเทียมกันของสองอ็อบเจ็กต์และกำหนดคลาสอ็อบเจ็กต์ใน Java ที่กำหนดโดยตรรกะทางธุรกิจ

แยกความแตกต่างระหว่าง TreeSet และ HashSet

องค์ประกอบ TreeSetHashSetMaintain ในลำดับการเรียงลำดับ องค์ประกอบจะไม่ถูกรักษาในลำดับการเรียงลำดับ อนุญาตวัตถุที่ต่างกัน ไม่อนุญาตให้วัตถุที่ต่างกัน ใช้ SortedSet Interface โดยใช้ต้นไม้สำหรับการจัดเก็บข้อมูล ดำเนินการผ่านตารางแฮช

อธิบายการเริ่มต้น Double Brace

ใน Java Double Brace Initialization รวมสองกระบวนการอิสระ การเริ่มต้น Double Brace ใช้สองวงเล็บปีกกาเพื่อสร้างคลาสภายในที่ไม่ระบุชื่อและบล็อกการเริ่มต้นตามลำดับ ตัวชี้ “สิ่งนี้” ช่วยให้คลาสชั้นในอ้างถึงคลาสภายนอกสำหรับทั้งการเริ่มต้นและการสร้างในคำสั่งเดียว

กำหนด Java String Pool

คอลเล็กชันของ Strings เรียกว่าการเรียงลำดับ Java String Pool ในหน่วยความจำฮีป ซึ่งจะมีการสร้างอ็อบเจ็กต์ใหม่ String Pool ตรวจสอบความพร้อมใช้งานของอ็อบเจ็กต์ จากนั้นการอ้างอิงเดียวกันจะถูกส่งกลับไปยังตัวแปร มิฉะนั้น วัตถุใหม่จะถูกสร้างขึ้นพร้อมกับการย้อนกลับไปยังการอ้างอิงที่เกี่ยวข้อง

  หมายเลขช่อง ATT ESPN คืออะไร?

คลาสคอลเลกชันใน Java หมายถึงอะไร

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

คำพูดสุดท้าย

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

หากต้องการเชี่ยวชาญ Java ให้ลองลงทะเบียนเรียนในหลักสูตร Java ออนไลน์เหล่านี้

เรื่องล่าสุด

x