大型机面试问题

2025年03月17日 | 阅读 9 分钟
Mainframe Interview Questions

如今,所有业务、交易、通信都是实时进行的。因此,为了执行所有这些任务,机构需要一台强大的服务器端计算机,能够在几秒钟内处理指令并提供输出。根据用途,我们可以将计算机分为四类,即超级计算机、大型机、小型机和微型计算机。大型机是仅次于超级计算机的第二快的计算机,用于执行复杂而冗长的计算。它比小型机和微型计算机更强大。但它不如超级计算机强大。大型机用于大型组织。

以下是一些最常问的大型机面试问题及其答案

1) 什么是大型机?

大型机是许多处理器和内存(RAM)的组合。它充当许多与其连接的工作站和终端的 CPU。大型机用于执行 PB 级别的大量数据操作。它可以允许数千用户进行处理。“大型机”这个名称代表了一个容纳多个处理器和主内存的框架。大型机在电子商务中发挥着重要作用,成千上万的人连接到服务器以实时处理他们的请求。同样,在银行、政府、教育系统中,大型机也发挥着宝贵的作用。

Mainframe Interview Questions

2) 什么是 DRDA?

DRDA(分布式关系数据库架构)是一组协议或规则,允许用户访问分布式数据,无论数据物理存储在何处。

  • 它是由 IBM 开发的一种架构。
  • 它支持在多个平台之间分发关系数据。
  • 在 DRDA 中,相同和不同平台都可以相互通信。例如,DB2 子系统可以与 DB2 和 RDBMS 通信。
  • 它提供了一个开放、健壮的异构分布式数据库环境。
  • DRDA 提供了协调分布式位置之间通信的技术。

3) 描述 DRDA 的好处?

DRDA 的主要好处如下。

  • DRDA 是唯一支持分布式 RDBMS 的协议。
  • DRDA 提供的一个重要好处是其明确规定了支持分布式数据访问的规则集。
  • 它如今已可用,并且许多供应商都在逐步采用 DRDA。

4) 什么是 IMS?

术语 IMS 代表信息管理系统。它是一个用于大型机的数据库和事务管理系统。IBM 于1968年推出了它。此后,它经历了多次升级,并适应了一些新的编程工具和环境。IMS 是 IBM 在大型机操作系统上运行的两个主要传统数据库和事务管理子系统之一,另一个是 CICS。


5) 说出 IBM 已在市场上推出的大型机版本?

回顾一下 IBM 大型机的历史(1952 年至今)

市场名称

  • 700/7000 系列
  • System/360
  • System/370
  • IBM 308X
  • IBM 3090
  • System/390
  • zSeries 900、800、990 和 890
  • System z9
  • System z10
  • zEnterprise System (z196, zEC12, z13, z14)

架构

  • System/360
  • System/370
  • S/370-XA
  • ESA/370
  • ESA/390
  • z/Architecture

6) IMS 中辅助索引的需求是什么?

辅助索引是访问任何 IMS 数据库的替代路径。它可以用作获取所需数据的文件。辅助索引还用于以段键定义的顺序以外的顺序处理段类型。辅助索引还可以根据依赖段中的要求操作段类型。

辅助索引提供了满足各种应用程序不同处理要求的机会。


7) 什么是 CICS?

术语 CICS 代表客户信息控制系统。CICS 由 IBM 于 1968 年推出。CICS 提供了一个 MVS 环境来开发和执行在线应用程序。如今,CICS 已成为 Internet 应用程序最常用的服务器。CICS 是一种事务处理系统,也称为 OLTP(联机事务处理软件)。CICS 是一种数据通信系统,支持拥有数百个终端的网络。


8) 什么是 CICS 事务?

CICS 事务在 CICS 区域中执行多项操作,例如定义 CICS 表条目、更新记录等。

IBM 提供的一些重要的 CICS 事务如下。

  • CESN (CICS 执行登录)
  • CEDA (CICS 执行定义和管理)
  • CEMT (CICS 执行主终端)
  • CECI (CICS 执行命令解释器)
  • CEDF (CICS 执行调试工具)
  • CMAC (CICS 异常终止代码消息)
  • CESF (CICS 执行注销)
  • CEBR (CICS 执行临时存储浏览)

9) 定义 CICS 接口块?

任何应用程序都需要一个接口才能与 CICS 交互。EIB(执行接口块)是应用程序的接口,允许与 CICS 通信。EIB 保存程序执行所需的中间信息。


10) 解释 EIB?

EIB 代表执行接口块。它是一个控制块,CICS 会自动为每个程序加载。

  • EIB 对于一项任务是唯一的,并且在任务持续期间存在。它保存了一组与任务相关的系统相关信息。
  • 它保存了事务标识符、时间、日期等信息,这些标识符在应用程序执行期间由 CICS 使用。
  • 作为任务一部分执行的每个程序都可以访问相同的 EIB。
  • EIB 中的运行时数据可以通过在 CEDF 模式下执行程序来查看。

11) 什么是 COBOL 编码表?

COBOL 是在批处理时代引入的。因此,COBOL 程序需要打孔在卡片上并加载到打孔卡阅读器中。对于这个过程,编码区域有一个预定义的结构,COBOL 单词会在其中打孔。这种编码结构被称为 COBOL 编码表。

换句话说,COBOL 程序的源代码必须以编译器支持的格式编写。这些程序在编码表中编写。

编码表每张包含 80 个字符位置。


12) COPYBOOK 在 COBOL 中的作用是什么?我们能利用类似的 COPYBOOK 吗?

COPYBOOK 保存任何记录的格式并在任何程序中使用类似的布局。它是定义数据结构的代码选择。

如果某个数据结构在许多程序中重复使用,那么我们将避免重写相同的数据结构并使用复制本。我们将使用 COPY 语句在程序中包含复制本。COPY 语句在工作存储区中使用。

因此,我们可以利用类似的 COPYBOOK。


13) 描述 COBOL 数据库组件?

COBOL 程序需要以下组件才能与数据库 DB2 交互。

  • 嵌入式 SQL
  • DB2 应用程序编程
  • 宿主变量
  • SQLCA
  • SQL 查询
  • 游标

14) DB2 编程的规则是什么?

COBOL-DB2 程序所需的规则如下。

  • 所有 SQL 语句必须用 EXEC SQL 和 ENDEXEC 分隔。
  • SQL 语句必须写在区域 B 中。
  • 程序中使用的所有表都必须在 WorkingStorage 部分声明。这通过使用 INCLUDE 语句完成。
  • 除 INCLUDE 和 DECLARE TABLE 之外的所有 SQL 语句都必须属于过程部分。

15) 解释宿主变量?

宿主变量是在 COBOL 程序中定义的数据实体。它们用于将值转发到数据库并从数据库接收值。它可以在 COBOL 程序的 File Section、Working-Storage Section 和 Local-Storage Section 或 Linkage Section 下确定。它可以有任何级别号,最高可达 48。级别 49 保留给 VARCHAR 数据项。

当宿主变量名在嵌入式 SQL 语句中使用时,数据项名应以冒号 (:) 开头。它使编译器能够区分宿主变量与同名表或列。

宿主变量可以通过以下两种方式之一使用。

输入宿主变量

输入宿主变量用于指定将从 COBOL 程序传输到数据库的数据。

输出宿主变量

输出宿主变量用于保存从数据库返回到 COBOL 程序的数据。


16) 如何声明宿主变量?

以下语法用于在工作存储区中声明宿主变量并包含表


17) 我们可以将字母数字值移动到数值字段吗?

是的,我们可以将字母数字值移动到数值字段,并且不会出现任何问题。这可以通过 MOVE 语句完成。但有时程序可能会崩溃,如果该字段用于算术计算。


18) 定义 DB2 及其数据库?

DB2 是数据管理产品的一部分,包括由 IBM 开发的数据库服务器。DB2 支持关系模型。如今,一些产品已扩展其功能以支持对象关系特性和非关系结构,如 JSON 和 XML。

Mainframe Interview Questions

DB2 数据库是不同类型数据的集合,如表、模式、缓冲池、日志、存储组和表空间。这些数据实体协同工作,以高效处理数据库操作。


19) 在执行 COBOL 程序的 JCL 中如何定义文件类型?

SORTWK01、SORTWK02、SORTWK03 ... dd 在步骤中使用名称。排序数据的数量取决于排序数据的大小,但至少需要三个。


20) Evaluate 语句有哪些用途?探索 Evaluate 语句的语法?

Evaluate 语句的一些一般用途如下。

  • Evaluate 在程序执行期间支持多重选择控制。
  • Evaluate 在一个槽中验证多个条件。
  • COBOL 中的 Evaluate 语句类似于其他语言中的 Case 或 Switch 语句。
  • Evaluate 是一种评估,它是一种 case 语句,可以用来替换本地 IFS。

语法


21) 有多少种 Evaluate 语句可用?

根据用途,我们可以将 Evaluate 语句分为以下类型。

  • 简单 EVALUATE
  • EVALUATE TRUE
  • 带 THRU 的 EVALAUTE
  • 带多个 WHEN 条件的 EVALUATE
  • 带多个条件的 EVALUATE

22) 大型机中的 JCL 是什么,一个作业有多少种 JCL 语句?

JCL 代表作业控制语言。JCL 是一种在 IBM 大型机操作系统上使用的脚本语言,用于指示系统执行批处理作业。它是一组语句,您通过编码告诉操作系统您要执行的任务。有时这组语句相当大,但大多数作业可以使用一个非常小的子集运行。

JCL 语句通知操作系统在哪里找到所需的输入、如何处理该输入以及如何处理生成的输出。

所有作业有三种主要的 JCL 语句

  • 第一种语句是用于标识操作系统要执行的工作单元的语句。
  • 第二种语句是 EXEC 语句,取决于作业中作业步骤的数量。
  • 第三种语句是 DD 语句,用于标识输入和输出数据集。

23) 如何在 JCL 中访问未编目的数据集?

这可以通过在数据集 DD 语句中使用 UNIT 和 VOL 序列参数来完成


24) JOB 语句何时使用?

JOB 语句向操作系统 (OS) 提供作业标识,在假脱机和调度程序中。它是 JCL 中的第一个控制语句。JOB 语句中可用的参数帮助操作系统分配正确的调度程序。它对于分析所需的 CPU 时间和向用户发出通知也很有用。

语法

JCL JOB 语句的基本语法如下。


25) 什么是大型机测试?将大型机手动测试分类?

大型机测试是对大型机系统的测试。大型机测试类似于基于 Web 的测试。大型机应用程序根据使用需求开发的测试用例进行测试。

大型机测试通常使用各种数据组合集对已部署的代码执行。

在执行大型机测试时,测试人员只需要 CICS 屏幕的导航。

如果对 COBOL、JCL 等程序中的代码进行了任何更改,则测试人员不需要在机器上设置模拟器。更改可以通过一个终端模拟器应用,它也会作用于其他终端。

大型机手动测试可分为两类。

批处理作业测试

在批处理测试中,测试过程包括执行批处理作业以实现当前版本中实现的功能。

在线测试

在线测试是指 CICS 屏幕的测试,类似于网页测试。