50 лучших вопросов на собеседовании по COBOL (2025 г.)
Вот вопросы и ответы на собеседовании по COBOL как для новичков, так и для опытных кандидатов, желающих получить работу своей мечты.
Вопросы и ответы на собеседовании по COBOL для первокурсников
1) Что такое КОБОЛ?
Кобол сокращенно Common Business Oriented Language и является одним из старейших языков программирования. В основном он используется для бизнеса, финансов и административных систем компаний.
2) Какие типы данных существуют в COBOL?
В Cobol есть три типа данных:
- Буквенно-цифровой (X)
- Алфавитный (А) и
- Числовой (9)
👉 Бесплатная загрузка PDF-файла: Вопросы и ответы для интервью на языке COBOL
3) В чем разница между индексом и индексом?
Нижний индекс относится к появлению массива, а индекс — это смещение от начала массива.
Индекс можно изменить только с помощью PERFORM, SEARCH & SET.
4) Чем отличается выполнение РАЗДЕЛА от АБАЗЦА?
SECTION будет содержать все абзацы, входящие в состав раздела, которые необходимо выполнить.
PARAGRAPH будет выполнять только этот абзац.
5) В чем разница между ПРОДОЛЖИТЬ и СЛЕДУЮЩИМ ПРЕДЛОЖЕНИЕМ?
CONTINUE подобен пустому оператору и продолжает выполнение, а NEXT SENTENCE передает управление следующему предложению.
6) Какие режимы ОТКРЫТИЯ доступны в Cobol?
Открытые режимы могут использоваться для
- вход
- Результат
- Ввод, вывод
- Продлить
7) Что такое статическое и динамическое связывание?
При статическом связывании, называемом подпрограммой, ссылки на вызывающую программу, тогда как при динамическом связывании подпрограмма и основная программа будут существовать как отдельные модули. Динамическое и статическое связывание можно выполнить, выбрав опцию редактирования ссылки DYNAM или NODYNAM.
8) Для чего используется оператор EVALUATE?
Evaluate аналогичен оператору case или может использоваться как вложенный IF. Разница между EVALUATE и case заключается в том, что в операторе Evaluate не используется «break», и управление выходит из EVALUATE после обнаружения совпадения.
9) В чем разница между ВЫПОЛНИТЬ… С ТЕСТОМ ПОСЛЕ и ВЫПОЛНИТЬ… С ТЕСТОМ ДО?
Если указано TEST BEFORE, условие проверяется в начале каждого повторного выполнения указанного диапазона PERFORM.
Если указано TEST AFTER, условие проверяется в конце каждого повторного выполнения диапазона PERFORM. Диапазон выполняется хотя бы один раз в TEST AFTER.
10) В чем смысл опции REPLACING оператора копирования?
ЗАМЕНА позволяет использовать одну и ту же копию более одного раза в одном и том же коде путем изменения значения замены.
COPY <Name> REPLACING BY
11) Какую ошибку фиксирует опция ON SIZE ERROR?
Опция ON SIZE ERROR активируется, когда есть
- переполнение фиксированной точки
- Ноль возведен в нулевую степень
- Деление на 0
- Ноль возведен в отрицательное число
- Отрицательное число, возведенное в дробную степень.
12) В чем разница между структурным программированием на COBOL и объектно-ориентированным программированием на COBOL?
Структурированное программирование — это логический способ программирования, при котором функциональные возможности разделены на модули и помогают логически писать код.
Объектно-ориентированный язык Cobol — это естественный способ программирования, при котором вы идентифицируете объекты, а затем пишете функции и процедуры вокруг этого объекта.
13) Что такое РАЗДЕЛ ЛОКАЛЬНОГО ХРАНЕНИЯ?
Локальное хранилище выделяется каждый раз при вызове программы и освобождается, когда программа останавливается с помощью EXIT PROGRAM, GOBACK или STOP RUN. Это определяется в РАЗДЕЛЕ ДАННЫХ после РАЗДЕЛА РАБОТЫ-ХРАНЕНИЯ.
14) Что такое ПРОЦЕДУРА ВВОДА и ПРОЦЕДУРА ВЫВОДА?
В ПРОЦЕДУРЕ ВВОДА входной файл открывается, записи читаются и редактируются, а затем передаются на операцию сортировки. Наконец файл будет закрыт.
[plain]RELEASE имя записи FROM inputrecord[/plain]
В ПРОЦЕДУРЕ ВЫХОДА выходной файл открывается, отсортированная запись возвращается в Выходную запись, а затем запись будет записана. Наконец файл будет закрыт.
[plain]ВОЗВРАТИТЬ ЗАПИСЬ файла в выходную запись[/plain]
15) Для чего нужна СЕКЦИЯ СВЯЗИ?
Раздел связи используется для передачи данных из одной программы в другую программу или для передачи данных из процедуры в программу. Это часть вызываемой программы, которая отображается на элементы данных в рабочей памяти вызывающей программы.
16) Каковы режимы доступа оператора START?
Режимы доступа для оператора запуска — ПОСЛЕДОВАТЕЛЬНЫЙ или ДИНАМИЧЕСКИЙ.
17) Что такое встроенный PERFORM?
Оператор IN-LINE PERFORM позволяет вкладывать выполняемую процедуру в сам оператор выполнения, а не представлять собой отдельный абзац.
Операторы PERFORM и END-PERFORM используются для блокировки операторов Cobol между ними. В строке PERFORM работают до тех пор, пока нет внутренних GO TO, даже до выхода.
18) Какие разделы и параграфы являются обязательными для программы COBOL?
Раздел идентификации и идентификатор программы являются обязательными для программы COBOL.
19) В чем разница между глобальными и внешними переменными?
Глобальные переменные доступны только пакетной программе, тогда как на внешние переменные можно ссылаться из любой пакетной программы, находящейся в той же системной библиотеке.
20) Что означает картинка 9v99?
Рисунок 9v99 представляет собой трехпозиционное числовое поле с подразумеваемой или предполагаемой десятичной точкой после первой позиции.
Здесь v означает подразумеваемую десятичную точку.
Вопросы и ответы на собеседовании по COBOL для опытных
21) Каких правил следует придерживаться при написании структурированной программы на языке COBOL?
Следующие рекомендации, которым следует следовать при написании программы на Cobol:
- Используйте оператор EVALUATE для построения случаев.
- Используйте терминаторы области видимости для вложенности.
- Используйте встроенный оператор Perform для написания конструкций do.
- Используйте Test Before и Test After в операторе Perform при написании операторов Do-While.
22) Как получить текущую дату из системы со столетием?
Текущая дата с указанием столетия достигается с помощью встроенной функции FUNCTION CURRENT-DATE.
23) Каковы все разделы программы COBOL?
В программе Cobol есть четыре раздела:
- ОТДЕЛ ИДЕНТИФИКАЦИИ
- ОТДЕЛ ЭКОЛОГИИ
- ОТДЕЛ ДАННЫХ
- ПРОЦЕДУРНОЕ ОТДЕЛЕНИЕ
24) Что такое SSRANGE и NOSSRANGE?
Это варианты, позволяющие компилятору обнаружить нижний индекс за пределами диапазона. NOSSRANGE — это опция по умолчанию, при которой не будет ошибок во время выполнения, если индекс или нижний индекс выходят за пределы диапазона.
25) Что такое КОМП-1? КОМП-2?
COMP-1 представляет собой число с плавающей запятой одинарной точности и использует четыре байта. COMP2 — это плавающее число двойной точности, использующее восемь байтов.
26) В чем разница между PIC 9.99 и PIC9v99?
PIC 9.99 представляет собой четырехпозиционное поле, которое фактически содержит десятичную точку, тогда как PIC 9v99 представляет собой трехпозиционное числовое поле с предполагаемой десятичной точкой.
27) Какова цель указателя в строке?
Цель указателя — указать крайнюю левую позицию в поле приема, где будет сохранен первый переданный символ.
28) Что такое бинарный поиск?
Во-первых, нам нужно сравнить элемент, который нужно найти, с элементом в центре.
Если оно совпадает, лучше использовать значение, иначе повторите процесс с левой или правой половиной, в зависимости от того, где находится элемент.
29) Чем бинарный поиск отличается от последовательного?
При двоичном поиске значения ключей элементов таблицы будут располагаться в возрастающей или убывающей последовательности. Таблица разделена пополам (разделена на две части) для поиска условий «равно», «больше» или «меньше», пока элемент не будет найден.
При последовательном поиске таблица просматривается сверху вниз, поэтому элементы не обязательно должны находиться в определенной последовательности.
Бинарный поиск выполняется намного быстрее для большего количества таблиц, тогда как последовательный поиск хорошо работает с меньшим количеством таблиц. SEARCH ALL используется для двоичного поиска; ПОИСК для последовательного поиска.
30) Можно ли выполнить поиск по таблице с индексом или без него?
Нет, таблица должна быть проиндексирована для поиска по ней.
31) Каковы различные правила выполнения поиска?
ПОИСК можно применить к таблице.
- В котором есть предложение OCCURS
- ИНДЕКСИРОВАНО ПО фразе
- Индекс поиска должен иметь какое-то начальное значение.
- Установите значение индекса на 1
32) Что используется по умолчанию: TEST BEFORE или TEST AFTER для оператора PERFORM?
TEST BEFORE — это оператор по умолчанию, и условие проверяется перед выполнением инструкций в разделе «Выполнить».
33) Каковы различные правила работы СОРТИРОВКИ?
СОРТИРОВКА может выполняться, когда
- Входные и выходные файлы должны оставаться закрытыми.
- Рабочий файл должен иметь предложение выбора
- Входные и выходные файлы имеют записи FD.
- Рабочий файл должен иметь краткое описание в разделе «Файл».
34) В таблице определены два индекса. Какой из них будет использоваться ПОИСКОМ?
Индекс, названный первым, может использоваться при поиске.
35) Когда терминатор области действия обязателен?
Ограничители области видимости являются обязательными для встроенных операторов PERFORMS и EVALUATE. Сделайте терминатор области видимости явным для обеспечения хороших стандартов кодирования.
36) Почему для ПЕРЕЗАПИСИ файл необходимо открывать в режиме ввода-вывода?
Прежде чем будет выполнена REWRITE, запись должна быть открыта и прочитана из файла. Поэтому файл необходимо открыть в режиме ввода-вывода для возможности перезаписи.
37) Как мы можем узнать, что модуль можно вызвать – ДИНАМИЧЕСКИ или СТАТИЧЕСКИ?
ЕДИНСТВЕННЫЙ способ — посмотреть выходные данные редактора связей или модуля загрузки.
Если модуль вызывается ДИНАМИЧЕСКИ, то он не будет существовать в основном модуле, если он вызывается СТАТИЧЕСКИ, то он будет существовать в загрузочном модуле.
38) Какой поисковый глагол эквивалентен PERFORM…VARYING?
Серийный глагол SEARCH эквивалентен оператору Perform.. Varying, и это не что иное, как поиск без ALL.
39) Сколько разделов в Отделе данных?
В Отделе данных шесть разделов:
- Раздел файла Раздел файла
- Секция рабочего хранения
- Раздел локального хранилища
- Раздел экрана
- Раздел отчета
- Раздел связей
40) В чем разница между использованием comp и comp-3?
Comp предназначен для двоичного использования, а comp-3 указывает на упакованное десятичное число.
41) Что делает Выход?
Если используется EXIT, это не будет больше, чем просто предложение в абзаце.
42) Приведите примеры терминаторов команд?
End IF и End Evaluate являются примерами терминаторов команд.
43) В чем разница между Звонком и Ссылкой?
Вызов — это настоящая команда COBOL, которая вызывает внешнюю программу и возвращает ее. Ссылка аналогична вызову, но не принадлежит глаголу COBOL.
44) Какой режим используется для работы с последовательным файлом?
Режим OI (режим вывода/ввода) используется для запуска и начала обработки файлов. Обработка файлов определяется успешным выполнением оператора OPEN.
45) Сколько байт занимает поле S(8) comp и его максимальное значение?
S(8) может хранить 4 байта, а максимальное значение — 99999999.
46) Как можно определить массивы в COBOL?
Массивы могут быть определены как –
05 Array1 PIC X(9)
что происходит 10 раз
05 Array2 PIC X(9)
что происходит 20 раз
47) Что такое литералы?
Литерал — это элемент данных, который сам по себе содержит значение. Его нельзя назвать по имени. Это постоянные элементы данных. Существует два типа литералов:
- Строковые/буквенно-цифровые литералы
- Числовые литералы
48) Что такое элемент отчета?
Элемент отчета — это поле для печати, содержащее символы редактирования.
49) Можем ли мы переопределить поле X(200) так, чтобы оно было меньше 200?
Да, мы можем переопределить значения от большего числа к меньшему.
50) Какова длина Кобола?
Длина похожа на специальный регистр, в котором хранится длина группы или элементарного элемента.
Эти вопросы для собеседования также помогут вам в устной речи.