คำถามสัมภาษณ์ภาษาโคบอล 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) โคบอลมีความยาวเท่าไร?

ความยาวเป็นเหมือนการลงทะเบียนพิเศษเพื่อให้มีความยาวของกลุ่มหรือรายการเบื้องต้น

คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)