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 เหล่านี้บางส่วน