본문 바로가기
IT

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

by 배애앰이 좋아 2022. 5. 2.
반응형

 

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

 

더보기

=> 답 : XML

 

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

 

더보기

=> 답 : JSON

 

3. 다음은 릴리즈 노트의 구성 항목에 관한 설명이다. 설명하는 항목은 무엇인가?

 

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

 

더보기

=> 답 : 머릿말

 

+ 릴리즈 노트 구성 중 하나 : 머릿말, 개요, 목적, 문제 요약, 재현 단계, 해결책, 최종사용자 영향, 지원 영향, 참고, 면책

 

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

 

더보기

=> 답 : 동일한 테스트 전략, 기법을 적용할 시 내성이 생김

 

+ 소프트웨어 테스트 원리 7원칙 중 한 가지 : 결함 발견 / 요르돈 법칙(결함의 조기발견 및 재유입 방지) / 결함 집중(파레토 법칙) / 오류-부재 궤변 / 불완전성 / 살충제 페러독스 / 정황 의존성(테스트는 테스트 주변환경에 의한 영향을 받음)

 

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

 

더보기

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

 

+ 일반적인 절차 : 데이터 추출 -> 데이터 정제 -> 데이터 변형 -> 분석 -> 해석 -> 보고서 작성

+ 지도 학습 : 분류 / 예측 

+ 비지도 학습 : 군집화 / 연관 규칙 /  가중치 결정

 

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

 

더보기

=> 답 : 데이터의 형식 (아날로그 or 디지털), 부호화 (Unicode, ASCII), 신호크기 (0과 1의 전압 세기와, 어떻게 표현할지) 를 정하는 구문

 

+ 프로토콜 의미 : 컴퓨터와 컴퓨터, 원거리 통신 장비 사이에서 메시지를 주고받는 통신 규약

 

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

 

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

 

더보기

=> 답 : MD5

 

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

 

더보기

=> 답 : 계산 방법 : 우선순위 = (대기 시간 + 서비스 시간) / 서비스 시간 이 큰 순서

 

예시

 

더보기

+ 의미 : HRN : Highest Response-ratio Next Scheduling : 비선점 프로세스 스케줄링 기법 중 하나

+ 장점 : 실행 시간이 긴 프로세스에 불리한 SJF 스케줄링을 보완하기 위한 기법 / 긴 작업과 짧은 작업 간의 지나친 불평등 해소 / 대기 시간과 실행 시간을 이용하여 우선순위 구분

 

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

 

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

 

더보기

=> 답 : (가) 원자성 (나) 격리성

 

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

 

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

 

더보기

=> 답 : 랜드 어택 : Land Attack

 

+ Ping of Death Attack :  패킷을 정상적인 크기보다 아주 크게 만들어 전송하면 IP 단편화(fragment)가 발생. 이를 재조합하는 과정에서 많은 부하가 발생하거나 버퍼 오버플로우가 발생하여 정상적인 서비스를 하지 못하게 한다.

+ Smurf Attack : 출발지를 공격 대상 IP로 위조한 ICMP 패킷을 브로드캐스트하여 공격 대상이 다수의 ICMP 응답 받게 만들어 부하 유발

+ Teardrop Attack : 하나의 IP 패킷이 분할된 IP 단편의 offset값을 서로 중첩되도록 조작하여 이를 재조합하는 공격 대상 시스템에 에러와 부하 유발

+ SYN Flooding : 다량의 TCP SYN 패킷을 전송하여 공격대상 시스템을 마비시키는 공격

+ UDP Flooding : 다량의 UDP 패킷을 전송하여 네트워크 자원을 고갈시키는 공격

 

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

 

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

 

더보기

=> 답 : 물리 계층 = 1 계층 = physical layer 

 

+

1 : 물리 계층 :

- 물리적인 장치의 전기적, 전자적 연결에 대한 명세 / 디지털 데이터를 아날로그적인 전기적 신호로 변환하여 물리적인 전송이 가능 / 단위(PDU) : 비트(Bit) / 주요 프로토콜 : X.21, RS-232 등 / 주요 장비 : 허브(HUB), 리피터(Repeater) 네트워크 카드(NIC : Network Interface Card) 등

 

2 : 데이터링크 계층

- 인접한 노드간의 신뢰성 있는 데이터(단위 : 프레임) 전송을 제어(Nod-To-Nod Delivery) / 네트워크 카드의 MAC(Media Access Control)주소를 통해 목적지를 찾아간다. / 단위(PDU) : 프레임(Frame) / 주요 프로토콜 : HDLC, X.25, Ethernet, TokenRing, DFFI, FrameRelay 등 / 주요 장비 : 브리지(Bridge), L2 Switch 등

 

3 : 네트워크 계층

- 종단간 전송을 위한 경로 설정을 담당한다. (End-To-End 혹은 Host-To-Host Delivery) / 호스트로 도달하기 위한 최적의 경로를 라우팅 알고리즘을 통해 선택하고 제어한다. / 단위(PDU) : 패킷(Packet) / 주요 프로토콜 - IP, ARP, ICMP, IGMP, RIP, RIP v2, OSPF, IGRP, EIGRP, BGP 등 / 주요 장비 : 라우터(Router), L3 Switch

 

4 : 전송 계층

- 종단간 신뢰성 있는 데이터 전송을 담당한다. (End-To-End Reliable Delivery) / 신뢰성 있는 데이터 전송을 위해 분할과 재조합, 연결제어, 흐름제어, 오류제어, 혼잡제어를 수행한다. /  단위(PDU) : 세그먼트(Segment) / 주요 프로토콜 : TCP, UDP / 주요 장비 : L4 Switch

 

5 : 세션 계층

- 응용 프로그램간의 논리적인 연결(세션) 생성 및 제어를 담당 / 단위(PDU) : 데이터(Data) 또는 메세지(Message)

 

6 : 표현 계층

- 데이터 표현방식, 상이한 부호체계 간의 변화에 대해 규정 / 인코딩/디코딩, 압축/해제, 암호화/복호화 등의 역할을 수행 / 단위(PDU) : 데이터(Data)

 

7 : 응용 계층

- 단위(PDU) : 데이터(Data) / 주요 프로토콜 : TELNET, FTP, SMTP, HTTP 등

 

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

 

더보기

=> 답 : 20 개월 

30000 / (5 * 300) = 30000 / 1500 = 300 / 15 = 20

 

Line Of Code : 각 기능의 LOC(원시 코드 라인 수)의 낙관치, 기대치, 비관치를 측정하여 예측치를 구하고 이것으로 비용을 산정하는 기법 / 예측치: (낙관치 + 4 * 기대치 + 비관치) / 6

장점: 단순함, 쉽고 빠른 비용 산정

단점: 코드 재사용 등 환경 무시(부정확함)

 

 

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

 

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

 

더보기

=> 답 : (가) 처리량 (나) 응답시간 (다) 경과 시간

 

+ 부하 : 사용자가 대상 시스템에 요청하는 처리량

 

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

 

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

 

더보기

=> 답 : (가) 결합도 (나) 응집도

 

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

 

더보기

=> 답 : 데이터베이스 성능 향상 등을 위해 정규화된 데이터를 의도적으로 정규형을 위배한 데이터 구조로 만드는 행위

 

+ 주요 기법 : 테이블 합병, 중복 칼럼 추가, 계산된 칼럼 추가 , 코드 명칭 칼럼 추가

 

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

 

 

더보기

=> 답 : F, J (데이터가 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);
}

 

더보기

=> 답 : -8

 

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 DEPT FROM EMPLOYEE;
2) SELECT DISTINCT DEPT FROM EPLOYEE;
3) SELECT COUNT(DISTINCT DEPT) FROM EMPLOYEE WHERE DEPT='전산과';

 

더보기

=> 답 : 1) 200 2) 3 3) 1

 

 

문제 참고 사이트 : https://q.fran.kr/%ec%8b%9c%ed%97%98

 

시험 선택 기출문제 문제은행 CBT

시험 선택 기출 :: 문제은행, 기출문제 모의고사, 해설 포함. 전 회차 CBT, IBT, 국내 최대 문제 보유

q.fran.kr

 

반응형

댓글