정보처리기사 실기) 2020년 1회 정보처리기사 실기 문제 복원
본문 바로가기
정보처리기사/정보처리기사 실기 문제 복원

정보처리기사 실기) 2020년 1회 정보처리기사 실기 문제 복원

by 코딩하는 핑가 2021. 7. 27.
반응형

* 공단에서 실기 문제와 답은 공개하지 않습니다. 포스팅한 자료는 응시하신 분들의 기억으로 복원된 문제와 가답안이므로 실제 문제나 정답과 다를 수 있습니다.

* 답안을 바탕으로 변형된 문제도 수록되어 있습니다.

* https://cafe.naver.com/soojebi와, 유튜브 정보처리기사 실기 복원 영상을 참고로 작성되었습니다.

* 단답형 15문제, 약술형 3문제, 계산식 2문제

 

* 약술형은 용어를 설명할 수 있는 키워드를 포함해서 1~2 줄로 간략히 입력

 

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

더보기

답안

1. 동일한 테스트 케이스로 반복 실행하면 더 이상 새로운 결함을 발견할 수 없으므로 주기적으로 테스트 케이스를 점검하고 개선해야 한다.

OR

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

OR

3. 잠재된 수 많은 결함을 발견하기 위해서는 테스트 케이스를 정기적으로 개선하는 것이 필요하다는 원리이다.

OR

4. 같은 테스트 케이스를 가지고 테스트를 계속해서 반복하면 내성으로 인해 결국은 버그가 발견되지 않는다.

 

* 이러한 현상을 방지하기 위해서는 테스터가 적극적인 자세를 가지고 지속적으로 테스트케이스를 검토하고 개선해야한다.

 

2. 데이터 마이닝의 개념을 간략히 설명하시오. (약술형)

더보기

답안

1. 많은 데이터 가운데 숨겨져 있는 유용한 상관 관계를 발견하여, 미래에 실행 가능한 정보를 추출해내고 의사 결정에 이용하는 과정을 말한다.

OR

2. 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기법

OR

3. 대량의 데이터에서 실제로 존재하지 않는 정보를 얻어내기 위해 각 데이터의 상관관계를 통계적 분석, 인공지능 기법을 통해 통계적 규칙이나 패턴을 찾아내는 기법

 

해설

* 데이터 마이닝(Data Mining)을 통해 성공한 대표적 기업으로는 미국의 전자상거래 업체 아마존과 스트리밍 사이트 넷플릭스가 거론된다. 아마존은 고객이 지금까지 아마존에서 검색하고 구입한 책의 목록을 통해 고객의 취향과 관심 영역을 파악해 고객이 관심을 갖고 있는 분야의 책이 나올 때마다 잊지 않고 꼬박꼬박 알려주는 방식으로 대기업의 초석을 놓았다. 넷플릭스 역시 회원이 전에 보았던 영화를 바탕으로 좋아할 만한 영화를 추천하는 '시네매치'서비스를 개발해 개인화 마케팅을 진행하고 있다.

 

3. 프로토콜에 필요한 3요소

더보기

답안 : 구문, 의미, 타이밍

 

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

[보기]

- HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단점을 개선한 다목적 마크업 언어이다.

- 웹 상에서 구조화된 문서를 상호교환 가능하도록 설계된 웹 표준 문서 포맷으로 메타 데이터 정의가 명확하다.

- 사용자가 새로운 태그와 속성을 정의할 수 있는 확장성을 가진다.

- 유니코드를 사용하여 전 세계의 모든 문자를 처리 가능하며 장치와 시스템에 독립적이다.

더보기

답안 : XML

 

해설

XML은 W3C에서 개발된, 다른 특수한 목적을 갖는 마크업 언어를 만드는데 사용하도록 권장하는 다목적 마크업 언어이다.

 

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

- (   )(은)는 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식이다. (   ) 표현식은 사람과 기계 모두 이해하기 쉬우며 소용량으로 최근에는 XML을 대체해서 데이터 전송 등에 많이 사용한다. Ajax에서 서버와 통신하며 데이터 교환을 쉽게 하기 위해 (  )(을)를 데이터 전송형식으로 많이 사용한다.

- (  )의 문법은 Key와 Value가 쌍으로 존재하며 태그로 표현하기 보다는 중괄호({})같은 형식으로 하고, 값을 ','로 나열하기에 그 표현이 간단하다. 

더보기

답안 : JSON

 

해설

비동기 브라우저 / 서버 통신(AJAX)을 위해 '속성-값 쌍', '키-값 쌍'으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷

- 형식 : { String key : String value }

- 예

{

"firstName" : "Hong",

  "lastName" : "GilDong",

  "age" : 25,

  "email" : "abc@pass.com"

}

 

6. 학생(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

 

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

더보기

답안 : (대기시간+서비스시간) / (서비스시간)

 

8. 트랜잭션 특성 ACID 중 일관성, 영속성 외 2개 특성 입력

더보기

답안 : Atomic(원자성), Isolation(고립성, 독립성)

 

해설

- 원자성 : 트랜잭션의 가장 기본적인 특성으로 트랜잭션 내의 연산은 반드시 모두 수행되어야 하며 그렇지 못한 경우 모두 수행되지 않아야함

- 일관성 : 트랜잭션이 정상적으로 완료된 후 언제나 일관성있는 데이터베이스 상태가 되어야 하며, 결과에 모순이 생겨서는 안됨

- 고립성, 독립성 : 하나의 트랜잭션이 수행 중에는 다른 트랜잭션이 접근할 수 없고 각각의 트랜잭션은 독립적이어야 함

- 영속성, 지속성 : 지속성이라고도 하며, 트랜잭션이 성공적으로 완료된 후 결과는 지속적으로 유지되어야 함

 

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

- 공격자가 패킷의 출발지 주소(Address)나 포트(Port)를 임의로 변경해 출발지와 목적지 주소(또는 포트)를 동일하게 함으로써, 공격 대상 컴퓨터의 실행속도를 느리게 하거나 동작을 마비시켜 서비스 거부 상태에 빠지도록 하는 공걱 방법. 수신되는 패킷 중 출발지 주소(또는 포트)와 목적지 주소(또는 포트)가 동일한 패킷들을 차단함으로써 공격을 피할 수 있다.

더보기

답안 : 랜드어택(Land Attack)

해설

- 네트워크 패킷의 출발지 IP를 변조하여 공격 대상의 자원을 소모시키는 공격으로 기밀성과 가용성을 치매하는 공격 유형이다.

 

10. 128비트 암호화 해시함수이다. RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사등에 사용된다. 1991년 로널드 라이베스트(Ronald Rivest)가 예전에 쓰이던 MD4를 대체하기 위해 고안했다.

더보기

답안 : MD5

 

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

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

더보기

답안 : 결합도, 응집도

 

12. [C언어] 버블 정렬 오름차순 문제

#include <stdio.h>
#define SIZE 5

int main(void) {
	int arr[SIZE] = {75, 100, 95, 50, 85};
    int i, j, temp;
    for(i = 1; i < SIZE; i++) {
    		for(j=0; j < SIZE-i; j++) {
            		if(arr[j] > arr[j+1]) {
                    		temp = arr[j];
                            	arr[j] arr[j+1];
                            	arr[j+1] = temp;
                    }
            }
    }
    for(i=0; i<SIZE; i++) {
    	printf("%d", arr[i]);
    }
}
더보기

답안 : 50 75 85 95 100

 

13. [Java] 배열 결과 입력

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;
        }
    }
}
더보기

답안 : 0 1 2 3

 

14. [C언어] switch ~ case 결과 입력 

public class Test {

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

답안 : -8

해설

break문 생략 : 일치하는 실행문부터 switch문이 종료될 때 까지 모든 문장 실행

 

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

더보기

답안 : 헤더(Header)

 

16. LoC 기법 개발 기간 계산식과 답 입력 (총라인 30000, 개발자 5명 월평균 300라인)

더보기

답안 : (30,000/300)/5 = 20개월

 

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

더보기

답안 : 물리계층(Physical, 1계층)

 

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

[ 애플리케이션 성능이란 사용자의 요구 기능을 해당 애플리케이션이 최소의 자원을 사용하면서 얼마나 빨리, 많은 기능을 수행하는가를 육안 또는 도구를 통하여 점검하는 것을 말한다. 이를 측정하기 위한 지표는 (  1  ), (   2  ), (  3  ), 자원 사용율이 있다. ]

더보기

답안 : 처리량(Throughput), 응답시간(Response Time), 경과시간 또는 반환시간(Turnaround Time)

해설

- 처리량 : 애플리케이션이 주어진 시간에 처리할 수 있는 트랜잭션의 수로 웹 애플리케이션의 경우 시간당 페이지 수로 표현하기도 한다.

- 응답시간 : 사용자 입력이 끝난 후, 애플리케이션의 응답 출력이 개시될 때까지의 시간으로, 웹 애플리케이션의 경우 메뉴 클릭 시 해당 메뉴가 나타나기까지 걸리는 시간을 말한다.

- 경과시간 : 애플리케이션에 사용자가 요구를 입력한 시점부터 트랜잭션 처리 후 그 결과의 출력이 완료할 때까지 걸리는 시간을 말한다.

- 자원 사용율 : 애플리케이션이 트랜잭션 처리하는 동안 사용하는 CPU 사용량, 메모리 사용량, 네트워크 사용량을 말한다.

 

19. 비정규화(Denormalization)의 개념 : 반정규화에 대한 문제 (약술형)

더보기

답안

1. 시스템의 성능 향상, 개발 과정의 편의성, 운영의 단순화를 목적으로 수행되는 의도적인 정규화원칙 위배행위를 말한다.

2. 정규화된 엔터티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법 / 둘 이상의 릴레이션들에 대하여 조인한 결과를 빈번하게 이용하는 경우, 비정규화 함으로써 질의응답 시간이 단축될 수 있다.

 

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

더보기

답안 : f, h

해설

Fan-in : 상위 / Fan-out : 하위

 

반응형

댓글