21 คำถามสัมภาษณ์ OOP ที่พบบ่อยและคำตอบที่ต้องรู้วันนี้

เผยแพร่แล้ว: 2022-09-20

คำถามสัมภาษณ์เกี่ยวกับการเขียนโปรแกรมเชิงวัตถุสามารถช่วยให้โปรแกรมเมอร์และนักพัฒนาเพิ่มพูนความรู้เกี่ยวกับแนวคิดหลักในโลกของการเขียนโปรแกรม

OOP เป็นหนึ่งในกระบวนทัศน์การเขียนโปรแกรมที่จำเป็นและจำเป็นที่สุด โดยเน้นที่อ็อบเจ็กต์และคลาสแทนโพรซีเดอร์และฟังก์ชัน

ภาษาการเขียนโปรแกรมที่ใช้ OOP บางภาษา ได้แก่ Objective-C, Java, Ada, Perl, Python, C++ และอื่นๆ

บริษัทใหญ่ๆ มองหานักพัฒนาที่มีความเชี่ยวชาญในแนวทางเชิงวัตถุและรูปแบบ

ดังนั้น หากคุณกำลังวางแผนที่จะเข้าร่วมกระบวนการสัมภาษณ์ดังกล่าว คุณต้องมีความเข้าใจอย่างลึกซึ้งเกี่ยวกับแนวคิด OOP

มาดูคำถามและคำตอบในการสัมภาษณ์ OOP ที่ถามบ่อยเพื่อช่วยให้คุณเตรียมตัวสำหรับการสัมภาษณ์และการทดสอบ

การเขียนโปรแกรมเชิงวัตถุ (OOP): ภาพรวม

อ๊ะ

OOP เป็นกระบวนทัศน์การเขียนโปรแกรมที่หมุนรอบวัตถุ ในที่นี้ อ็อบเจ็กต์ถือเป็นอินสแตนซ์ในโลกแห่งความเป็นจริง เช่น คลาสที่มีพฤติกรรมและคุณลักษณะบางอย่างที่ระบุในเทมเพลตคลาส

ตัวอย่างเช่น ลองพิจารณารถยนต์ ตามรูปแบบ OOPs:

  • วัตถุ : รถ. อาจเป็นรถประเภทหรือรุ่นใดก็ได้ เช่น รถที่คุณเป็นเจ้าของ
  • ระดับ : รุ่นหรือประเภทของรถ เช่น BMW, Chevrolet, Kia, Audi และอื่นๆ
  • ลักษณะ : สีของรถ หมายเลขตัวถังของรถ ประเภทเครื่องยนต์ ประเภทเกียร์ และอื่นๆ
  • พฤติกรรม : วิธีเปลี่ยนเกียร์ วิธีสตาร์ทรถ และอื่นๆ

ในที่นี้ ลักษณะเรียกอีกอย่างว่าคุณสมบัติ คุณลักษณะ หรือข้อมูล ในขณะที่พฤติกรรมเรียกว่า โพรซีเดอร์ เมธอด หรือฟังก์ชันในภาษาโปรแกรม

เริ่มจากคำถามสัมภาษณ์ OOP ที่พบบ่อย

คำว่า OOP หมายถึงอะไร

คำตอบ: Object Oriented Programming (OOP) เป็นโมเดลการเขียนโปรแกรมตามอ็อบเจ็กต์และคลาสแทนที่จะเป็นโพรซีเดอร์และฟังก์ชัน วัตถุแต่ละชิ้นถูกจัดเป็นชั้นเรียน OOP อธิบายสิ่งที่อยู่ในโลกแห่งความเป็นจริงด้วยแนวคิด เช่น ความหลากหลาย การซ่อน การสืบทอด ฯลฯ และกระบวนทัศน์การเขียนโปรแกรม

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

ซึ่งรวมถึงโปรแกรมสำหรับการออกแบบและการผลิตพร้อมกับแอปพลิเคชันมือถือ ตัวอย่างเช่น คุณสามารถใช้ OOP สำหรับซอฟต์แวร์จำลองระบบการผลิต

มีกระบวนทัศน์การเขียนโปรแกรมอื่นใดนอกเหนือจาก OOP

กระบวนทัศน์การเขียนโปรแกรม

คำตอบ: กระบวนทัศน์การเขียนโปรแกรมเป็นวิธีการจัดหมวดหมู่ภาษาโปรแกรมตามคุณลักษณะของแต่ละภาษา กระบวนทัศน์การเขียนโปรแกรมมีสองประเภท:

  • Imperative Programming Paradigm: เน้นที่วิธีดำเนินการตรรกะและกำหนดโฟลว์การควบคุม ประกอบด้วยกระบวนทัศน์การเขียนโปรแกรมตามขั้นตอน การเขียนโปรแกรมเชิงวัตถุ (OOP) และการเขียนโปรแกรมแบบขนาน
  • Declarative Programming Paradigm: เน้นที่สิ่งที่จะดำเนินการในโปรแกรมและกำหนดตรรกะของโปรแกรม ไม่ใช่ขั้นตอนการควบคุม ประกอบด้วยกระบวนทัศน์การเขียนโปรแกรมเชิงตรรกะ กระบวนทัศน์การเขียนโปรแกรมเชิงฟังก์ชัน และกระบวนทัศน์การเขียนโปรแกรมฐานข้อมูล

OOP กับ SOP ต่างกันอย่างไร?

คำตอบ: มาทำความเข้าใจความแตกต่างระหว่าง OOP และ SOP กับตารางนี้:

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

คุณสมบัติหลักของ OOP คืออะไร?

คุณลักษณะของอุ๊ปส์

คำตอบ: นี่คือคุณสมบัติหลักของ OOPs:

  • มรดก
  • การห่อหุ้ม
  • สิ่งที่เป็นนามธรรม
  • ความหลากหลาย
  • วิธีการเอาชนะ
  • วิธีการโอเวอร์โหลด
  • วัตถุ
  • ชั้นเรียน
  • ตัวสร้างและตัวทำลาย

การสืบทอด ความหลากหลาย และการห่อหุ้มเป็นองค์ประกอบพื้นฐานของ OOP ที่ทำให้คุณลักษณะเหล่านี้แตกต่างจากภาษาที่ไม่ใช่ OOP

การห่อหุ้มคืออะไร?

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

นอกจากนี้ยังสามารถกำหนดได้ด้วยวิธีอื่น:

  • การผูกข้อมูล: การ ห่อหุ้มเป็นกระบวนการของการผูกข้อมูลสมาชิกพร้อมกับวิธีการร่วมกันในชั้นเรียนหรือโดยรวม
  • การซ่อนข้อมูล: การ ห่อหุ้มเป็นกระบวนการของการซ่อนข้อมูลที่ไม่จำเป็น เช่น การจำกัดการเข้าถึงสมาชิกของวัตถุ เป็นต้น

Polymorphism คืออะไร?

ความหลากหลาย

คำตอบ: มาทำความเข้าใจพหุสัณฐานกันโดยแยกคำออกเป็นสองคำที่ก่อตัวขึ้น:

“โพลี” แปลว่า “มากมาย”

“มอร์ฟ” แปลว่า “รูปร่าง”

ดังนั้นความหลากหลายสามารถอธิบายได้ว่าเป็นวัตถุที่มีรูปร่างต่างกัน

ใน OOP จะเรียกว่ากระบวนการที่ข้อมูล วัตถุ วิธีการ หรือโค้ดบางอย่างทำงานแตกต่างกันภายใต้บริบทหรือสถานการณ์ต่างๆ polymorphism มีสองประเภทในแบบจำลอง OOPs:

  • ความแตกต่างของรันไทม์
  • รวบรวมความแตกต่างของเวลา

กล่าวอีกนัยหนึ่ง มันคือคำจำกัดความที่หลากหลายของอินเทอร์เฟซเดียว ตัวอย่างเช่น มีคลาสชื่อ 'vehicle' ซึ่งประกอบด้วย method' speed' เป็นไปไม่ได้ที่จะกำหนดความเร็วเนื่องจากยานพาหนะต่าง ๆ มีความเร็วต่างกัน ดังนั้น สิ่งนี้สามารถกำหนดได้ในคลาสย่อยของคำจำกัดความต่างๆ สำหรับยานพาหนะต่างๆ

Static Polymorphism คืออะไร?

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

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

ความแตกต่างแบบไดนามิกคืออะไร?

ไดนามิกโพลีมัวร์ฟิซึม

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

ตัวอย่างเช่น มีการสร้างสองคลาส ได้แก่ จักรยานและ Yamaha และคลาส Yamaha ขยายคลาสจักรยานที่แทนที่วิธี run() เนื่องจากเมธอดคลาสย่อยจะแทนที่เมธอดคลาสพาเรนต์ มันจึงถูกเรียกใช้ในขณะรันไทม์

คลาสคืออะไร?

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

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

วัตถุคืออะไร?

วัตถุ

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

ดังนั้น วัตถุจึงมีลักษณะหรือพฤติกรรมบางอย่างและใช้พื้นที่ เช่น รถยนต์รุ่นใดรุ่นหนึ่ง

ความแตกต่างระหว่างคลาสและโครงสร้างคืออะไร?

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

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

มรดกคืออะไร?

มรดก

คำตอบ: การสืบทอดเป็นหนึ่งในคุณสมบัติของ OOP ที่ทำให้คลาสสามารถสืบทอดคุณสมบัติหลักของคลาสอื่นได้ ตัวอย่างเช่น หาก 'ยานพาหนะ' เป็นคลาส 'รถยนต์', 'จักรยาน' เป็นต้น เป็นคลาสอื่นๆ ที่สามารถสืบทอดคุณสมบัติหลักจากยานพาหนะของคลาส'

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

ด้วยวิธีนี้ คุณสามารถใช้โค้ดการเขียนโปรแกรมของคลาสหนึ่งในอีกคลาสหนึ่งซ้ำโดยไม่ต้องเขียนโค้ดเดิมอีกหรือเสียเวลาในกระบวนการ

มรดกประเภทต่าง ๆ มีอะไรบ้าง?

คำตอบ: มีการสืบทอดหลายประเภทที่ใช้ในแบบจำลอง OOPs เช่น:

  • การ สืบทอดเดี่ยว: กำหนดเป็นมรดกที่คลาสเดียวสืบทอดฟังก์ชันทั่วไปของคลาสฐานเดียว
  • การสืบทอดหลายรายการ: ปรากฏในภาพเมื่อคลาสเดียวสืบทอดมากกว่าหนึ่งคลาส
  • การสืบทอดหลายระดับ: นี่หมายถึงคลาสที่สืบทอดมาจากคลาสอื่น ซึ่งเป็นคลาสย่อยของคลาสอื่น
  • การ สืบทอดตามลำดับชั้น: หมายถึงการสืบทอดโดยที่คลาสหนึ่งมีหลายคลาสย่อย
  • การ สืบทอดแบบไฮบริด: เป็นการรวมกันของการสืบทอดหลายระดับและการสืบทอดหลายรายการ

มรดกมีข้อจำกัดอย่างไร?

ข้อจำกัดของการรับมรดก

คำตอบ: ข้อจำกัดบางประการในการรับมรดกมีดังนี้:

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

สิ่งที่เป็นนามธรรมคืออะไร?

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

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

นามธรรมมีสองประเภท:

  • นามธรรมข้อมูล
  • กระบวนการที่เป็นนามธรรม

ตัวสร้างคืออะไร?

ตัวสร้าง

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

เมื่อสร้างคอนสตรัคเตอร์ จำเป็นต้องคำนึงถึงบางสิ่ง:

  • มีชื่อเหมือนกับชื่อชั้น
  • ต้องไม่เป็นนามธรรม สุดท้าย หรือคงที่
  • ไม่มีตัวแปรประเภทการส่งคืน

คอนสตรัคเตอร์ประเภทต่าง ๆ ใน C ++ มีอะไรบ้าง

คำตอบ: คอนสตรัคเตอร์ใน C ++ มีสามประเภทหลัก:

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

Destructor คืออะไร?

ผู้ทำลาย

คำตอบ: destructor เป็นวิธีการที่เรียกว่าโดยอัตโนมัติในขณะที่ทำลายวัตถุ มันดำเนินการบางอย่าง:

  • การกู้คืนพื้นที่ฮีปที่จัดสรรไว้ก่อนในระหว่างการเริ่มต้นของอ็อบเจ็กต์
  • การปิดการเชื่อมต่อฐานข้อมูลและไฟล์
  • การปล่อยทรัพยากรเครือข่ายและการล็อกทรัพยากร
  • ทำงานแม่บ้านต่างๆ

กล่าวอีกนัยหนึ่ง destructor ทำลายวัตถุที่เริ่มต้นโดยตัวสร้าง เป็นฟังก์ชันสมาชิกพิเศษที่มีชื่อเดียวกับชื่อคลาส แต่นำหน้าด้วยสัญลักษณ์ (~) ตัวทำลายล้างสามารถโอเวอร์โหลดได้เนื่องจากเป็นฟังก์ชันทางเดียว

การเก็บขยะ (GC) คืออะไร?

คำตอบ: Garbage Collection (GC) เป็นองค์ประกอบการกู้คืนหน่วยความจำที่สร้างขึ้นในภาษาการเขียนโปรแกรม เช่น Java และ C# ภาษาการเขียนโปรแกรมที่เปิดใช้งาน GC มีตัวรวบรวมขยะอย่างน้อยหนึ่งตัวที่เพิ่มพื้นที่หน่วยความจำโดยอัตโนมัติซึ่งไม่จำเป็นในโปรแกรมอีกต่อไป

การรวบรวมขยะยืนยันว่าโปรแกรมยังอยู่ในโควตาหน่วยความจำ มันป้องกันนักพัฒนาจากการจัดการหน่วยความจำของโปรแกรมด้วยตนเอง ซึ่งช่วยลดจุดบกพร่องที่เกี่ยวข้องกับหน่วยความจำ

การจัดการข้อยกเว้นคืออะไร?

การจัดการข้อยกเว้น

คำตอบ: การจัดการข้อยกเว้นเป็นวิธีการตอบสนองต่อเหตุการณ์ที่ไม่คาดคิดในขณะที่โปรแกรมคอมพิวเตอร์ทำงาน โปรแกรมเมอร์ต้อง "จัดการ" เหตุการณ์ที่ไม่ต้องการ (ข้อยกเว้น) เพื่อป้องกันไม่ให้ระบบหรือโปรแกรมหยุดทำงาน หากไม่มีวิธีนี้ ข้อยกเว้นอาจขัดขวางการทำงานทั่วไปของโปรแกรมและส่งผลให้เกิดความไร้ประสิทธิภาพหรือความเสี่ยง

บล็อกลอง/จับคืออะไร

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

  • บล็อกการ ลอง คือบล็อกรหัสที่มีข้อยกเว้นเกิดขึ้น
  • บล็อก catch จับและลองบล็อกข้อยกเว้น

คำสั่ง try and catch มักใช้ในภาษาการเขียนโปรแกรมต่างๆ รวมถึง C++ C#, Java, SQL และ JavaScript ทุกคำสั่ง try จับคู่กับคำสั่ง catch เพื่อจัดการกับการดำเนินการ ต่อไปนี้คืออีกสองสามสิ่งที่ควรจำในคำสั่ง try and catch :

  • บล็อกลองตามด้วยบล็อก catch
  • ลองบล็อกตามด้วยบล็อก catch อย่างน้อยหนึ่งบล็อก
  • ลองบล็อกตามด้วยบล็อกลองอื่นและตามด้วยบล็อก catch

บทสรุป

OOP เป็นแนวคิดที่จำเป็นสำหรับโปรแกรมเมอร์ที่ต้องรู้ การเรียนรู้อย่างละเอียดจะช่วยให้คุณเขียนโปรแกรมในภาษาที่ใช้แนวคิด OOP ได้เป็นอย่างดี

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

คุณอาจดูคำถามสัมภาษณ์ SQL เหล่านี้บางส่วน