정보처리기사 실기 기출문제 정리

2020년 4회

  1. 다음 설명에 해당하는 용어를 쓰시오.

    IETF(Internet Engineering Task Force) 에서 IP Address 의 부족과 Mobile IP Address 구현 문제를 해결방안으로 만들어진 IPv4를 보완하는 차세대 IP Address 주소 체계이다. 주소 유형은 유니캐스트, 멀티캐스트, 브로드캐스트 3가지이며, 주소의 길이는 128bit 이고 8개 그룹으로 배열되며 각 그룹은 16비트이다. 각 그룹은 4개의 16진수로 표현되며 그룹 간은 콜론(;)으로 구분된다. 패킷 전송 시 멀티캐스트를 사용한다.

    1번 정답

    IPv6


  2. 다음은 디자인 패턴에 대한 설명이다. 빈 칸 안에 들어갈 가장 적합한 용어를 쓰시오.

    디자인 패턴(Design Pattern) 은 프로그램을 개발하는 과정에서 빈번하게 발생하는 디자인상의 문제를 정리해서 상황에 따라 간편하게 적용하여 쓸 수 있는 패턴 형태로 만든 것이다. 에리히 감마, 리처드 햄, 랄프 존슨, 존 블리시데스가 한 자리에 모이게 되었다. goF(Gang of Four) 으로 불리는 이 네 명이 여러 개의 패턴을 집대성하여 저술한 책이 유명한 [디자인 패턴: 재사용 가능한 객체 지향 소프트웨어의 요소들(Design Patterns: Elements of Resuable Object-Oriented Software)] 이다. goF의 디자인 패턴에는 생성, 구조, (     )(이)가 있다. 생성 패턴은 객체의 생성에 관련된 패턴이고, 구조 패턴은 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴이며, (     ) 패턴은 클래스 사이의 알고리즘이나 책임 분배에 관련된 패턴이다.

    2번 정답

    행위


  3. 다음 그림과 같이 탭이 달린 포더 안에 요소들을 집어넣어 표현하는 다이어그램으로 컴포넌트 구조 사이의 관계를 표현하며 요소들을 그룹으로 조직하기 위함 메커니즘의 UML 다이어그램이 무엇인지 쓰시오.

    uml_diagram-image

    3번 정답

    패키지 다이어그램


  4. 다음은 데이터 회복 기법에 대한 설명이다. 빈 칸 안에 공통으로 들어갈 가장 적합한 용어를 쓰시오.

    데이터 회복 기법은 트랜잭션들을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업을 말한다. 다양한 데이터 회복 기법 중 (     ) 중 회복 기법은 로그를 이용한 회복 기법으로 데이터베이스에 대한 갱신로그를 저장함으로서 회복에 대비한다. 일반적으로 데이터베이스와 로그의 동시 손상을 대비하여 별도의 전용 디스크에 로그를 저장할 수 있다. (     ) 회복 기법은 트랜잭션이 실행(활동) 상태에서 변경되는 내용을 그때그때 바로 데이터베이스에 적용하는 기법이다. 변경되는 모든 내용은 로그(Log)에 기록하여 장애 발생 시(Log)의 내용을 토대로 회복시킨다. (     ) 회복 기법은 장애가 발생하면 로그 파일에 기록된 내용을 참조하여, 장애 발생 시점에 따라 Redo나 Undo나 실행하여 데이터베이스를 복구한다.

    4번 정답

    ( 즉시 갱신 ) 기법
    ( Immediate Update )


  5. 다음은 JAVA 로 작성된 코드이다. 출력값을 보고 빈칸 ( ① ), ( ② ) 에 알맞은 값을 작성하시오.

    출력결과
    00001010

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
     public class Test { 
     public static void main(String[] args) {   
         int a[] = new int[8];
         int i = 0, n = 10;
    
         while (  ) {  
             a[i++] = (  ) ; 
             n /= 2; 
         } 
    
         for (i=7; i>=0; i--)
             System.out.printf("%d", a[i]);
         }
     }
    
    5번 정답

    ( ① ) = n > 0 or n >= 1 or i < 8 or i <= 7
    ( ② ) = n % 2 or n & 00000001


  6. 다음에 제시된 JAVA 프로그램이 <처리결과>와 같이 결과를 출력해주고 있다. JAVA 프로그램의 빈 칸 ( ① ), ( ② )에 들어갈 내용을 각각 쓰시오.

    [처리결과]
    1 4 7 10 13
    2 5 8 11 14
    3 6 9 12 15

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
     public class Test {
     public static void main(String[] args) {
         int[][]a = new int[(  )][(  )];
    
             for(int i = 0; i <3; i++) {
             for(int j=0; j < 5; j++) {
                 a[i][j] = j*3+(i+1);
                 System.out.print(a[i][j]+"");
             }
    
             System.out.println();
             }
         }
     }
    
    6번 정답

    ( ① ) = 3
    ( ② ) = 5


  7. 스니핑(Sniffing) 에 대하여 간략히 설명하시오.

    7번 정답

    암호화되지 않은 패킷들을 수집하여 순서대로 재조합 후 ID, PW 와 같은 중요한 정보를 유출하기 위한 수동적인 형태의 공격


  8. 다음 설명하는 용어를 영문으로 (Full name 또는 영문 약어) 로 작성하시오.

    우리나라 말로 번역하면 “네트워크 주소 변환”으로 내부에서 사용하는 사설 IP 주소와 외부로 보여지는 공인 IP 주소간의 IP Address 변환 형식을 말한다. 한정된 하나의 공인 IP를 여러 개의 내부 사설 IP 로 변환하여 사용하기 위한 기술이며, 내부 네트워크 주소의 보안을 위해 사용하는 방법 중 하나이다.

    8번 정답

    NAT


  9. 다음은 Python 언어로 작성된 프로그램이다. 이를 실행한 출력 결과를 쓰시오.

    1
    2
    3
    4
    5
    6
    7
    
     lol = [[1,2,3],[4,5],[6,7,8,9]]
     print(lol[0])
     print(lol[2][1])
     for sub in lol;
         for item in sub;
             print(item, end = '')
             print()
    
    9번 정답

    [1,2,3]
    7
    123
    45
    6789


  10. 다음 설명에 해당하는 용어를 쓰시오.

    오픈소스 분산 컴퓨팅 기술로 분산 처리와 암호화 기술을 동시에 적용한 분산 데이터베이스(Distributed Ledger)의 한 형태이다. 가상화폐의 거래 정보를 기록한 원장인 ‘블록’이라고 하는 소규모 데이터들이 특정 기관의 중앙 서버에서 공통으로 기록 관리되지 않고 P2P 방식을 기반으로 생성된 체인 형태의 연결고리 시반 분산 데이터 저장 환경에 저장된다. 때문에 누구라도 임의로 수정할 수 없지만 누구나 변경의 결과를 열람할 수 있는 기술이다.

    10번 정답

    블록 체인


  11. 다음 설명에 해당하는 용어를 쓰시오.

    - PC 처럼 가격이 싼 컴퓨팅 서버들과 저장장치들을 활용하여 가상화된 거대한 저장장치를 형성하고 그 안에 빅데이터(Big Data)를 상대적으로 쉽게 저장하고 활용하여 처리할 수 있도록 한 분산 파일 시스템이다.
    - 2004년 미국 프로그래머 더그 컷팅이 방대한 데이터를 처리하기 위하여 구글의 맵리듀스(MapReduce) 등을 활용해 이를 개발하였다.

    11번 정답

    하둡


  12. 데이터베이스에서 릴레이션 처리를 하는 데 여러 문제를 초래하는 이상 현상 3가지를 쓰시오.

    12번 정답

    삽입 이상, 삭제 이상, 갱신 이상


  13. 다음은 프로세스 상태 전이도의 빈 칸에 알맞은 프로세스 상태를 각각 쓰시오.

    uml_diagram-image

    13번 정답

    ( ① ) 준비
    ( ② ) 실행
    ( ③ ) 대기


  14. 테스트 오라클은 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참(True) 값을 입력하여 비교하는 기법 및 활동을 말한다. 테스트 오라클의 유형 중 전수 테스트가 불가한 경우 특정한 몇 개의 입력값에 대해서만 기대하는 결과를 제공해주는 오라클로 경계값, 구간별 예상값 결과 작성 시 사용하는 오라클을 무엇이라 하는지 쓰시오.

    14번 정답

    샘플링 오라클


  15. 다음은 주어진 평가점수별 학점 조건을 토대로 테스트 케이스를 작성하여 테스트를 진행한 결과이다. 다음에 적용한 테스트 기법은 명세 기반 테스트의 기법 중 프로그램의 입력 조건에 중점을 두고, 어느 하나의 입력 조건에 대하여 타당한 값과 그렇지 못한 값을 설정하여 해당 입력 자료에 맞는 결과가 출력되는지 확인하는 테스트 기법이다. 적용한 테스트 기법을 무엇이라 하는지 쓰시오.

    조건

    평가점수 학점
    0 ~ 60 F
    60 ~ 70 D
    70 ~ 80 C
    80 ~ 90 B
    90 ~ 100 A

    결과

    테스트케이스 1 2 3 4 5
    구간 0 ~ 60 60 ~ 70 70 ~ 80 80 ~ 90 90 ~ 100
    테스트데이터 55 66 77 88 99
    예측값 F D C B A
    결과값 F D C B A
    15번 정답

    동치 분할 테스트


  16. [학생] 테이블을 대상으로 <요구사항>을 적용하여 아래 [결과]와 같이 출력하는 SQL 문을 작성하시오.

    <요구사항>
    1) WHERE 조건절을 쓰지 말아야 한다.
    2) GROUP BY 구문과 집계 함수를 반드시 사용햐여 한다.
    3) AS (Alias) 를 사용해야 한다. 4) 인용 문구를 사용 시 작은따옴표(‘’) 사용 가능합니다. 5) sql 명령문의 대/소문자를 구별하지 않으며 종결문자인 세미콜론(;)은 생략 가능합니다.

    학생

    학과 이름
    전기 홍길동
    컴퓨터 가나다
    전자 이순신

    결과

    학과 학과별 튜플수
    전기 1
    컴퓨터 2
    전자 2
    16번 정답

    SELECT 학과, COUNT(*) AS ‘학과별 튜플수’ FROM 학생 GROUP BY 학과


  17. 다음 설명에 해당하는 운영체제를 적으시오.

    - 1960년대 말 벨 연구소(Bell Labs) 에서 개발된 운영체제로 다중 사용자, 멀티태스킹 운영체제이다.
    - 이식성이 높으며 대화식 운영체제로 서버 운영이 필수적인 CLI 인터페이스가 강력하다.
    - C언어라는 고급 프로그래밍 언어로 커널까지대부분 작성된 운영체제이다.
    - 파일 생성, 삭제, 보호 기능을 가지며, 디렉터리 구조는 계층적 트리 구조 형태이다.

    17번 정답

    유닉스 (UNIX)


  18. 다음은 C언어로 작성된 프로그램이다. 이를 실행한 출력 결과를 쓰시오.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    #include <stdio.h>
    
    void main(){
        char *p = "KOREA"
    printf("%s\n" , p);
    printf("%s\n" , p+3);
    printf("%c\n" ,*p);
    printf("%c\n" , *(p+3));
    printf("%c\n" , p+2)
    
    18번 정답

    KOREA
    EA
    K
    E
    M


  19. 다음은 JAVA 로 작성된 프로그램이다. 이를 실행한 출력 결과를 쓰시오.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    class parent{
        public int compute(int num){
            if(num <=1) return num;
            return compute(num-1) + compute(num-2);
        }
    }
    
    class Child extends parent {
        public int compute(int num){
            if(num<=1) return num;
            return compute(num-1) + compute(num-3);
            }
    }
    
    class Test{
        public static void main (String[] args){
            parent obj = new Child();
            System.out.print(obj.compute(4));
    }
    
    
    19번 정답

    1


  20. 정보 보안의 목표가 되는 정보보안 3원칙은 기밀성(C), 무결성(i), 가용성(A)를 만족시키는 것이다. 정보보안의 목표 중 가용성에 대하여 간략히 설명하시오.

    20번 정답

    가용성은 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속하여 사용할 수 있도록 하는 보장하는 특성을 말한다


🌞 정보 : 공부 기록용 블로그입니다. 오타나 내용 오류가 있을 경우 알려주시면 감사하겠습니다.

댓글남기기