親愛的讀者,這些特別設(shè)計(jì)的COBOL面試問題是為了讓你了解在面試過程中可能遇到的關(guān)于COBOL編程語言的問題。根據(jù)我的經(jīng)驗(yàn),好的面試官在面試時(shí)幾乎不打算提出任何特別的問題。通常,問題一些基本概念開始,而后他們繼續(xù)提問基于進(jìn)一步的討論和你回答:
你對(duì)COBOL有什么了解?
COBOL代表Common Business-Oriented Language。美國國防部在一次會(huì)議上組建了CODASYL(數(shù)據(jù)系統(tǒng)語言會(huì)議),開發(fā)了一種滿足業(yè)務(wù)數(shù)據(jù)處理需求的語言,現(xiàn)在稱為COBOL。
列出一些COBOL的特點(diǎn)。
COBOL是可以在各種機(jī)器上編譯和執(zhí)行的標(biāo)準(zhǔn)語言。它非常適合用于面向商業(yè)的應(yīng)用程序,因?yàn)樗梢蕴幚泶罅康臄?shù)據(jù)。它提供了大量的調(diào)試和測試工具。COBOL是一種結(jié)構(gòu)化語言;它具有不同的部,因此易于調(diào)試。
COBOL程序中部的名稱。
標(biāo)識(shí)部,環(huán)境部,數(shù)據(jù)部和過程部。
COBOL中提供了哪些不同的數(shù)據(jù)類型?
字母數(shù)字(X),字母(A)和數(shù)字(9)。
什么是“IS NUMERIC”子句?
IS NUMERIC子句用于檢查任意項(xiàng)是否為數(shù)字。當(dāng)使用它的項(xiàng)目只包含數(shù)字(0到9)時(shí),它返回TRUE。該項(xiàng)目可以為正或負(fù)。
66級(jí)和88級(jí)是用來做什么的?
66級(jí)用于RENAMES子句,88級(jí)用于條件名稱。
下標(biāo)和索引有什么區(qū)別?
下標(biāo)是數(shù)組中的事件。索引是從數(shù)組開始的位移。
SEARCH和SEARCH ALL之間有什么區(qū)別?
SEARCH是一個(gè)串行搜索,而SEARCH ALL是一個(gè)二進(jìn)制搜索。在使用SEARCH ALL之前,表必須按順序排序。
執(zhí)行SECTION和PARAGRAPH有什么區(qū)別?
執(zhí)行SECTION將導(dǎo)致作為節(jié)的一部分的所有段落被執(zhí)行。執(zhí)行PARAGRAPH將只會(huì)執(zhí)行特定段落。
什么是作用域終結(jié)符?
作用域終結(jié)符用于標(biāo)記動(dòng)詞的結(jié)尾。示例:IF和END-IF。
COBOL中的文件打開方式是什么?
COBOL中的文件打開模式包括:INPUT,OUTPUT,I-O和EXTEND。
我們可以在COBOL中定義的數(shù)字字段的最大大小是多少?
數(shù)字字段的最大大小為PIC 9(18)。
CONTINUE和NEXT SENTENCE有什么區(qū)別?
CONTINUE將控件轉(zhuǎn)移到作用域終結(jié)符后的下一個(gè)語句。NEXT SENTENCE在遇到第一個(gè)句號(hào)后將控件轉(zhuǎn)移到語句。
為什么我們不能在01級(jí)定義occurs子句?
01是記錄級(jí)。我們重復(fù)記錄中的字段,而不是記錄本身。所以O(shè)ccurs子句不能在01級(jí)使用。
你將以什么模式打開文件以進(jìn)行寫入?
要寫入文件,必須在OUTPUT或EXTEND模式下打開文件。
通過內(nèi)容調(diào)用和通過引用調(diào)用之間有什么區(qū)別?
通過內(nèi)容調(diào)用傳遞的參數(shù)受被調(diào)用程序的修改保護(hù)。通過引用調(diào)用的參數(shù)可以由被調(diào)用程序修改。
什么是連接節(jié)?
連接節(jié)是被調(diào)用程序的一部分,它“鏈接”或映射到調(diào)用程序的工作存儲(chǔ)中的數(shù)據(jù)項(xiàng)。
如果你在獨(dú)立的COBOL程序中編碼GO BACK而不是STOP RUN會(huì)發(fā)生什么?
STOP RUN結(jié)束工作單元,并將控制權(quán)返回給操作系統(tǒng),而GO BACK則將控制權(quán)返回給調(diào)用程序。 所以如果我們編寫GO BACK而不是Stop Run,它將進(jìn)入無限循環(huán)。
如何將符號(hào)存儲(chǔ)在COMP-3字段中?
它存儲(chǔ)在最后一個(gè)半字節(jié)中。
comp和comp-3之間有什么區(qū)別?
Comp是二進(jìn)制使用,而comp-3表示壓縮十進(jìn)制。
標(biāo)識(shí)部的目的是什么?
標(biāo)識(shí)部用于文件目的。
靜態(tài)調(diào)用和動(dòng)態(tài)調(diào)用有什么區(qū)別?
在靜態(tài)調(diào)用中,被調(diào)用的程序是一個(gè)獨(dú)立的程序,是一個(gè)可執(zhí)行程序。在運(yùn)行時(shí),我們可以在被調(diào)用程序中調(diào)用它。至于動(dòng)態(tài)調(diào)用,被調(diào)用程序不是可執(zhí)行程序,它只能通過被調(diào)用的程序執(zhí)行。
什么是重定義子句?
重定義子句用于允許由不同的數(shù)據(jù)名稱引用相同的存儲(chǔ)分配。
STRING命令中指針短語的用途是什么?
指針短語的目的是指定接收字段中將存儲(chǔ)第一個(gè)轉(zhuǎn)移字符的最左邊位置。
77級(jí)用于什么?
它是一個(gè)基本的級(jí)項(xiàng)目,不能細(xì)分。
什么是二進(jìn)制搜索?
將要搜索的項(xiàng)目與在中心的項(xiàng)目進(jìn)行比較。如果它匹配則好,否則根據(jù)項(xiàng)目所在的位置重復(fù)該過程左半部分或右半部分。
什么是EVALUATE語句的使用?
evaluate就像一個(gè)case語句,可以用來替換嵌套的ifs。因此一旦找到匹配,控件就會(huì)出現(xiàn),不需要中斷。
我可以重新定義一個(gè)帶有X(20)字段的X(10)字段嗎?
是,因?yàn)橹囟x會(huì)導(dǎo)致兩個(gè)字段在同一位置開始。
什么是COMP-1和COMP-2?
COMP-1是使用4字節(jié)的單精度浮點(diǎn)數(shù)。COMP-2是使用8字節(jié)的雙精度浮點(diǎn)數(shù)。
Accept動(dòng)詞功能是什么?
accept動(dòng)詞用于從操作系統(tǒng)或直接從用戶獲取數(shù)據(jù),如日期,時(shí)間和天等。如果程序正在接受來自用戶的數(shù)據(jù),則需要通過JCL傳遞。
什么是Compute語句?
Compute語句用于在COBOL中寫入算術(shù)表達(dá)式。這是加,減,乘和除的替代。
如何定義子程序中引用的文件?
在JCL中提供DD卡,就像在主程序中引用的文件一樣。
COBOL中的哪些部,節(jié)和段是強(qiáng)制性的?
標(biāo)識(shí)部和程序名段在COBOL程序中是強(qiáng)制性的。
COBOL中的AREA B從哪里開始?
AREA B從12到72列開始。
FILE-CONTROL段出現(xiàn)在哪里?
它出現(xiàn)在環(huán)境部的輸入輸出節(jié)。
Perform With Test After和Perform With Test Before之間有什么區(qū)別?
如果指定了TEST BEFORE,則在每次重復(fù)執(zhí)行指定的PERFORM范圍開始時(shí)測試條件。如果指定了TEST AFTER,則在每次重復(fù)執(zhí)行PERFORM范圍結(jié)束時(shí)測試條件。在TEST AFTER下,范圍至少執(zhí)行一次。
什么是LOCAL-STORAGE SECTION?
本地存儲(chǔ)在每次調(diào)用程序時(shí)被分配,并且當(dāng)程序通過EXIT PROGRAM,GOBACK或STOP RUN停止時(shí)被釋放。它在工作存儲(chǔ)節(jié)后的數(shù)據(jù)部中定義。
START語句的訪問模式是什么?
啟動(dòng)語句的訪問模式為SEQUENTIAL(順序)或DYNAMIC(動(dòng)態(tài))。
PIC 9.99和PIC9v99之間有什么區(qū)別?
PIC 9.99是一個(gè)四位字段,實(shí)際包含一個(gè)小數(shù)點(diǎn),而PIC9v99是一個(gè)三位數(shù)字字段,帶有假定的小數(shù)位。
可以在帶有或不帶索引的表上進(jìn)行搜索嗎?
不,必須對(duì)表進(jìn)行索引才能在表上搜索。
為什么REWRITE需要文件在I-O模式下打開?
在執(zhí)行REWRITE之前,必須從文件中打開并讀取記錄。因此,必須在I-O模式下打開文件才能進(jìn)行重寫。
什么是文字?
文字是一個(gè)數(shù)據(jù)項(xiàng),由其本身的值組成。它不能用名稱引用。它們是常量數(shù)據(jù)項(xiàng)。
PIC 9.999的長度是多少?
PIC 9.999的長度為5,由于“.”需要1個(gè)字節(jié),所以1個(gè)字節(jié)為“.”,4個(gè)字節(jié)為9。
哪個(gè)cobol動(dòng)詞用于更新文件?
重寫動(dòng)詞用于更新記錄。文件應(yīng)在I-O模式下打開以進(jìn)行重寫操作。它只能在成功讀取操作之后使用。重寫動(dòng)詞覆蓋最后一條記錄。
如果將123值移動(dòng)到PP999 PIC子句,那么編輯的值是多少?
.00123編輯的值將被采用。P是假定的十進(jìn)制縮放位置,用于在點(diǎn)不在數(shù)據(jù)項(xiàng)中出現(xiàn)的數(shù)字內(nèi)時(shí)指定假定的小數(shù)點(diǎn)位置。 .PIC PP999表示數(shù)字?jǐn)?shù)據(jù)項(xiàng)為3個(gè)字符,小數(shù)點(diǎn)后有5位。
在哪里可以指定OCCURS子句?
在數(shù)組聲明中,我們可以在基本項(xiàng)以及組項(xiàng)上指定occurs子句。
S9(7)SIGN TRAILING SEPARATE字段占用多少字節(jié)?
9(7)將占用7字節(jié)和1字節(jié)的SIGN TRAILING SEPARATE,所以總共需要8個(gè)字節(jié)。
更多建議: