관리 메뉴

피터의 개발이야기

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

개발이야기/정보처리기사

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

기록하는 백앤드개발자 2024. 3. 11. 11:51
반응형

ㅁ 들어가며

ㅇ 정보처리기사 실기 - 2020년 1회 기출문제 

ㅇ 홍달샘- 정보처리기사 실기 2020년 1회 - 기출해설특강

 

1. 다음 ( ) 안에 들어갈 단어를 쓰시오.

(         )은(는) 웹브라우저 간 HTML 문법이 호환되지 않는 문제와 SGML의 복잡함을 해결하기 위하여 개발된 다목적 마크업 언어이다.

 

2. 다음 ( ) 안에 들어갈 단어를 쓰시오.

(        )은 속성-값 쌍(attribute-value pairs)으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷이다. AJAX에서 많이 사용되고 XML을 대체하는 주요 데이터 포맷이다. 언어 독립형 데이터 포맷으로 다양한 프로그래밍 언어에서 사용되고 있다.​
더보기

JSON

 

3. 다음 릴리즈 노트의 구성 항목은 무엇인가?

릴리즈 노트 이름, 소프트웨어 이름, 릴리즈 버전, 릴리즈 날짜, 릴리즈 노트 날짜, 릴리즈 노트 버전 등의 기존정보가 포함된다.
더보기

머릿말

 

4. 애플리케이션 테스트의 기본 원리 중 살충제 패러독스(Pesticide Paradox)의 의미를 설명하시오.

더보기

살충제를 지속적으로 뿌리면 벌레가 내성이 생겨 죽지 않듯이, 같은 테스트 케이스를 계속해서 반복하면 점차 더 이상 결함을 발견하지 못한다.

# 핵심 122) 애플리케이션 테스트 관련 용어

ㅇ 파레토 법칙(Pareto Principle)

 ㄴ 상위20%가 매출의 80%, 이와 같이 특정모듈을 집중적으로 테스트하여 효율적으로 오류를 찾는다.

ㅇ 오류-부재의 궤변(Absence of Errors Fallacy)

 ㄴ 소프트웨어의 결함이 없다해도 사용자의 요구사항을 만족하지 못하면 소프트웨어의 품질은 높다고 말할 수 없다.

 

 

5. 데이터 마이닝이란 무엇인지 설명하시오.

더보기

대량의 비정교화된 데이터에서 내재되어 있는 관계성을 찾아 패턴화함으로써 유효한 데이터 형태로 가공하는 과정이다.

 

6. 프로토콜을 구성하는 대표적인 세가지 요소를 적으시오.

더보기

구문(Syntax), 의미(Semantic), 타이밍(Timing)

 

7. 다음에서 설명하는 해시 함수는?

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

MD5

## 해시
해시는 데이터나 메시지를 고정된 길이의 값으로 변환하는 것.
 ㄴ 해시 알고리즘은 해시 함수로 부름
 ㄴ 해시 함수의 변환 값: 해시값, 해시키
데이터 암호화, 무결성 검증 뿐만 아니라 다양한 보안분야에 활용

## 종류
SHA: 1993, NSA에서 설계. 
 ㄴSHA-0, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512를 발표
 ㄴ보안성이 깨져서 사용하지 않음
 
MD5: 
 ㄴ 1991년 R.Rivest가 MD4를 대체용 암호화 해시함수
 ㄴ 블록 크기=512비트, 키 길이=128비트

N-NASH: 
 ㄴ 1989년 일본,전신전화주식회사(NTT), 암호화 해시함수
 ㄴ 블록 크기와 키 길이가 모두 128비트
 
SNEFRU:
 ㄴ 1990년 R.C.Merkle
 ㄴ 32비트 프로세서를 위한 암호화 해시함수
 ㄴ 블록 크기=512비트이며, 
 ㄴ 키 길이에 따라 128과 256으로 분류

 

8. 비선점형 스케줄링 HRN의 우선순위 계산식을 작성하시오.​

더보기

(대기시간+수행시간)/수행시간

 

9. 아래는 데이터베이스 트랜잭션의 4가지 속성이다. (가) , (나)에 들어가 단어를 적으시오.

속성 설명
(가) 트랜잭션은 연산들을 전부 실행하든지 전혀 실행하지 않아야 한다. 일부만 실행해서는 안 된다.
일관성 트랜잭션이 성공적으로 실행되면 데이터베이스 상태는 모순되지 않고 일관된 상태가 된다.
(나) 트랜잭션 실행 도중의 연산 결과는 다른 트랜잭션에서 접근할 수 없다.
지속성 트랜잭션이 성공했을 경우 영구적으로 반영되어야 한다.
더보기

가: 원자성, 나: 격리성

 

10. 다음에서 설명하는 서비스 거부 공격은?

패킷의 출발지 주소(Address)나 포트(port)를 임의로 변경하여 출발지와 목적지 주소(또는 포트)를 동일하게 함으로써, 공격 대상 컴퓨터의 실행 속도를 느리게 하거나 동작을 마비시켜 서비스 거부 상태에 빠지도록 하는 공격
더보기

LAND Attack: Local Area Network Denial Attack

 

11. OSI 7계층 중 다음에서 설명하는 계층은?

전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의한다. 단위(PDU)는 '비트'를 사용한다.
더보기

물리 계층


12. LoC 기법으로 개발을 해야 하는 프로젝트의 총 라인이 30000 라인이고, 개발자가 5명, 그리고 인당 월평균 300라인의 개발이 가능할 때, 개발하는데 소요될 것으로 예상되는 시간의 계산식과 그 결과를 작성하시오.

더보기

계산식: 30000/5/300=20, 결과: 20개월

 

13.아래는 애플리케이션 성능을 측정하기 위한 요소들이다. (가), (나),(다)에 들어갈 단어를 적으시오.

속성 설명
(가) 일정 시간 내에 애플리케이션이 처리하는 일의 양
(나) 애플리케이션에 요청을 전달한 시간부터 응답이 도착할 때까지 걸린 시간
(다) 애플리케이션에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
자원 사용률 애플리케이션이 의뢰한 작업을 처리하는 동안의 CPU 사용량, 메모리 사용량, 네트워크 사용량 등
더보기

가: 처리량, 나: 응답시간, 다: 경과시간  


14. 다음은 소프트웨어 모듈화에 관한 설명이다. (가), (나)에 들어갈 단어를 각각 적으시오.

모듈의 기능적 독립성은 소프트웨어를 구성하는 각 모듈의 기능이 서로 독립됨을 의미하는 것으로, 모듈이 하나의 기능만을 수행하고 다른 모듈과의 과도한 상호작용을 배제함으로써 이루어진다. 모듈의 독립성을 높이기 위해서는 ( 가 )는 약하게, ( 나 )는 강하게 만들어야 한다.
더보기

가: 결합도, 나: 응집도

 

15. 데이터베이스 성능 개선과 관련하여 '데이터베이스 반정규화'란 무엇인지 설명하시오.

더보기

반정규화란 시스템의 성능개선과 개발 및 운영의 편의성을 위해 정규화된 데이터를 통합, 중복, 분리하는 과정이다.

핵심: 184 반정규화의 개념

 

16.다음의 시스템 구조도에서 팬인(Fan-in)이 2 이상인 것은?

 

17. 다음은 C언어로 작성된 코드이다. 코드의 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)

#include 
void align(int a[ ]) {
int temp;
for (int i = 0; i < 4; i++) {
  for (int j=0; j < 4 - i; j++)  {
    if (a[j]> a[j+1]) {
      temp = a[j];
      a[j] = a[j+1];
      a[j+1] = temp;
    }
  }
}

main( ) {
    int a[ ] = { 85, 75, 50, 100, 95 };
    align(a);
     for (int i = 0; i < 5; i++) printf("%d ", a[i]);
}
더보기

50 75 85 95 100

 

18. 다음은 C언어로 작성된 코드이다. 코드의 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)

#include 
main( ) {
   int c = 1;
   switch (3) {
      case 1: c += 3;
      case 2: c++;
      case 3: c = 0;
      case 4: c += 3;
      case 5: c -= 10;
      default: c--;
   }
   printf("%d", c);
}

 

19. 다음은 Java언어로 작성된 코드이다. 코드의 실행 결과를 쓰시오. (단, 출력문의 출력 서식을 준수하시오.)

public class Test {
   static int[ ] arr( ) {
     int a[ ] = new int[4];
     int b = a.length;
     for(int i = 0; i < b; i++)
        a[i] = i;
     return a;
  }

  public static void main(String[ ] args) {
     int a[ ] = arr( );
     for(int i = 0; i < a.length; i++)
        System.out.print(a[i] + " ");
  }
}
더보기

0 1 2 3

 

20. 학생 테이블에 전기과 학생이 50명, 전산과 학생이 100명, 전자과 학생이 50명 있다고 할 때, 다음 SQL문 ①, ②, ③의 실행 결과로 표시되는 튜플의 수를 쓰시오. (단, DEPT 필드는 학과를 의미)​

1) SELECT 학과 FROM 학생;
2) SELECT DISTINCT 학과 FROM 학생;
3) SELECT COUNT(DISTINCT 학과) FROM 학생 WHERE 학과='전산과';
더보기

1) 200

2) 3

3) 1

반응형
Comments