คำถามสัมภาษณ์ภาษาโคบอล 50 อันดับแรก (2025)
ต่อไปนี้เป็นคำถามและคำตอบในการสัมภาษณ์ภาษาโคบอลสำหรับผู้สมัครที่มีประสบการณ์และใหม่กว่าเพื่อให้ได้งานในฝัน
คำถามและคำตอบสัมภาษณ์ภาษาโคบอลสำหรับนักศึกษาใหม่
1) ภาษาโคบอลคืออะไร?
ภาษาโคบอล ย่อมาจาก Common Business Oriented Language และเป็นหนึ่งในภาษาโปรแกรมที่เก่าแก่ที่สุด ใช้เป็นหลักสำหรับระบบธุรกิจ การเงิน และการบริหารของบริษัทต่างๆ
2) ภาษาโคบอลมีประเภทข้อมูลใดบ้าง
มีข้อมูลสามประเภทในภาษาโคบอล:
- ตัวอักษรและตัวเลข (X)
- ตัวอักษร (A) และ
- ตัวเลข (9)
👉 ดาวน์โหลดไฟล์ PDF ฟรี: คำถามและคำตอบสัมภาษณ์ภาษาโคบอล
3) ตัวห้อยและดัชนีแตกต่างกันอย่างไร?
ตัวห้อยหมายถึงการเกิดขึ้นของอาร์เรย์ แต่ดัชนีคือการกระจัดจากจุดเริ่มต้นของอาร์เรย์
ดัชนีสามารถแก้ไขได้โดยใช้ PERFORM, SEARCH & SET เท่านั้น
4) อะไรคือความแตกต่างระหว่างการดำเนินการ SECTION และ ย่อหน้า?
SECTION จะมีย่อหน้าทั้งหมดที่เป็นส่วนหนึ่งของส่วนนี้ให้ดำเนินการ
ย่อหน้าจะมีเพียงย่อหน้านั้นเท่านั้นที่จะดำเนินการ
5) อะไรคือความแตกต่างระหว่าง CONTINUE และ NEXT SENTENCE?
CONTINUE เปรียบเสมือนคำสั่ง null และยังคงดำเนินการต่อไป ในขณะที่ NEXT SENTENCE ถ่ายโอนการควบคุมไปยังประโยคถัดไป
6) โหมด OPEN ต่างๆ ที่มีอยู่ใน Cobol มีอะไรบ้าง
สามารถใช้โหมดเปิดได้
- อินพุต
- เอาท์พุต
- อินพุต - เอาท์พุต
- ขยายออก
7) การเชื่อมโยงแบบคงที่และแบบไดนามิกคืออะไร?
ในการเชื่อมโยงแบบสแตติก เรียกว่าลิงก์รูทีนย่อยไปยังโปรแกรมที่เรียกใช้ ในขณะที่ลิงก์แบบไดนามิก รูทีนย่อยและโปรแกรมหลักจะอยู่เป็นโมดูลแยกกัน การเชื่อมโยงแบบไดนามิกและแบบคงที่สามารถทำได้โดยการเลือกตัวเลือกแก้ไขลิงก์ DYNAM หรือ NODYNAM
8) คำสั่ง EVALUATE มีประโยชน์อย่างไร?
การประเมินก็เหมือนกับคำสั่ง case หรือสามารถใช้ได้เหมือนกับ Nested IF ความแตกต่างระหว่าง EVALUATE และ case คือ 'break' จะไม่ถูกใช้ในคำสั่ง Evaluate และตัวควบคุมจะออกจาก EVALUATE เมื่อพบรายการที่ตรงกัน
9) อะไรคือความแตกต่างระหว่าง PERFORM … WITH TEST AFTER และ PERFORM … WITH TEST BEFORE?
หากมีการระบุ TEST BEFORE เงื่อนไขจะถูกทดสอบที่จุดเริ่มต้นของการดำเนินการซ้ำแต่ละครั้งของช่วง PERFORM ที่ระบุ
หากมีการระบุ TEST AFTER เงื่อนไขจะถูกทดสอบเมื่อสิ้นสุดการดำเนินการซ้ำแต่ละครั้งของช่วง PERFORM ช่วงถูกดำเนินการอย่างน้อยหนึ่งครั้งใน TEST AFTER
10) จุดประสงค์ของตัวเลือก REPLACING ของคำสั่งคัดลอกคืออะไร?
REPLACING อนุญาตให้ใช้สำเนาเดียวกันมากกว่าหนึ่งครั้งในโค้ดเดียวกันโดยการเปลี่ยนค่าแทนที่
COPY <Name> REPLACING BY
11) ข้อผิดพลาดประเภทใดที่ติดอยู่กับตัวเลือก ON SIZE ERROR
ตัวเลือก ON SIZE ERROR จะปรากฏขึ้นเมื่อมี
- ล้นจุดคงที่
- ศูนย์ยกกำลังเป็นศูนย์
- หารด้วย 0
- ศูนย์ยกให้เป็นจำนวนลบ
- จำนวนลบยกกำลังเศษส่วน
12) อะไรคือความแตกต่างระหว่างการเขียนโปรแกรม COBOL แบบมีโครงสร้างและการเขียนโปรแกรม COBOL เชิงวัตถุ?
การเขียนโปรแกรมแบบมีโครงสร้างเป็นวิธีการเขียนโปรแกรมเชิงตรรกะโดยแบ่งฟังก์ชันการทำงานออกเป็นโมดูลและช่วยเขียนโค้ดอย่างมีเหตุผล
ภาษาโคบอลเชิงวัตถุเป็นวิธีการเขียนโปรแกรมแบบธรรมชาติซึ่งคุณระบุอ็อบเจ็กต์ จากนั้นจึงเขียนฟังก์ชันและขั้นตอนรอบๆ อ็อบเจ็กต์นั้น
13) ส่วนการจัดเก็บในตัวเครื่องคืออะไร?
Local-Storage จะถูกจัดสรรทุกครั้งที่มีการเรียกใช้โปรแกรม และจะถูกยกเลิกการจัดสรรเมื่อโปรแกรมหยุดผ่าน EXIT PROGRAM, GOBACK หรือ STOP RUN มีการกำหนดไว้ในส่วนข้อมูลหลังจากส่วนการทำงานและการจัดเก็บ
14) ขั้นตอนอินพุตและขั้นตอนเอาต์พุตคืออะไร
ในขั้นตอนการป้อนข้อมูล ไฟล์อินพุตจะถูกเปิด อ่านและแก้ไขระเบียน จากนั้นจึงปล่อยเข้าสู่การดำเนินการเรียงลำดับ ในที่สุดไฟล์จะถูกปิด
[ธรรมดา] ปล่อยชื่อบันทึกจากอินพุตบันทึก [/ ธรรมดา]
ใน OUTPUT PROCEDURE ไฟล์เอาต์พุตจะถูกเปิด บันทึกที่เรียงลำดับแล้วจะถูกส่งกลับไปยังบันทึก Output จากนั้นบันทึกจะถูกเขียน ในที่สุดไฟล์ก็จะถูกปิด
[ธรรมดา]ส่งคืนไฟล์บันทึกลงในเอาต์พุตบันทึก[/ธรรมดา]
15) LINKAGE SECTION มีประโยชน์อย่างไร?
ส่วนการเชื่อมโยงใช้เพื่อส่งข้อมูลจากโปรแกรมหนึ่งไปยังอีกโปรแกรมหนึ่งหรือเพื่อส่งข้อมูลจากขั้นตอนไปยังโปรแกรม มันเป็นส่วนหนึ่งของโปรแกรมที่ถูกเรียกซึ่งแมปกับรายการข้อมูลในที่เก็บข้อมูลการทำงานของโปรแกรมที่เรียก
16) โหมดการเข้าถึงของคำสั่ง START คืออะไร?
โหมดการเข้าถึงเป็นแบบ SEQUENTIAL หรือ DYNAMIC สำหรับคำสั่งเริ่มต้น
17) PERFORM แบบอินไลน์คืออะไร?
คำสั่ง IN-LINE PERFORM อนุญาตให้รูทีนที่กำลังดำเนินการถูกซ้อนอยู่ภายในคำสั่งดำเนินการเอง แทนที่จะเป็นย่อหน้าแยกกัน
คำสั่ง PERFORM และ END-PERFORM ใช้เพื่อบล็อกคำสั่ง cobol ที่อยู่ระหว่างกัน ในบรรทัด PERFORM ทำงานตราบใดที่ไม่มี GO TO ภายใน แม้แต่ทางออก
18) หมวดและย่อหน้าใดที่จำเป็นสำหรับโปรแกรมภาษาโคบอล?
แผนกการระบุตัวตนและรหัสโปรแกรมจำเป็นสำหรับโปรแกรมภาษาโคบอล
19) อะไรคือความแตกต่างระหว่างตัวแปรส่วนกลางและตัวแปรภายนอก?
ตัวแปรโกลบอลสามารถเข้าถึงได้เฉพาะในแบตช์โปรแกรมเท่านั้น ในขณะที่ตัวแปรภายนอกสามารถอ้างอิงได้จากโปรแกรมแบตช์ใดๆ ที่อยู่ในไลบรารีระบบเดียวกัน
20) Pic 9v99 บ่งบอกอะไร?
Pic 9v99 เป็นฟิลด์ตัวเลขสามตำแหน่งที่มีจุดทศนิยมโดยนัยหรือสันนิษฐานหลังตำแหน่งแรก
ในที่นี้ v หมายถึงจุดทศนิยมโดยนัย
คำถามและคำตอบสัมภาษณ์ภาษาโคบอลสำหรับผู้มีประสบการณ์
21) ควรปฏิบัติตามแนวทางใดในการเขียนโปรแกรมภาษาโคบอลที่มีโครงสร้าง?
แนวทางต่อไปนี้ที่ต้องปฏิบัติตามเมื่อเขียนโปรแกรม Cobol:
- ใช้คำสั่ง 'EVALUATE' สำหรับการสร้างเคส
- ใช้ตัวยุติขอบเขตสำหรับการซ้อน
- ใช้คำสั่งดำเนินการในบรรทัดสำหรับการเขียนโครงสร้าง 'ทำ'
- ใช้ Test Before และ Test After ในคำสั่ง Perform ขณะเขียนคำสั่ง Do-While
22) เราจะรับวันที่ปัจจุบันจากระบบที่มีศตวรรษได้อย่างไร?
วันที่ปัจจุบันซึ่งมีศตวรรษสามารถทำได้โดยใช้ฟังก์ชันภายในที่เรียกว่า FUNCTION CURRENT-DATE
23) โปรแกรม COBOL มีแผนกอะไรบ้าง?
โปรแกรมโคบอลมีสี่แผนก:
- แผนกการระบุตัวตน
- กองสิ่งแวดล้อม
- ฝ่ายข้อมูล
- แผนกขั้นตอน
24) SSRANGE และ NOSSRANGE คืออะไร?
เหล่านี้คือตัวเลือกสำหรับคอมไพลเลอร์ในการค้นหาตัวห้อยที่อยู่นอกช่วง NOSSRANGE เป็นตัวเลือกเริ่มต้นที่จะไม่มีข้อผิดพลาดรันไทม์ใดๆ หากดัชนีหรือตัวห้อยอยู่นอกช่วง
25) COMP-1 คืออะไร? คอมพ์-2?
COMP-1 เป็นระบบเลขทศนิยมลอยตัวแบบ Single Precision และใช้ไบต์ 2 ไบต์ ส่วน COMPXNUMX เป็นระบบเลขทศนิยมลอยตัวแบบ Double Precision และใช้ไบต์ XNUMX ไบต์
26) PIC 9.99 และ PIC9v99 แตกต่างกันอย่างไร?
PIC 9.99 เป็นช่องตัวเลขสี่ตำแหน่งที่จริงๆ แล้วมีจุดทศนิยม โดยที่ PIC 9v99 เป็นช่องตัวเลขสามตำแหน่งที่ถือว่าตำแหน่งทศนิยม
27) จุดประสงค์ของตัวชี้ในสตริงคืออะไร?
วัตถุประสงค์ของพอยน์เตอร์คือเพื่อระบุตำแหน่งซ้ายสุดภายในช่องรับที่จะจัดเก็บอักขระที่ถ่ายโอนตัวแรก
28) การค้นหาแบบไบนารี่คืออะไร?
ก่อนอื่น เราต้องเปรียบเทียบรายการที่จะค้นหากับรายการที่อยู่ตรงกลาง
หากตรงกัน ก็ควรใช้ค่า ไม่เช่นนั้นให้ทำซ้ำครึ่งซ้ายหรือครึ่งขวา ขึ้นอยู่กับว่ารายการนั้นอยู่ที่ไหน
29) อะไรคือความแตกต่างระหว่างการค้นหาแบบไบนารีและการค้นหาตามลำดับ?
ในการค้นหาแบบไบนารี ค่าคีย์องค์ประกอบตารางจะเรียงลำดับจากน้อยไปหามากหรือจากมากไปหาน้อย ตารางจะ 'แบ่งครึ่ง' (แบ่งออกเป็นสอง) เพื่อค้นหาเงื่อนไขที่เท่ากับ มากกว่า หรือน้อยกว่า จนกว่าจะพบองค์ประกอบ
ในการค้นหาตามลำดับ ตารางจะถูกค้นหาจากบนลงล่าง ดังนั้นองค์ประกอบจึงไม่จำเป็นต้องอยู่ในลำดับเฉพาะ
การค้นหาแบบไบนารี่จะเร็วกว่ามากสำหรับตารางจำนวนมาก ในขณะที่การค้นหาแบบลำดับจะทำงานได้ดีกับตารางที่มีน้อยกว่า SEARCH ALL ใช้สำหรับการค้นหาแบบไบนารี ค้นหาสำหรับการค้นหาตามลำดับ
30) การค้นหาสามารถทำได้บนโต๊ะที่มีหรือไม่มีดัชนีหรือไม่?
ไม่ ตารางจะต้องได้รับการจัดทำดัชนีเพื่อค้นหาในตาราง
31) กฎเกณฑ์ที่แตกต่างกันในการค้นหามีอะไรบ้าง?
SEARCH สามารถนำไปใช้กับตารางได้
- ซึ่งมี OCCURS clause
- จัดทำดัชนีตามวลี
- ดัชนีการค้นหาต้องมีค่าเริ่มต้นบางส่วน
- ตั้งค่าดัชนีเป็น 1
32) ข้อใดเป็นค่าเริ่มต้น TEST BEFORE หรือ TEST AFTER สำหรับคำสั่ง PERFORM
TEST BEFORE เป็นคำสั่งเริ่มต้นและมีการตรวจสอบเงื่อนไขก่อนที่จะดำเนินการตามคำแนะนำภายใต้ดำเนินการ
33) กฎการดำเนินการ SORT มีอะไรบ้าง
SORT สามารถดำเนินการได้เมื่อ
- ไฟล์อินพุตและเอาต์พุตจะต้องปิดอยู่
- ไฟล์การทำงานต้องมีส่วนคำสั่งที่เลือก
- ไฟล์อินพุตและเอาต์พุตมีรายการ FD
- ไฟล์งานควรมีคำอธิบายสั้นๆ ใน File Section
34) ตารางมีสองดัชนีที่กำหนดไว้ SEARCH จะใช้อันไหน?
ดัชนีที่ตั้งชื่อเป็นอันดับแรกสามารถใช้ได้โดยการค้นหา
35) เมื่อใดที่จำเป็นต้องมีตัวยุติขอบเขต?
ตัวยุติขอบเขตจำเป็นสำหรับคำสั่ง PERFORMS และ EVALUATE ในบรรทัด ทำให้ตัวยุติขอบเขตมีความชัดเจนสำหรับมาตรฐานการเข้ารหัสที่ดี
36) เหตุใดจึงต้องเปิดไฟล์ในโหมด IO เพื่อ REWRITE
ก่อนที่จะดำเนินการ REWRITE บันทึกจะต้องเปิดและอ่านจากไฟล์ ดังนั้นจะต้องเปิดไฟล์ในโหมด IO เพื่อให้ฟังก์ชันการเขียนใหม่
37) เราจะรู้ได้อย่างไรว่าโมดูลนั้นสามารถถูกเรียกได้ ไม่ว่าจะเป็นแบบ DYNAMICALLY หรือ STATICALLY?
วิธีเดียวคือการดูเอาต์พุตของตัวแก้ไขการเชื่อมโยงหรือโหลดโมดูล
หากโมดูลถูกเรียกแบบ DYNAMICALLY โมดูลนั้นจะไม่มีอยู่ในโมดูลหลัก หากถูกเรียกแบบ STATICALLY โมดูลนั้นจะอยู่ในโมดูลโหลด
38) กริยาค้นหาใดที่เทียบเท่ากับ PERFORM…VARYING?
กริยา SEARCH แบบอนุกรมเทียบเท่ากับ Perform.. คำสั่งที่แปรผันและไม่มีอะไรนอกจากการค้นหาโดยไม่มี ALL
39) แผนกข้อมูลมีกี่ส่วน?
แผนกข้อมูลมีหกส่วน:
- ส่วนไฟล์
- ส่วนจัดเก็บการทำงาน
- ส่วนการจัดเก็บในพื้นที่
- ส่วนหน้าจอ
- ส่วนรายงาน
- ส่วนการเชื่อมโยง
40) การใช้ comp และ comp-3 แตกต่างกันอย่างไร?
Comp มีไว้สำหรับการใช้งานไบนารี ในขณะที่ comp-3 ระบุเป็นทศนิยมแบบแพ็ค
41) ออกทำอะไร?
หากใช้ EXIT จะเป็นเพียงประโยคภายในย่อหน้าเท่านั้น
42) ให้ตัวอย่างของตัวยุติคำสั่ง?
End IF และ End Evaluate เป็นตัวอย่างของตัวยุติคำสั่ง
43) อะไรคือความแตกต่างระหว่างการโทรและลิงก์?
การโทรเป็นคำสั่ง COBOL จริงซึ่งกระตุ้นโปรแกรมภายนอกและส่งคืน ลิงก์เหมือนกับการโทร แต่ไม่ได้อยู่ในกริยาภาษาโคบอล
44) โหมดใดที่ใช้ในการทำงานของไฟล์ลำดับ
โหมด OI (โหมดเอาต์พุต/อินพุต) ใช้สำหรับการเริ่มต้นและการเริ่มต้นการประมวลผลไฟล์ การประมวลผลไฟล์ถูกกำหนดโดยการดำเนินการคำสั่ง OPEN สำเร็จ
45) ฟิลด์ S(8) comp มีขนาดกี่ไบต์และมีค่าสูงสุด?
S(8) สามารถเก็บได้ 4 ไบต์ และค่าสูงสุดคือ 99999999
46) สามารถกำหนดอาร์เรย์ในภาษาโคบอลได้อย่างไร?
อาร์เรย์สามารถกำหนดเป็น –
05 Array1 PIC X(9)
ซึ่งเกิดขึ้น 10 ครั้ง
05 Array2 PIC X(9)
ซึ่งเกิดขึ้น 20 ครั้ง
47) ตัวอักษรคืออะไร?
ตัวอักษรคือรายการข้อมูลที่ประกอบด้วยค่าในตัวมันเอง ไม่สามารถอ้างอิงด้วยชื่อได้ เป็นรายการข้อมูลคงที่ ตัวอักษรมีสองประเภท:
- สตริง / ตัวอักษรและตัวเลข
- ตัวอักษรตัวเลข
48) รายการรายงานคืออะไร?
รายการรายงานคือฟิลด์ที่จะพิมพ์ซึ่งมีแก้ไขสัญลักษณ์
49) เราสามารถกำหนดฟิลด์ของ X(200) ให้น้อยกว่า 200 ได้หรือไม่?
ใช่ เราสามารถกำหนดค่าใหม่จากจำนวนที่มากขึ้นไปเป็นจำนวนที่น้อยลงได้
50) โคบอลมีความยาวเท่าไร?
ความยาวเป็นเหมือนการลงทะเบียนพิเศษเพื่อให้มีความยาวของกลุ่มหรือรายการเบื้องต้น
คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)