2020년 제1회

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

A. 시스템의 성능 향상을 위해 수행되는 의도적인 정규화 원칙을 위배하는 행위이다.

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

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

Q. 다음 설명을 읽고 적절한 성능 측정 지표를 빈칸에 쓰시오.

  1. 정해진 시간에 처리할 수 있는 연산, 트랜잭션의 수이다.
  2. 명령이 입력된 후 응답 출력이 개시될 때까지의 시간이다.
  3. 사용자가 데이터 및 명령을 입력한 시점부터 트랜잭션 처리 후 결과의 출력이 완료할 때까지 걸리는 시간이다.

A. 처리량, 응답시간, 반환시간

Q. 다음 설명을 참고하여 빈칸에 가장 부합하는 네트워크 공격 기술 용어를 쓰시오. 공격 대상의 송수신측 주소를 동일하게 변조하여 송신측에서 전달하는 패킷이 다시 송신측으로 전달되는 루프 현상을 발생시켜, 시스템이 심각한 장애를 일으키는 수법이다.

A. LAND Attack

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

#include <stdio.h>
int main()
{
		int a[] = {95, 75, 85, 100, 50};
		int i, j, temp;
		int n = sizeof(a) / sizeof(int); // int n = 5;
		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++) {
				printf("%d ", a[i]);
		}
		return 0;
}

A. 버블 정렬 코드 → 오름 차순 정렬 → 50 75 85 95 100

Q. 통신 프로토콜의 기본 구성 요소 3가지를 쓰시오.