Sky Archive

자격증/정보처리기사

[정보처리기사 실기] 2020년 1회 기출문제

서울시장 2021. 7. 12. 14:19

정보처리기사 실기 2020년 1회 기출문제 문제복원 입니다.

 

1. 비정규화(De-normalization, 반정규화, 역정규화)의 개념을 간략히 설명하시오.

더보기
답 : 정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법을 의미한다.

 

2. 다음 설명에 부합하는 마크업 언어는 무엇인지 영문 약어로 쓰시오.

  • HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단점을 개선한 다목적 마크업 언어이다.
  • 웹상에서 구조화된 문서를 상호교환 가능하도록 설계된 웹 표준 문서 포멧으로 메타 데이터 정의가 명확하다.
  • 사용자가 새로운 태그와 속성을 정의할 수 있는 확장석을 가진다.
  • 유니코드를 사용하여 전 세계의 모든 문자를 처리 가능하며 장비와 시스템에 독립적이다.
더보기
답 : XML

 

3. 소프트웨어 테스트 방법의 일반적인 원리 중 하나인 살충제 패러독스(Pesticide Paradox)의 개념을 간략히 서술하시오.

더보기
답 : 살충제 패러독스는 동일한 테스트 케이스로 동일한 절차를 반복 수행하면 새로운 결함을 찾을 수 없다는 것을 의미한다.

 

4. 하나의 프로그램을 몇 개의 작은 부분으로 분할하는 경우, 그 분할단위를 일반적으로 모듈(Module)이라고 한다. 다음 중 바람직한 모듈에 대한 설명으로 빈칸 ①, ② 에 알맞은 용어를 쓰시오.

모듈화를 중심으로 하는 소프트웨어 설계 방법에서는 모듈의 독립성을 높게 해주는 것이 좋은 설계 방향이다. 모듈의 독립성을 높여주기 위해서는 각 모듈 간의 관련성을 나타내는 ( ① )(은)는 낮추고, 모듈 안의 요소들이 서로 관련되어 있는 정도를 나타내는 ( ② )(은)는 높이는 것이 가장 바람직하다.
더보기
  • ① : 결합도
  • ② : 응집도

 

5. 다음은 어떤 프로그램의 구조를 나타낸다. Fan-in의 수가 2 이상인 모듈의 이름을 쓰시오.

더보기
답 : F, H

 

해설

  Fan-in Fan-out
A 0 3
B 1 2
C 1 1
D 1 1
E 1 2
F 3 1
G 1 0
H 2 0

 

6. 다음 설명 중 빈 칸 (     )에 가장 부합하는 프로그래밍 언어를 영문 약어로 쓰시오.

  • (     )(은)는 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식이다. (     ) 표현식은 사람과 기계 모두 이해하기 쉬우며 소용량으로 최근에는 XML을 대체해서 데이터 전송 등에 많이 사용한다. Ajax에서 서버와 통신하며 데이터 교환을 쉽게 하기 위해 (     )(을)를 데이터 전송형식으로 많이 사용한다.
  • (     )의 문법은 key와 value가 쌍으로 존재하며 태그로 표현하기 보다는 중괄호({ }) 같은 형식으로 하고, 값을 ','로 나열하기에 그 표현이 간단하다.
더보기
답 : JSON

 

7. 다음 설명 중 빈 칸( ① ~ ③ )에 가장 부합하는 애플리케이션 성능 측정을 위한 지표를 쓰시오.

(  ①  )(은)는 애플리케이션이 주어진 시간에 처리할 수 있는 트랜잭션의 수로, 웹 애플리케이션의 경우 시간당 페이지 수로 표현하기도 한다. (  ②  )(은)는 사용자 입력이 끝난 후, 애플리케이션의 응답 출력이 개시될 때까지의 시간으로, 웹 애플리케이션의 경우 메뉴 클릭 시 해당 메뉴가 나타나기까지 걸리는 시간을 말한다. (  ③  )(은)는 애플리케이션에 사용자가 요구를 입력한 시점부터 트랜잭션 처리 후 그 결과의 출력이 완료할 때까지 걸리는 시간을 말한다. 자원 사용률은 애플리케이션이 트랜잭션 처리하는 동안 사용하는 CPU 사용량, 메모리 사용량, 네트워크 사용량을 말한다.
더보기
  • ① : 처리량
  • ② : 응답 시간
  • ③ : 경과 시간

 

8. 학생(STUDENT) 테이블에 전자과 학생 50명, 정보통신과 학생 100명, 건축과 학생 50명의 정보가 저장되어 있을 때, 다음 ① ~ ③ SQL문의 실행 결과 튜플 수를 쓰시오. (단, DEPT 컬럼은 학과명이다.)

① SELECT DEPT FROM STUDENT;
② SELECT DISTINCT DEPT FROM STUDENT;
③ SELECT COUNT(DISTINCT DEPT) FROM STUDENT WHERE DEPT = '정보통신';
더보기
  • ① : 200
  • ② : 3
  • ③ : 1

 

9. 다음 공통으로 설명하는 네트워크 공격 유형에 해당하는 용어를 쓰시오.

  • (     )(은)는 네트워크 패킷의 출발지 IP를 변조하여 공격 대상의 자원을 소모시키는 공격으로 기밀성과 가용성을 치매하는 공격 유형이다.
  • 주로 3-Way-Handshaking의 연결지향적 특징을 가지는 서비스에서 발생한다.
  • (     )(은)는 출발지 IP 주소와 도착지 IP 주소가 동일한 특징이 있어 네트워크 모니터링 도구인 와이어샤크의 컨버세션(Conversations)기능을 통해 동일 IP 주소 간에 통신 여부를 체크하는 방법으로 공격 여부를 확인할 수 있다. 해당 패킷의 출발지와 도착지의 IP주소가 동일한 패킷을 기본적으로 차단하여 (     )(을)를 막을 수 있다.
더보기
답 : 랜드어택

 

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

#include <stdio.h>
int main()
{
    int a[] = {95, 75, 85, 100, 50};
    int i, j, temp;
    int n = sizeof(a) / sizeof(int);
    for(i = 0; i < n-1; i++){
        for(j = 0; j < 4-i; j++){
            if( a[j] > a[j+1] ){
                temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
        }
    }
    for(i = 0; i < 5; i++){
        print("%d ", a[i];
    }
    return 0;
}
더보기
답 : 50 75 85 95 100

버블정렬 문제

 

11. 다음은 Java로 작성된 프로그램이다. 이를 실행한 결과를 쓰시오.

pubilc class Exam{

    public static int[] makeArray(int n) {
        int[] t = new int[n];
        for(int i = 0; i < n; i++) {
            t[i] = i;
        }
        return t;
    }

    public static void main(String[] args) {
        int[] a = makeArray(4);
        for(int i = 0; i < a.length; i++)
            System.out.print(a[i] + " ");
    }
}
더보기
답 : 0 1 2 3

 

12. 다음은 Java로 작성된 프로그램이다. 이를 실행한 결과를 쓰시오.

public class Exam {

    public static void main(String[] args) {
        int i = 3, k = 1;
        switch( i ) {
            case 1 : k++;
            case 2 : k += 3;
            case 3 : k = 0;
            case 4 : k += 3;
            case 5 : k -= 10;
            default : k--;
        }
        System.out.print(k);
    }
}
더보기
답 : -8

해설

break명령문 없을 경우 바로 아래 case문 실행.

break명령문이 있을 때까지 다음 case문 실행하며 없을 경우 default에서 까지 수행됩니다.

 

13. 통신 프로토콜(Communication Protocol)은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고받는 양식과 규칙의 체계이다. 통신 프로토콜을 구성하는 기본 요소 3가지를 쓰시오.

더보기
답 : 구문, 의미, 타이밍

 

14. 운영체제의 비선점 프로세스 스케줄링기법 중 하나인 HRN(Highest Response-ratio Next)은 어떤 작업이 서비스 받을 시간과 그 작업이 서비스를 기다린 시간으로 결정되는 우선순위에 따라 CPU를 할당하는 기법이다. HRN의 우선순위를 결정하는 계산식을 쓰시오.

더보기
답 : (서비스시간 / 대기시간) / 서비스시간

 

15. 트랜잭션(Transaction)은 데이터베이스 내에서 한꺼번에 모두 수행되어야 할 연산들의 집합으로 하나의 작업 처리를 위한 논리적 작업 단위를 말한다. 다음은 트랜잭션의 주요 특성 4가지이다. 빈칸 ① ~ ② 에 알맞은 용어를 쓰시오. (일관성, 영속성 외 2개 특성)

더보기
  • ① : 원자성
  • ② : 독립성(격리성)

 

16. OSI 7 참조 모델 중 두 장비 간의 전송을 위한 연결이나 전달 등의 인터페이스 기계적, 전기적, 절차적 특성을 정의하면 비트를 물리적인 매체를 통해 전송하는 계층을 쓰시오.

더보기
답 : 물리계층

 

17. 릴리즈 노트(Release Note)는 고객 편의성을 고려하여 조직의 최종 사용자인 고객과 잘 정리된 릴리즈 정보를 공유하는 문서이다. 릴리즈 노트의 내용으로는 보통 특정 소프트웨어 릴리즈의 최근 변경 사항, 개선 사항 및 버그 수정을 간결히 요약되어 있다. 릴리즈 노트 작성 항목 중 문서이름(릴리즈 노트 이름), 제품이름, 버전번호, 릴리즈 날짜, 참고 날짜, 노트 버전 등을 기술하는 작성항목이 무엇인지 쓰시오.

더보기
답 : 헤더(Header)

 

18. 데이터 마이닝(Data minig)의 개념을 간략히 설명하시오.

더보기
답 : 대량의 데이터에서 각 데이터의 상관관계를 통계적 분석, 인공지능 기법 등을 통해 통계적 규칙이나 패턴을 찾아내는 것이다.

 

19. 입력 데이터로부터 128비트의 축약 메시지인 해시 값을 생성하는 해시 함수로 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 용도로 많이 쓰이고 있다. 1990년 R. Rivert가 MD4를 일방향 해시함수로 개선한 알고리즘이 무엇인지 쓰시오.

더보기
답 : MD5

 

20. LOC기법에 의하여 예측된 총 라인수가 30,000라인일 경우 개발에 투입될 프로그래머의 수가 5명이고, 프로그래머들의 평균 생산성이 월당 300라인일 때, 개발에 소요되는 기간을 구하는 계산식과 기간(개월)을 구하여 쓰시오. (단, 프로젝트에 참여하는 개발자들의 평균 생산성은 모두 동일하다고 가정한다.)

더보기
  • 계산식 : (30000/300)/5
  • 답 : 20개월