Wprowadzenie do JCL Wywiad Pytania i odpowiedzi

JCL to skrót od Job Control Language. JCL obsługuje głównie wszystkie zadania związane z komputerami mainframe, jest w stanie zdefiniować jedno zadanie, kontrolować to samo w celu zapewnienia prawidłowego logicznego wykonania zdefiniowanych programów i pomóc w uzyskaniu pożądanego wyniku zgodnie z harmonogramem dla tego konkretnego zadania. JCL jest zwykle zaprojektowany w taki sposób, że może zawierać wiele kroków, a każdy krok zawiera logikę biznesową do wykonania lub określone zadanie, które należy wykonać. JCL zwykle łączy wszystkie zdefiniowane programy i pliki wejściowe lub wyjściowe w środowisku wsadowym zadania zaplecza.

Teraz, jeśli szukasz pracy związanej z JCL, musisz przygotować się na pytania dotyczące wywiadu JCL 2019. Prawdą jest, że każda rozmowa kwalifikacyjna jest inna w zależności od profilu pracy. Tutaj przygotowaliśmy ważne pytania i odpowiedzi do wywiadu JCL, które pomogą Ci odnieść sukces w rozmowie kwalifikacyjnej.

W tym artykule na pytania do wywiadu JCL 2019 przedstawimy 10 najważniejszych i najczęściej zadawanych pytań do wywiadu JCL. Te pytania do rozmowy kwalifikacyjnej są podzielone na dwie części:

Część 1 - Pytania do wywiadu JCL (podstawowe)

Ta pierwsza część obejmuje podstawowe pytania i odpowiedzi dotyczące wywiadu Java w strukturze danych.

Pytanie 1 Załóżmy, że mamy 3 nazwy DD w połączeniu z wieloma zestawami danych. Pytanie brzmi: w jaki sposób możemy przesłonić zestaw danych dla tych 3 konkretnych zestawów danych?

Odpowiedź :
Korzystając z DD DUMMY. Jeśli musisz zastąpić 1 zestaw danych do innego, DD DUMMY pomoże łatwo zastąpić wszystkie kroki zadania JCL. Uwaga: są one zastępowane, a nie zastępowane.

//STEP1.IN1 DD DUMMY
// DD DSN=OWNDATA.OURMI.IN2, DISP=SHR
// DD DUMMY

Q2 Możemy utrzymywać wiele wersji w GDG, załóżmy, że jeśli bieżąca wersja używa do rozważenia jako danych wejściowych w pierwszym kroku (krok 1) dowolnego zadania, dane wyjściowe zostały również utworzone jako nowe wersje, i tak samo, jeśli można rozważyć dane wyjściowe kroku 1 jako dane wejściowe do następnego kroku załóżmy, że krok 2, wyjście z kroku 2 ponownie utworzy jedną nową wersję, a następnie wyjaśnij, w jaki sposób wskazujemy, że każdy GDG wymaga wersji dla każdego kroku?

Odpowiedź:
Możemy to łatwo zrobić, używając operatora +1 lub +2 bez żadnej logiki. Poniżej znajduje się fragment kodu, który definiuje odniesienia do wielu wersji GDG:

Stp1 input: (0)
Stp1 output: (+1)
Stp2 input: (+1)
Stp2 output: (+2)

Przejdźmy do następnych pytań do wywiadu JCL.

Pytanie 3 Czy można sprawdzić pusty plik, czy nie w JCL? Jeśli tak, proszę wyjaśnić, jak możemy to zrobić?

Odpowiedź :
Tak, możliwe jest zidentyfikowanie jednego pustego pliku w JCL, ale pod jednym warunkiem ten plik powinien stanowić jedno wejście IDCAMS. Jeśli jeden został użyty jako WEJŚCIE w IDCAMS, to kiedy zadanie zostanie zakończone, a plik wejściowy jest faktycznie pusty, wówczas kod 4 zostanie zwrócony jako dane wyjściowe dla tego konkretnego zadania JCL. Zatem kod powrotu 4 dowolnego rodzaju zadania JCL można uznać za pusty plik, który wybiera się jako dane wejściowe dla zadania. Zwykle programista zarządza tym samym w inny sposób, jeśli kod powrotu pojawił się jako 4, zadanie jest automatycznie przerywane, nie wymaga dalszego przetwarzania dla następnej logiki wykonywalnej. Ponieważ pusty plik zwykle nie wymaga dalszego przetwarzania, ponieważ zajmie minimum miejsca w systemie mainframe, i doskonale zdaje sobie sprawę, że koszt systemu mainframe jest zbyt wysoki, więc obsługa tego rodzaju błędu będzie wymagała specjalistycznej wiedzy przy każdym zadaniu mainframe lub JCL deweloper.

Pytanie 4 Załóżmy, że rozważenie jednego zadania JCL ma 4 kroki i zaskakująco nagle praca została przerwana. Teraz podaj kilka poleceń lub wyjaśnij, jak możemy rozpocząć krok 2 tego konkretnego zadania JCL?

Odpowiedź:
Jest to najczęściej zadawane pytania podczas wywiadu JCL. Tester JCL zwykle musi wykonywać szereg obowiązków w obecnej branży IT.

Należy podać RESTART = STP2 w zestawieniu zadania. Zadanie JCL powinno być skonstruowane w taki sposób, aby można było wykonać RESTART w kroku 2, a odpowiednio kroki 3 i 4 będą wykonywane sekwencyjnie. W przypadku tej samej instrukcji IF-ELSE należy również dołączyć.

//URMIIF JOB 1, CLASS=4, MSGCLASS=0, NOTIFY = &SYSUID, RESTART=STP2
//*
//STP1 EXEC
//STP2 EXEC
//IF1 IF (STP2.RC = 0 & STP2.RC 0) THEN
//STP3 EXEC
//STP4 EXEC
//ENDIF

Pytanie 5 Wyjaśnić szczegółowo dostępne sposoby żądania danych do programu COBOL z dowolnego zadania JCL?

Odpowiedź:
Istnieje kilka sposobów przekazywania wymaganych danych w programie COBOL z określonego zadania JCL. Można to przekazać za pomocą trzech poniższych podejść:

Pliki: zadanie JCL może wysyłać pliki bezpośrednio do programu COBOL, program będzie mógł czytać pliki i przetwarzać je w oparciu o logikę.

Parametr PARM: Jeśli JOB akceptuje jako parametr jakiś parametr PARM, może z łatwością przejść do dowolnego zdefiniowanego programu COBOL w celu dalszego przetwarzania zgodnie z logiką zdefiniowaną przez programistę COBOL.

Instrukcja SYSIN DD: Instrukcja SYSIN DD może pobrać dowolny parametr definiujący system za pomocą dowolnego zadania JCL i wysłać go do zdefiniowanego programu COBOL w celu dalszego wykonania.

Po wysłaniu wymaganych danych do programu Cobol każde zadanie JCL czeka na zwrot odpowiedzi z tego programu i podjęcie decyzji o dalszym procesie JOB.

Część 2 - pytania do wywiadu JCL (zaawansowane)

Przyjrzyjmy się teraz zaawansowanym pytaniom i odpowiedziom dotyczącym wywiadu JCL.

Pytanie 6 Czy można wywołać ten sam PROC przy użyciu wielu ZADAŃ? Jeśli tak, proszę podać szczegółowe informacje wyjaśniające, w jaki sposób można go ponownie wykorzystać?

Odpowiedź:
Tak możliwe. PROC zdefiniował głównie niektóre statyczne części zadania, które można ponownie wykorzystać w dowolnym zadaniu JCL. Na przykład funkcjonalność zmiany nazwy pliku można zdefiniować wewnątrz PROC i użyć ponownie przez zadanie JCL.

// IN1 DD DSN = i ID.OURMI.IN1, DISP = SHR // * Wersja PROC

ID = OWNDATA1 jest kodowany w JOB1, ID = OWNDATA2 jest kodowany w JOB2 i tak dalej

Pytanie 7 Czy można utworzyć jeden nowy zestaw danych dla JCL, po prostu utrzymywać ten sam plik jak organizacja, podczas gdy jest on dostępny w innym istniejącym zestawie danych? Jeśli tak to, proszę wytłumacz?

Odpowiedź:
Możliwe za pomocą IEBGENER. Istniejący plik przekazuje do SYSUT10, teraz przekazuje nowy plik do SYSUT11 i wspomina DCB = *. SYSUT10.

Przejdźmy do następnych pytań do wywiadu JCL.

Pytanie 8 Wyjaśnić szczegółowo dostęp do zasad do nieskategoryzowanego zestawu danych JCL w komputerze mainframe?

Odpowiedź:
Za pomocą parametrów szeregowych UNIT i VOL.

Pytanie 9 Ponownie zakładając, że jedno zadanie JCL składa się z dwóch kroków, teraz jesteśmy gotowi skonfigurować, że jeśli jakiś powód ustąpi, krok 2 zostanie uruchomiony automatycznie, w przeciwnym razie zadanie JCL zostanie zakończone? Wyjaśnij, jak możemy to zrobić?

Odpowiedź:
Jest to najpopularniejsze pytanie dotyczące wywiadu JCL zadawane podczas wywiadu. Niektóre popularne przypadki testowe w obecnej branży IT.

Podaj jakiś TYLKO warunek w kroku 2, jest to możliwe. Kod będzie taki jak poniżej:

COND = TYLKO w STP2

P10 Czy możliwe jest wykonanie jednego automatycznego restartu w przypadku niepowodzenia zadania JCL? Jeśli tak, to wyjaśnij, jak możemy to łatwo zrobić?

Odpowiedź:
Jest to bardzo możliwe przy użyciu parametru RD w zadaniu JCL lub instrukcji exec. Jeśli wymagane jest ponowne uruchomienie kodu ABEND, należy podać go w bibliotece IBM parmlib jako członka SCHEDxx.

Polecane artykuły

Jest to przewodnik po liście pytań i odpowiedzi na rozmowę kwalifikacyjną JCL, dzięki czemu kandydat może łatwo przełamać te pytania podczas rozmowy kwalifikacyjnej JCL. W tym poście przeanalizowaliśmy najważniejsze pytania do wywiadu JCL, które często zadawane są w wywiadach. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. 10 najważniejszych pytań do wywiadu testowego ETL
  2. Pytania do wywiadu Kotlin
  3. 10 podstawowych pytań do wywiadu Blockchain
  4. Pytania do wywiadu spadkowego (zaktualizowane do 2019 r.)