카테고리 없음

정보처리기사 - 2일차 (기출 문제 20년 3회, 4회)

백코딩 2023. 9. 27. 17:52
728x90

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

 

1. 리팩토링의 목적에 대하여 서술하시오

- 복잡한 코드의 단순화, 소스의 가독성을 통해 유지보수성 향상, 유연한 시스템, 생산성 향상, 품질 향상 등이 있다.

 

 

2. C언어

#include <stdio.h>
void main() {
	int c=0;
    int i=0;
    while(i<10) {
    	i++; c*=i;
    }
    printf("%d",c);
}

답 : 0

c가 0이므로 어떤수를 곱해도 0이 됩니다.

 

3. OSPF(Open Shortest Path First)

대표적인 내부  라우팅 프로토콜로 다익스트라 알고리즘을 이용한 대규모 네트워크에 적합한 링크 상태 라우팅 프로토콜로 불리는 라우팅 프로토콜

라우팅 메트릭 지정 - 최소, 지연, 최대 처리량 등 관리자가 라우팅 메트릭 지정

 

라우팅 : 어떤 네트워크 안에서 통신 데이터를 보낼 때 최적의 경로를 선택하는 과정이다.

 

4. 형상 통제

형상 항목의 버전 관리를 위해서 변경 여부와 변경 활동을 통제하는 활동

 

형상 식별 - 형상 관리 대상을 정의 및 식별하는 활동

형상 통제 - 형상 항목의 버전 관리를 위한 형상통제위원회 운영

형상 감사 - 소프트웨어 베이스라인의 무결성 평가

형상 기록 - 소프트웨어 현상 및 변경관리에 대한 각종 수행결과를 기록

 

5. 심리학자 톰 마릴은 컴퓨터가 메세지를 전달하고, 메세지가 제대로 도착했는지 확인하며, 도착하지 않았을 경우 메세지를 재전송하는 일련의 방법을 '기술적 은어'를 뜻하는 ( ) 이라는 용어로 정의했다. 

답 : 프로토콜

프로토콜 : 서로 다른 시스템이나 기기들 간의 데이터 교환을 원할히 하기 위한 표준된 통신규약입니다.

프로토콜 기능 : 데이터 처리 기능/ 제어 기능/ 관리 기능

 

6. TCP/IP에서 오류가 발생하면 ( ) 메세지를 보내서 오류가 발생했음을 알린다.

ICMP(Internet Control Message Protocol)

-> IP 패킷을 처리할 때 발생하는 문제를 알려주는 프로토콜로, 메세지 형식은 8바이트의 헤더와 가변 길이의 데이터 영역으로 분리되어 있다.

 

7. 제어 흐름 그래프가 분기 커버리지를 만족하기 위한 테스팅 순서

답 : 1234561, 124567 or 1234567, 124561

결정 커버리지는 결정 포인트 내의 전체 조건식이 적어도 한 번은 참과 거짓의 결과를 결과를 수행해야 하기 때문에 첫 번째 분기문도 참, 거짓이 와야 하고, 두번 째 분기도 참, 거짓이 한번 씩 와야 한다.

 

8. 과목별 점수의 평균이 90이 상인 과목이름, 최소 점수, 최대 점수를 구하는 SQL문을 작성

답 : SELECT 과목이름, MIN(점수) AS 최소점수, MAX(점수) AS 최대점수 FROM 성적 GROUP BY 과목으름 HAVING AVG(점수) >= 90;

 

 

9. 학생 테이블에서 이름이 민수인 튜플을 삭제하는 SQL문을 작성하시오

답 : DELETE FROM 학생 WHERE 이름 = '민수';

 

10. 릴레이션 A, B가 있을 때 릴레이션 B 조건을 맞는 것들만 릴레이션 A에서 튜플을 꺼내 프로잭션하는 관계 대수의 기호

답 : ÷

순수관계연산자는 셀렉트, 프로젝트, 조인, 디비전이 있습니다.

 

셀렉트 : 릴레이션에 존재하는 튜플들 중에서 특정 조건을 만족하는 튜플들의 부분집합을 구하여 새로운 릴레이션을 만듭니다.

 

프로젝트 : 주어진 릴레이션 에서 속성 리스트에 제시된 속성 값만을 추출하여 새로운 릴레이션을 만듭니다.

(단 연산 결과에 중복이발생하면 중복이 제거됩니다.)

 

조인 : 공통 속성을 중심으로 2개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만듭니다.

 

11. 헝가리안 표기법(Hungarian Case)

헝가리안 표기법은 식별자 표기 시 접두어에 자료형을 붙이는 표기법

ex) strHelloMan

 

카멜 표기법 - 식별자 표기 시에 여러 단어가 이어지면 첫 단어 시작만 소문자로 표시하고, 각 단어의 첫 근자는 대문자로 지정하는 표기법

ex) helloBye

 

파스칼 표기법 - 식별자 표기 시에 여러 단어가 이어지면 각 단어의 첫 글자는 대문자로 지정하는 표기법 

ex) HelloBye

 

스네이크 표기법 - 식별자 표기 시에 여러 단어가 이어지면 단어 사이에 언더 바를 넣는 표기법 

ex) good_man

 

12. 테스트의 종류 중 둥치분할 테스트, 경계값 분석 테스트 등의 종류가 있는 테스트 기법

답 : 블랙박스 테스트(명세 기반 테스트)

 

블랙박스 테스트는 소프트웨어가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증하는 테스트로 기능 테스트라고 불립니다.

 

동치 분할 검사 : 입력 자료에 초점을 맞춰 테스트 케이스를 만들고 검사하는 방법(=동등 분할 기법)

 

경계값 분석 : 입력 자료에만 치중한 동치 분할 기법을 보완한 기법으로, 입력 조건의 중간값보다 경게값에서 오류가 발생될 확률이 높다는 점을 이용하여 입력 조건의 경계값을 테스트 케이스로 선정하여 검사하는 기법

 

원인-효과 그래프 섬사 :입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석한 다음 효용성이 높은 테스트 케이스를 선정하여 검사하는 기법

 

오류 에측 검사 : 과거의 경험이나 확인자의 감각으로 테스트하는 기법으로, 다른 블랙박스 테스트 기법으로는 찾아낼 수 없는 오류를 찾아내는 일력의 보충적 검사 기법(= 데이터 확인 검사)

 

비교 검사 : 여러 버전의 프로그램에 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 테스트하는 기법

 

13. C언어

int r1() {
	return 4;
}
int r10() {
	return (30+r1());
}
int r100() {
	return (200+r10());
}
int main() {
	printf("%d", r100());
    return 0;
}

답 : 234

 

14. DB 스키마에 대해서 서술

: 데이터베이스의 구조, 제약조건 등의 정보를 담고 잇는 기본적인 구조

 

abstract class Vehicle {
	String name;
	abstract public String getName(String val);

	public String getName() {
	return "Vehicle name :"+ name;
	}
}

class Car extends Vehicle {
	public Car(String val) {
    name=super.name=val;
    }
    public String getName(String val) {
    return "Car name :"+val;
    }
    public String getName(byte val[]) {
    return "Car name :"+val;
    }
}

public class Test{public static void main(String[]args) {
	Vehicle obj = new Car("Spark");
	System.out.printf(obj.getName());
}

답 : Vehicle name : Spartk

 

16. UI 설계 원칙 중 직관성

: 누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 하고, 쉬운 검색, 쉬운 사용성, 일관성을 가지고 있는 UI설계 원칙

 

17. 자바코드

public class Daniel{
	public static void main(String[]args) {
    	int i=0;
        int sum=0;
        while (i<10) {
        	i++;
            if(i%2==1)
            	continue;
            sum+=1;
            }
        System.out.print(sum);
    }
 }

답 : 2 + 4 + 6 + 10 = 30

 

18. EAI 유형에는 메세지 버스(Message bus), 하이브리드(Hybrid), 포인트 투 포인트(Point-to-Point), 허브 앤 스포크(Hub & Spoke)

 

EAI(기업 내외부 정보시스템 통합)

EAI의 유형 (데이터 전송 모델)

메세지 버스 : 애플리케이션과 미들웨어간 웹서비스 인터페이스를 통해 전송

하이브리드 : 허브앤스포크와 메세지버스 혼합

포인트 투 포인트 : 1 : 1 방식으로 애플리케이션 통합 수행

허브 앤 스포크 : 단일 접점인 허브시템을 통해 데이터를 전송하는 중앙 집중 방식

 

 

19. C++에서 생성자란

: 해당 클래스의 객체가 생성될 때 자동으로 호출되는 특수한 종류의 메서드

 

20. 학생 테이블에 주소 속성을 추가하는 SQL

( ) TABLE 학생 ( ) 주소 VARCHAR (20);

답 : ALTER, ADD

 

 

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

1. 현재 IPv4의 확장형으로 IPv4가 가지고 있는 주소 고갈, 보안성, 이동성 지원 등의 문제점을 해결하기 위해서 개발된 128비트 주소체계를  갖는 차세대 인터넷 프로토콜

답 : IPv6

 

2. 목적에 따른 디자인 패턴의 유형에는 생성, 구조, ( ) 이/가 있다. 

답 : 행위

디자인 패턴

목적 : 생성/ 구조/ 행위

범위 : 클래스 / 객체

 

3. 패키지 내부의 사각형이 다른 패키지 내부의 사각형 import하는 구조(그림) / UML 다이어그램에서 <<import>> order 점선 화살표

답 : 패키지 다이어그램

 

UML(Unifiend Modeling Language)다이어그램 : 통합 모델링 언어를 사용하여 시스템 상호작용, 업무 흐름, 시스템 구조, 컴포넌스 관계 등을 그린 도면입니다. 사용이유는 프로그래밍을 단순화 시켜 표현하여 의사소통하기 좋고, 대규모 프로젝트 구조의 로드맵을 만들거나 개발을 위한 시스템 구축에 기본을 마련합니다.

 

4. 데이터베이스의 회복(Recovery) 기법 중 Rollback 시 Redo, Undo가 모두 실행되는 트랜잭션 처리법으로 트랜잭션 수행 중 갱신 결과를 바로 DB에 반영하는 기법

답 : 즉각 갱신 회복 기법

 

지연 갱신 회복 기법 : 트랜잭션의 부분 와료 상태에선 변경 내용을 로그 파일에만 저장

 

체크 포인트 회복 기법 : 장애 발생 시, 검사점(checkpoint)이전에 처리된 트랜잭션은 회복에서 제외하고 검사점 이후에 처리된 트랜잭션은 회복 작업 수행

 

그림자 페이징 회복 기법 : 트랜잭션이 실행되는 메모리상의 current page table과 하드디스크의 shadow page table이용

 

미디어 회복 기법 : 디스크와 같은 비휘발성 저장 장치가 손상되는 자애 발생을 대비한 회복 기법

 

5. 10을 2진수로 변환하는 자바 소스 코드

public class Test {
	public static void main(String[]args) {
    	int a[]=new int[8];
        int i=0, n=10;
        while ( ① ) {
        	a[i++]= ②;
            n/=2;
        }
        for(i=7; i>=0; i--)
        	System.out.printf("%d", a[i]);
        }
}

출력 결과 : 00001010

답 :

1. n > 0 or n >=1 or i < 8 or i <=7

2. n % 2 or n & 1

 

6. 자바 소스 코드

public class Test {
	public static void main(String[]args) {
    	int[][]array=new int[①][②];
        int n=1;
        for(int i = 0; i < 3; i++) {
        	for(int j = 0; j < 5; j++) {
            	array[i][j] = j*3 + (i+1);
                System.out.print(array[i][j] + "");
            }
            System.out.println();
        }
    }
}

답 : 3, 5

 

7. 스니핑(Sniffing)에 대하여 서술

답 : 암호화되지 않은 패킷들을 수집하여 순서대로 재조합 후, ID, PW와 같은 중요한 정보를 유출하기 위한 수동적인 형태의 공격

 

네트워크 공격 기법

IP 스푸핑 : 발신지 IP나 목적지 IP를 위조하여 공격하는 기법

 

ARP 스푸핑 : MAC 주소를 위조하여 랜상에서의 통신 흐름을 왜곡시키는 공격 기법

 

트로이 목마 : 사용자가 원하는 무언가로 변장해 시스템 방어망을 뚫고 들어가는 공격 기법

 

8. IP 패킹에서 외부의 공인 IP주소와 포트 주소에 해당하는 내부 IP 주소를 재기록하여 라우터를 통해 네트워크 트래픽을 주고받은 기술

: NAT(Network Address Transformation)

 

9. 파이썬 소스 코드

 

lol = [[1,2,3], [4,5], [6,7,8,9]]
print(lol[0])
print(lol[2][1])
for sub in lol:
for item in sub:
print(item, end=" ")
print()

답:

[1,2,3]

7

1 2 3

4 5

6 7 8 9

 

10. 블록 체인

- 분산 컴퓨팅 기술 기반의 데이터 위변조 방지 기술로 P2P방식을 기반으로 하여 소규모 데이터들이 연결되어 형성된 '블록'이라는 분산 데이터 저장 환경에 관리 대상 데이터를 저장함으로써 누구도 임의 로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있게끔 만드는 기술

 

 

11. 하둡

- 오픈 소스 기반으로 한 분산 컴퓨팅 플랫폼으로, 일반 PC 급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프렘임워크로 구글, 야후 등 적용한 기술

 

12. 데이터베이스 이상 현상의 종류 3가지

- 삽입 이상, 삭제 이상, 갱신 이상

 

13. 프로세스 상태 전이도

 

14. 테스트 오라클 중 특정한 몇 개의 입력값에 대해서만 기대하는 결과를 제공해주는 오라클

답 : 샘플링 오라클

 

테스트 오라클은 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값을 입력하여 비교하는 기법

 

참 오라클 - 모든 입력값에 대하여 기대하는 결과를 생성하여 오류 검출

샘플링 오라클 - 특정한 몇 개의 입력값에 대해서만 기대하는 결과를 제공

휴리스틱 오라클 - 샘플링 오라클을 개선 / 특정 입력값에 올바른 결과를 제공하고 나머지 값은 휴리스틱(추정)으로 처리

일관성 검사 오라클 - 애플리케이션이 변경이 있을 때, 수행 저과 후의 결과값이 동일한지 확인

 

15.  60  ~ 70 구간, 70 ~ 80 구간 80 ~ 90 구간 90 ~ 100 구간 각 구간마다 하나씩 테스트 데이터가 주어짐(테스트 데이터: 55점, 65점, 78점...)

 

답 : 동등분할 테스트

-> 입력 데이터의 영역을 유사한 도메인별로 유효 값/ 무효 값을 그룹핑하여 대푯값 테스트 케이스를 도출하여 영역 내에 있는 일반 값들로 테스트하는 기법(블랙박스 테스트)

데이터 영역에 가까운 값이 아닌 영역 내에 있는 일반 값들로 테스트한다.

 

16. SQL

답 : SELECT 학과, COUNT(학과) AS 학과별투플수 FROM 학생 GROUP BY 학과;

 

 

17. 데니스 리치와 켄톰슨 등이 함께 벨 연구소를 통해 만든 운영체제이며, 90%이상 C언어로 구현되어 있고, 시스템 프로그램이 모듈화되어 있어서 다른 하드웨어 기종으로 쉽게 이식 가능하며 게층적 트리 구조를 가짐으로써 통합적인 파일 관리가 용이한 운영체제

답 : 유닉스

 

대화식 운영체제 기능 제공/ 다중 작업 기능 제공/ 다중 사용자 제공/ 이식성 제공/ 게층적 트리 구조 파일 시스템 제공

 

18 C언어 출력문제

int main() {
	char *p = "KOREA";
    printf("%s \n  ", p);
    printf("%s \n ", p+3);
    printf("%c \n ", *p);
    printf("%c \n ", *(p+3));
    printf("%c ", *p+2);
}

답:

KOREA

EA

K

E

M

 

19. 자바 상속 문제

class Parent {
	 int compute(int num) {
      if( num <= 1) return num;
      return compute(num-1) + compute(num-2);
     }
}

class Child extends Parent {
	 int compute(int num) {
      if( num <= 1) return num;
      return compute(num-1) + compute(num-3);
     }
}

public class Test {
	public static void main(String[] args) {
    	Parent obj = new Child();
        System.out.print(obj.compute(4));
    }
}

답 : 1

 

20. 정보보안에서 가용성(Availablility)에 대하여 서술

- 권한을 가진 사용자가 애플리케이션이 원하는 서비스를 지속 사용할 수 있도록 보장하는 특성

 

SW 개발 보안의 3개 요소 : 기밀성/ 무결성 / 가용성

기밀성 : 인가되지 않은 개인 혹은 시스템 접근에 따라 정보 공개 및 노출을 차단하는 특성

 

무결성 : 정당한 방법을 따르지 않고선 데이터가 변경될 수 없으며, 데이터의 정확성 및 완정성과 고의/악의로 변경되거나 훼손 또는 파괴되징 않음을 보장하는 특성

728x90