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

2020년 1회

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

    애플리케이션 테스트에서 동일한 테스트 케이스로 테스트를 반복하면 더 이상 결함이 발견되지 않는 현상이 발생되는 개념


  2. 데이터 마이닝 (Data Mining) 의 개념을 간략히 서술하시오.
    2번 정답

    대규모로 저장된 데이터 안에서 존재하지 않는 정보를 얻어내기 위해 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술


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

    구문(Syntax), 의미(Semantics), 순서(Timing)


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

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

    4번 정답

    XML (eXtensible Markup Language)


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

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

    5번 정답

    JSON(JavaScript Object Notation)


  6. STUDENT 테이블에서 컴퓨터과 학생 50명, 인터넷과 학생 100명, 사무자동화과 학생 50명의 정보가 저장되어 있을 때, 다음 SQL 문의 실행 결괴에 따른 튜플의 수는? (단, DEPT 칼럼은 학과명이다.)
    1
    2
    3
    
    1) SELECT DERP FROM STUDENT;
    2) SELECT DISTINCT DEPT FROM STUDENT;
    3) SELECT COUNT(DISTINCT DEPT) FROM STUDENT WHERE DEPT ='컴퓨터과';
    
    6번 정답

    1) 200
    2) 3
    3) 1


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

    7번 정답

    (대기시간 + 서비스 시간) / 서비스 시간


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

    주요 특성 설명
    (1) 트랜잭션의 가장 기본적인 특성으로 트샌잭션 내의 연산은 반드시 모두 수행되어야 하며 그렇지 못한 경우 모두 수행되지 않아야 함
    일관성 트랜잭션이 정상적으로 완료된 후 언제나 일관성 있는 데이터베이스 상태가 되어야 하며, 결과에 모순이 생겨서는 안 됨
    (2) 하나의 트랜잭션이 수행 중에는 다른 트랜잭션이 접근할 수 없고 각각의 트랜잭션은 독립적이어야 함
    영속성 지속성이라고도 하며, 트랜잭션이 성공적으로 완료된 후 결과는 지속적으로 유지되어야 함
    8번 정답

    (1) 원자성 (Atomicity)
    (2) 독립성 (Isolation)


  9. 다음 설명 중 빈 칸에 가장 부합하는 네트워크 공격 유형에 해당하는 용어를 쓰시오.

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

    9번 정답

    랜드 어택 (Land Attack)


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

    10번 정답

    MD5 (Message-Digest Algorithm 5)


  11. 다음은 공통 모듈 구현의 개념에 대한 설명이다. 괄호 ( ) 안에 알맞은 용어를 쓰시오.

    - 소프트웨어 개발에 있어 기능을 분할하고 추상화하여 성능을 향샹시키고 유지보수를 효과적으로 하기 위한 공통 컴포넌트 구현 기법이다.
    - 인터페이스 모듈, 데이터베이스 접근 모듈 등 필요한 공통 모듈을 구현한다.
    - 모듈 간의 ( 1. ) 은/는 줄이고, ( 2. ) 은/는 높은 공통 모듈 구현을 권한하고 있다.

    11번 정답

    ( 1 ) 결합도
    ( 2 ) 응집도


  12. 다음은 C언어로 작성된 소스 코드이다. 이를 실행한 결과를 쓰시오.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    #include <stdio.h>
    define SIZE 5
    void main() {
    int arr[SIZE] = {75,95,85,100,50};
    int i, j, temp;
        
    for(i=0; i<SIZE; i++){
    	for(j=0; j<SIZE-i; j++){
        	if(a[j] > arr[j+1]){
            	temp=arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
             }
           }
        }
            
       	for(i=0; i<SIZE; i++){
        	printf("%d", a[i]);
        }
      }
    
    12번 정답

    50, 75, 85, 95, 100


  13. 다음은 JAVA로 작성된 소스코드이다. 이를 실행한 결과를 쓰시오.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    public class Test {
    static int nSize=4;
        
    public static void main(String[]args) {
     int[]arr=new int[nSize];
         makeArray(arr);
                
            for(int i=0; i<nSize; i++) {
             System.out.print(arr[i] + " ");
            }
         }
             
         public static void makeArray(int[]arr) {
          for(int i=0; i<nSize; i++) {
             arr[i]=i;
            }
         }
    }
    
    13번 정답

    0 1 2 3


  14. 다음은 JAVA로 작성된 프로그램이다. 이를 시행한 결과를 쓰시오.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    public class Test {
    
    public static void main(String[] args){
    	int i = 3, k = 1;
    
        swich (i) {
            case 0;
            case 1;
            case 2;
            case 3 k = 0;
            case 4 k += 3;
            case 5 k -= 10;
            default: k--;
        }
        system.out.print(k);
     }
    }
    
    14번 정답

    -8


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

    15번 정답

    헤더 (Header)


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

    16번 정답

    프로젝트 개발기간 : 20개월
    계산식 : (30,000 라인 / 300 라인) / 5명 = 20개월


  17. 비정규화(De-Nomalization)의 개념을 간략히 설명하시오.
    17번 정답

    시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터를 통합, 중복, 분리하는 데이터모델링 기법으로 의도적으로 정규화 원직을 위배하는 행위이다.


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

    물리 계층 (Physical Layer)


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

    애플리케이션 성능이란 사용자의 요구 기능을 해당 애플리케이션이 최소의 자원을 사용하면서 얼마나 빨리, 많은 기능을 수행하는가를 육안 또는 도구를 통하여 점검하는 것을 말한다. 이를 측정하기 위한 지표는 (   1   ), (   2   ), (   3   ), 자원 사용률이 있다.
    (   1   )(은)는 애플리케이션이 주어진 시간에 처리할 수 있는 트랜잭션의 수로, 웹 애플리케이션의 경우 시간당 페이지 수로 표현하기도 한다. (   2   )(은)는 사용자 입력이 끝난 후, 애플리케이션의 응답 출력이 개시될 때까지의 시간으로, 웹 애플리케이션의 경우 메뉴 클릭 시 해당 메뉴가 나타나기까지 걸리는 시간을 말한다. (   3   )(은)는 애플리케이션에 사용자가 요구를 입력한 시점부터 트랜잭션 처리 후 그 결과의 출력을 완료할 때까지 걸리는 시간을 말한다. 자원 사용률은 애플리케이션이 트랜잭션을 처리하는 동안 사용하는 CPU 사용령, 메모리 사용량, 네트워크 사용량을 말한다. 

    19번 정답

    (1) 처리량 (Throughput)
    (2) 응답 시간 (Response Time)
    (3) 경과 시간 (Turnaround Time)


  20. 다음은 모듈의 관계를 나타낸 다이어그램이다. fan-in 개수가 2 이상인 모듈 명칭을 쓰시오.

    diagram drawio

    20번 정답

    F, H


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

댓글남기기