JavaRush /จาวาบล็อก /Random-TH /10 คำถามสัมภาษณ์ Java ที่ยากที่สุด
theGrass
ระดับ
Саратов

10 คำถามสัมภาษณ์ Java ที่ยากที่สุด

เผยแพร่ในกลุ่ม
10 คำถามสัมภาษณ์ Java ที่ยากที่สุด
คำถามและคำตอบ Java ที่ท้าทายคำถามสัมภาษณ์ Java     ที่ท้าทายคืออะไร ทำไมคนถึงศึกษาก่อนไปสัมภาษณ์? เป็นเรื่องปกติที่ผู้คนจะเตรียมตัวสำหรับคำถามยากๆ แม้ว่าพวกเขาจะไม่คาดหวังว่าจะถูกถามคำถามยากๆ จากJavaก็ตาม การเตรียมตัวสำหรับคำถามที่ยากและยุ่งยากจะช่วยเพิ่มความมั่นใจและช่วยให้คุณตอบคำถามอื่นๆ ได้ ในทางกลับกัน หากคุณไม่เตรียมตัวสำหรับคำถามยากๆ การปรากฏตัวของพวกเขาระหว่างการสัมภาษณ์หรือการสอบข้อเขียนจะทำให้คุณประหลาดใจ แต่คำจำกัดความของคำถามที่ถือว่าเป็นคำถามที่ยากนั้นไม่เป็นสากล คำถามเดียวกันอาจเป็นเรื่องยากสำหรับโปรแกรมเมอร์คนหนึ่งและง่ายสำหรับอีกคนหนึ่ง ดังนั้น ควรเตรียมรายการคำถามยากๆ ส่วนตัวของคุณให้พร้อมก่อนที่จะไปสัมภาษณ์ งาน Java ในบทความนี้ ฉันจะแบ่งปันคำถามท้าทายสิบข้อที่อาจช่วยคุณได้ 10 คำถามสัมภาษณ์งาน Java ยากและคำตอบ     ตามที่ฉันได้เขียนไปแล้ว ตอนนี้จะเป็นรายการคำถามยากๆ 10 ข้อพร้อมเคล็ดลับที่คุณอาจพบระหว่างการสัมภาษณ์ คำถามเหล่านี้เกี่ยวข้องกับ เคอร์เนล Java เท่านั้น และไม่มีผลกับ J2EE อย่างที่ผมบอกไป คำถามเหล่านี้อาจจะง่ายสำหรับคุณและคุณก็รู้คำตอบอยู่แล้ว แต่ถึงกระนั้นก็เจอพวกเขาตอนสัมภาษณ์และโดยส่วนตัวแล้วฉันรู้จักคนที่ไม่สามารถตอบได้ เหตุใดจึงมีการประกาศเมธอด wait() และ notify() ในคลาส Object ไม่ใช่ Thread     ในอีกด้านหนึ่ง ไม่ใช่คุณที่พัฒนา ภาษา Javaคุณจะรู้ได้อย่างไรว่าทำไมมันถึงทำเช่นนี้และไม่ใช่อย่างอื่น? แต่ถ้าคุณใช้สามัญสำนึกและความรู้เชิงลึกเกี่ยวกับ การเขียนโปรแกรม Javaคุณจะพบคำตอบได้อย่างง่ายดาย อ่านโพสต์นี้ - เหตุใดจึงมีการประกาศwait()และ notify () ในคลาส Object ไม่ใช่ Thread เหตุใดจึงไม่รองรับการสืบทอดหลายรายการใน Java     ความยากของคำถามนี้หลักๆ แล้วก็คือคำตอบของคุณอาจไม่ตรงใจผู้ถาม ในกรณีส่วนใหญ่ จำเป็นต้องมีตัวอย่างที่เฉพาะเจาะจง และหากคุณระบุรายชื่อเหล่านั้น ผู้สัมภาษณ์คุณจะมีความสุข ฉันจะให้ลิงก์ไปยังบล็อกของฉันอีกครั้ง - เหตุใดJavaจึงไม่รองรับการสืบทอดหลายรายการเพื่อตอบคำถามนี้ เหตุใด Java จึงไม่รองรับโอเปอเรเตอร์โอเวอร์โหลด คำถาม Java     ยากอีกข้อจากหมวดหมู่เดียวกัน C++รองรับโอเปอเรเตอร์โอเวอร์โหลด ทำไม Java ถึง ไม่มี ผู้คนอาจให้ข้อโต้แย้งนี้และข้อโต้แย้งที่คล้ายกันแก่คุณ และบางครั้งก็บอกว่า ตัวดำเนินการ +มีการโหลดมากเกินไปใน Javaเพื่อรวมสตริง แต่อย่าหลงกล อ่าน สาเหตุที่ Java ไม่รองรับการโอเวอร์โหลดโอเปอเรเตอร์เพื่อดูคำตอบโดยละเอียดสำหรับคำถามที่ยุ่งยากนี้ เหตุใดสตริงจึงไม่เปลี่ยนรูปใน Java     คำถามสัมภาษณ์ที่ฉันชอบ มันยากและยุ่งยาก แต่ก็มีประโยชน์มากเช่นกัน คุณอาจถูกถามว่าทำไมสตริงจึงถูกประกาศ ขั้นสุดท้าย ใน Java อ่านที่นี่ ว่าทำไมสตริงใน Java จึงเป็นที่สิ้นสุดและไม่เปลี่ยนรูป เหตุใดอาร์เรย์อักขระจึงดีกว่าสตริงสำหรับจัดเก็บรหัสผ่านใน Java     และอีกหนึ่งคำถามที่ยุ่งยากเกี่ยวกับสตริง และเชื่อฉันเถอะว่า โปรแกรมเมอร์ Java เพียงไม่กี่คนเท่านั้น ที่จะตอบได้ นี่เป็นคำถามที่ยากมากเกี่ยวกับ Java core และต้องอาศัยความรู้เต็มรูปแบบเกี่ยวกับคลาส Stringจึงจะตอบได้ อ่าน เหตุใดอาร์เรย์อักขระจึงดีกว่าสตริงสำหรับจัดเก็บรหัสผ่านเพื่อค้นหาคำตอบ จะสร้างซิงเกิลตันที่ปลอดภัยสำหรับเธรดใน Java โดยใช้การล็อคแบบตรวจสอบซ้ำได้อย่างไร อีกวิธีหนึ่งในการกำหนดคำถามนี้คือ singleton-safe singleton     คืออะไร และจะสร้างได้ อย่างไร ก่อน Java 5วิธีเดียวที่จะสร้างซิงเกิลตันที่ปลอดภัยสำหรับเธรดคือการล็อกสองครั้ง ไม่เช่นนั้นหากหลายเธรดพยายามเข้าถึงซิงเกิลตันพร้อมกัน เธรดแต่ละรายการจะได้รับอินสแตนซ์ที่แตกต่างกัน เริ่ม ต้นด้วย Java 5 ปัญหานี้ได้รับการแก้ไขโดยใช้ Enum แต่ถ้าคนที่สัมภาษณ์คุณยืนกราน ให้เขียนโค้ดนี้ให้เขา เพียงอย่าลืมตั้งค่าเป็น volatile รายละเอียดเพิ่มเติมที่นี่ 10 คำถามเกี่ยวกับซิงเกิลตันใน Java เขียนโปรแกรม Java ที่สร้างการหยุดชะงักและแก้ไข     หนึ่งในคำถามคลาสสิก แต่ก็ยังยากซึ่งเป็นคำตอบที่ต้องใช้ประสบการณ์ในการเขียนแอปพลิเคชันแบบมัลติเธรด อ่าน วิธีสร้างหรือป้องกันการหยุดชะงักใน Java จะเกิดอะไรขึ้นหากคลาส Serializable ของคุณมีฟิลด์ที่ไม่สามารถซีเรียลไลซ์ได้ จะแก้ไขได้อย่างไร?     ความพยายามใด ๆ ที่จะทำให้คลาสดังกล่าวเป็นอนุกรมจะทำให้เกิด NotSerializableExceptionและวิธีที่ง่ายที่สุดในการแก้ไขคือการประกาศฟิลด์ ชั่วคราว ดัง กล่าว อ่าน คำถามเกี่ยวกับการออกหมายเลขซีเรียล 10 อันดับแรกหากคุณต้องการรายละเอียดเพิ่มเติม เหตุใดจึงรอและแจ้งเตือนการโทรจากวิธีการซิงโครไนซ์ใน Java     และอีกหนึ่งคำถามเกี่ยวกับ Java core พวกเขาถูกเรียกจาก วิธีการซิงโครไนซ์หรือบล็อกซิงโครไนซ์เนื่องจาก wait()และ notify()จำเป็นต้องมี mutex บนอ็อบเจ็กต์ที่ถูกเรียก คุณสามารถอ่านคำตอบทั้งหมดได้ที่นี่ - ทำไม wait ( ) และ notify() จึงต้องถูกเรียกในบริบทที่ซิงโครไนซ์ คุณสามารถแทนที่วิธีคงที่ใน Java ได้หรือไม่? ถ้าฉันสร้างวิธีการด้วยชื่อเดียวกันในคลาสสืบทอด จะทำให้เกิดข้อผิดพลาดในการคอมไพล์หรือไม่     ไม่ คุณไม่สามารถแทนที่ วิธีคงที่ใน Javaได้ แต่ถ้าคุณสร้างเมธอดแบบสแตติกในคลาสสืบทอดที่มีชื่อเดียวกันกับในคลาสบรรพบุรุษ สิ่งนี้จะไม่ทำให้เกิดข้อผิดพลาดในการคอมไพล์ นี่เรียกว่า "วิธีการซ่อน" คุณสามารถอ่านคำตอบโดยละเอียดเพิ่มเติมได้ที่นี่: คุณสามารถแทนที่วิธีคงที่ใน Java ได้     หรือไม่ นี่คือรายการคำถามยาก ๆ ของฉันใน Javaและคำตอบสำหรับพวกเขา สำหรับโปรแกรมเมอร์ที่มีประสบการณ์บางคนดูไม่ซับซ้อนมากนัก แต่มีลูกเล่นและการตอบจะไม่ง่ายสำหรับโปรแกรมเมอร์มือใหม่ หากคุณเจอคำถามยาก ๆ เกี่ยวกับ Javaโปรดแบ่งปันกับเรา บทความต้นฉบับ
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION