정보처리기사/정보처리기사 실기 문제 복원

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

코딩하는 핑가 2022. 6. 10. 13:14
반응형

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

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

https://cafe.naver.com/soojebi와, http://www.gisafirst.com/을 참고로 작성되었습니다.

* 본 포스팅을 무단 복제하거나 배포하지 마시기 바랍니다. ( 게시글 최상단에 본 블로그 출처 밝히시면 포스팅 가능합니다. )

 

1. 다음 설명에 맞는 RAID 단계를 숫자로 쓰시오.

- 스트라이프(Stripe or Striping)

- 두 개 이상의 하드디스크를 병렬로 연결해, 하나의 하드디스크처럼 이용하는 기술

더보기

문제 유형 : 단답형 ( 2019년 1회 신기술 용어로 출제됨 )

답안 : 0

 

해설 참고 : https://raisonde.tistory.com/entry/RAID-0-RAID-1-RAID-5-RAID-01-RAID-10 

RAID(Redundant Array of Independent Disks)

- 하드디스크를 병렬로 배열해 사용하는 기법

- 컴퓨터의 성능을 끌어올리기 위한 방법

- 저장장치 여러 개를 묶어 고용량·고성능 저장장치 한 개와 같은 효과를 얻기 위해 개발된 기법

- RAID는 여러개의 디스크를 하나로 묶어 하나의 논리적 디스크로 작동하게 하며, 하드웨어적인 방법과 소프트웨어적인 방법이 있다

 

1. RAID 0

- 스트라이프(Stripe or Striping)

- 두 개 이상의 하드디스크를 병렬로 연결해, 하나의 하드디스크처럼 이용하는 기술 

- 속도 추구만을 위한 레이드 구성

- 단순히 하드 여러개에 데이터를 분산시켜서 한꺼번에 입출력을 수행하는 것

2. RAID 1

- 미러(Mirror or Mirroring)

- 두 개 이상의 하드디스크를 병렬로 연결해서 똑같은 복사본을 생성하는 기술

- 안전성 추구만을 위한 레이드 구성

 

3. RAID-5 : Independent data disks with distributed parity blocks

- 안전성과 속도 모두 추가한 가장 무난하게 사용되는 방식

- 최소한 3개 이상의 하드가 있어야 구현이 가능- 패리티를 사용하지만 여러 하드에 분산 저장하여 병목 현상을 해결해줌

4. RAID 0+1

- RAID 0(스트라이프)와 RAID 1(미러)를 혼용한 방식

- 스트라이핑한 디스크 두 개를 서로 미러링

- 속도 향상과 복사본 생성이라는 두 가지 목적을 동시에 어느정도 구현할 수 있다

- RAID0의 스트라이핑으로 구성된 하드들을 묶어 RAID-1미러링으로 구성하는 방법

5. RAID-1+0

- RAID-0+1의 반대 개념

- RAID-1로 구성된 하드들을 묶어 RAID-0으로 구성하는 방법

- RAID-0+1보단 RAID-1+0이 더 많이 쓰임

 

2. 다음 DB 회복 기법에 대한 설명에 알맞은 답을 [보기]에서 찾아 작성하시오.

[보기]

(1) 장애 발생 전 DB로 복구, 재실행

(2) 변경 연산 취소

ㄱ. Commit | ㄴ. Active | ㄷ. Partially Committed |
ㄹ. Rollback | ㅁ. Abort | ㅂ. Committed |
ㅅ. Failed | ㅇ. re
do | ㅈ. undo
더보기

문제 유형 : 단답형 ( 2020년 4,5회 즉시 회복 기법 출제됨 )

답안 : (1) ㅇ. redo (2) ㅈ. undo

해설

* DB 회복 기법

* 보기 설명

ㄱ. Commit : 트랜잭션 연산의 종류로 하나의 트랜잭션이 성공적으로 종료된 후, 데이터베이스가 일관된 상태를 유지할 때 갱신 연산이 완료되었다고 트랜잭션 관리자에게 알려주고 결과를 최종적으로 데이터베이스에 반영하는 연산이다.

ㄴ. Active : 트랜잭션 상태의 종류로 트랜잭션이 작업을 시작하여 실행중인 상태이다.

ㄷ. Partially Committed : 트랜잭션 상태의 종류로 트랜잭션의 마지막 연산까지 실행하고 commit 요청이 들어온 직후의 상태, 최종 결과를 데이터베이스에 아직 반영하지 않은 상태이다.

ㄹ. Rollback : 트랜잭션 연산의 종류로 하나의 트랜잭션이 비정상적으로 종료되어 데이터베이스의 일관성을 잃었을 때 트랜잭션이 지금까지 실행한 연산의 결과가 취소되고 트랜잭션 수행 이전의 상태로 돌아가는 연산이다.

ㅁ. Aborted : 트랜잭션 상태의 종류로 트랜잭션이 비정상적으로 종료되어 Rollback 연산을 수행한 상태이다.

ㅂ. Committed : 트래잭션 상태의 종류로 트랜잭션이 성공적으로 종료되어 commit연산을 실행한 후의 상태이다.

ㅅ. Failed : 트랜잭션 상태의 종류로 트랜잭션에 오류가 발생하여 실행이 중단된 상태이다.

https://rebro.kr/162
https://rebro.kr/162

 

3. 자바 - static 메소드 문제

class A {
	int a;
    int b;
}

public class Main {
	static void func1(A m){
    		m.a *= 10;
    }
	
    static void func2(A m){
			m.a += m.b;
	}

    public static void main(String args[]){
    		A m = new A();
			m.a = 100;
			func1(m);
			m.b = m.a;
			func2(m);
            System.out.printf("%d", m.a);
	}

}

 

더보기

문제 유형 : 프로그래밍 ( 2021년 2회 static 문제 출제됨 )

답안 : 2000

 

4. 다음 SQL문을 보고 SQL문의 score 결과가 내림차순으로 정렬될 수 있도록 괄호를 알맞게 채우시오.

[SQL]

  NAME SCORE
1 SMITH 55
2 ALLEN 88
3 SCOTT 90
SELECT name, score
FROM 성적
(1) BY (2) (3)
더보기

문제 유형 : 프로그래밍

답안 : 

1. ORDER

2. SCORE

3. DESC

 

5. 이상 현상 중 삭제 이상에 대하여 서술하시오.

더보기

문제 유형 : 서술형 ( 정보처리기사 실기 기출변형 단답형 100제 )

답안 : 데이터 삭제 시 원치 않는 정보까지 삭제되는 현상

 

해설

* 이상현상 (Anomaly)

- 데이터의 중복성으로 인해 테이블을 조작할 때 발생하는 비합리적인 현상

- 릴레이션 조작 시 데이터들이 불필요하게 중복되어 예기치 않게 발생하는 곤란한 현상

- 삽입 이상 : 정보 저장 시 불필요한 세부사항을 입력해야 하는 경우

- 삭제 이상 : 삭제 시 원치 않는 정보까지 삭제되는 경우

- 갱신 이상 : 중복 데이터에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우

 

6. 파이썬

def func(num1, num2=2):

                print('a=', num1, 'b=', num2)

func(20)
더보기

문제 유형 : 프로그래밍

답안 : a=20 b=2

 

7. 다음은 파이썬 리스트 함수에 대한 [보기]에서 (1)-(3) 에 알맞은 답안을 찾아 쓰시오. ( 부분 점수 있음 )

[보기]

ㄱ. pop | ㄴ. append | ㄷ. reverse

ㄹ. insert | ㅁ. sort | ㅂ. index | ㅅ. extend

(1) 원래의 리스트에 지정한 리스트를 추가하여 확장함

(2) 마지막 요소 또는 지정한 요소를 삭제하고 삭제한 값을 반환함

(3) 역순으로 뒤집음

더보기

문제 유형 : 프로그래밍 (Python)

답안 : ㅅ. extend / ㄱ. pop / ㄷ. reverse

 

해설

-ㄴ. append : 리스트 끝에 요소 추가하기

-ㄹ. insert : 리스트의 원하는 위치에 요소 삽입하기

-ㅁ. sort : 리스트 정렬하기

-ㅂ. index : 요소의 위치 반환하기

 

* 보기에 나오지 않은 python에서 다른 리스트 함수

1. remove : 리스트 요소 제거하기

2. count : 리스트의 요소 개수 세기

 

8. 다음 단어를 영어 약자로 작성하시오.

임시 키 무결성 프로토콜

더보기

문제 유형 : 단답형

답안 : TKIP

 

해설

* Wi-Fi 보안 방식 (TKIP, AES)

- TKIP(Temporal Key Integrity Protocol)

: WEP 암호화를 대체하기 위해 만들어진 보안 프로토콜

  WEP 암호와 매우 유사

  하지만 TKIP 인증 방식은 더는 안전하지 않은 것으로 간주하며 사용되지 않고 있음
 
- AES(Advanced Encryption Standard)

: 매우 안전한 암호화 프로토콜
  AES는 미국 정부에 의해 채택되고 있는 매우 강력한 암호화 표준

 

9. UI 기술 중 신체를 활용한 기술을 영어 약자로 작성하시오.

더보기

문제 유형 : 단답형

답안 : NUI

 

해설

* UI

- 사용자 인터페이스

: 인터페이스 중에서 사람과 컴퓨터를 서로 원활하게 상호 소통할 수 있게 중간에서 연결시켜주는 소프트웨어 또는 장치

 

* CLI (Command Line Interface)

- 명령어 라인 인터페이스

- 키보드를 통한 텍스트 입력과 출력

 

* GUI (Graphic User Interface)

- 그래픽 사용자 인터페이스

- 마우스를 통한 그래픽

 

* NUI (Natural Uesr Interface)

- 자연스러운 사용자 인터페이스

- 사람의 신체를 통한 입력과 출력 제어

 

* OUI (Oranic User Interface)

- 유기적 사용자 인터페이스

- 자연 그대로의 상태 특성들을 반영한 장치 제어

 

10. 다음은 분석도구에 대한 설명이다. [보기]에서 (1)-(2) 에 알맞은 답안을 찾아 쓰시오. ( 부분 점수 있음 )[보기]

ㄱ. static | ㄴ. Execution | ㄷ. Performance

ㄹ. Control | ㅁ. dynamic | ㅂ. Harness 

(1) 실행하지 않고 코드를 분석하는 도구
(2) 프로그램 동작이나 반응을 추적하고 보고, 스냅샷 생성 및 비교, 모니터링을 하는 도구

더보기

문제 유형 : 단답형

답안 : ㄱ.static / ㅁ.dynamic

 

해설

* Static ( 테스트 정적 분석 도구 )

: 소스 코드를 실행하지 않고 분석하는 테스트 분석 도구

- 종류 : pmd, SonarQube, cppcheck, checkstyle

- pmd : 미사용 변수, 비어있는 코드 블락, 불필요한 오브젝트 생성과 같은 Defect을 유발할 수 있는 코드를 검사하며, 주로 Java에서 사용하지만, Javascript, PLSQL, XML 등의 언어도 지원

- SonarQube : 중복코드, 복잡도, 코딩 설계 등을 분석하는 소스 분석 통합 플랫폼이며, 다른 정적 분석 도구에 비해 다양한 기능을 지원

- checkstyle :  코드가 코딩 룰을 잘 따르고 있는지 분석하는 도구이며 디폴트 코딩룰은 Google's Style, Unix Style이다. 조직만의 코딩 룰을 정의 가능한 것이 특징이다.

 

* Dynamic ( 테스트 동적 분석 도구 )
: 소스 코드를 실행하며 분석

- 종류 : Avalanche, Valgrind
 

다른 보기 해설

- 참고 : https://m.blog.naver.com/handuelly/221958993492

* 테스트 자동화 도구 유형

 

* 테스트 실행 도구(Test Execution Tools)
- 스크립트 언어를 사용하여 테스트를 실행하는 방법
- 테스트 데이터와 수행 방법 등이 포함된 스크립트를 작성한 후 실행
- 데이터 주도 접근 방식 : 스프레드시트에 테스트 데이터를 저장하고 실행하는 방식, 다양한 테스트 데이터를 동일한 테스트 케이스로 반복하여 실행, 미리 작성된 스크립트에 테스트 데이터만 추가하여 테스트 진행 가능
- 키워드 주도 접근 방식 : 스프레드시트에 테스트를 수행할 동작을 나타내는 키워드와 테스트 데이터를 저장하여 실행, 키워드를 이용하여 테스트 정의

* 성능 테스트 도구(Performance Test Tools)
- 애플리케이션의 처리량, 응답 시간, 경과 시간, 자원 사용률 등 성능 목표 달성 여부 확인
- 인위적으로 적용한 가상 사용자를 만들어 테스트 수행

* 테스트 통제 도구(Test Control Tools)
- 테스트 계획 및 관리, 테스트 수행, 결함 관리 등을 수행하는 도구
- 형상 관리 도구, 결함 추적, 결함 관리 도구

 

*테스트 하네스 도구(Test Harness Tools)
- 테스트 하네스 : 애플리케이션의 컴포넌트 및 모듈을 테스트하는 환경의 일부분으로, 테스트를 지원하기 위해 생성된 코드와 데이터
- 테스트가 실행될 환경을 시뮬레이션 하여 컴포턴트 및 모듈이 정상적으로 테스트 되도록 한다.

 

11. 자바 - 스레드 구현, 객체 생성 - 괄호 채우기 문제

class Car implements Runnable{

        int a;

        public void run(){

                System.out.println("메시지"); 

        }

}

public class Main{

        public static void main(String args[]){

                Thread t1 = new Thread(new ______ ()); // 빈칸

                t1.start();

        }


}
더보기

문제 유형 : 프로그래밍

답안 : Car

 

12. 이것은 자바 단위 테스트 도구로 xUnit 테스트 기법, Erich Gamma와 Kent Beck이 만든 오픈 소스 테스트 프레임워크이다. 답안에 이것을 작성하시오.

더보기

문제 유형 : 단답형

답안 : JUnit

 

13. 다음 [보기]에서 블랙박스 테스트 기법인 것을 3가지 찾아 답안에 작성하시오. ( 부분 점수 있음 )

[보기]

ㄱ. Cause-Decision Graph

ㄴ. Statement Coverage

ㄷ. Boundary Value Analysis

ㄹ. Equivalence Partitioning

ㅁ. Decision Coverage

ㅂ. Cause-Effect Graphing Testing

ㅅ. Base Path Coverage

ㅇ. Boundary Division Analysis

ㅈ. Base Path Testing
더보기

문제 유형 : 단답형 ( 블랙박스 테스트 기법 다수 출제됨 )

답안 : ㄷ.Boundary Value Analysis / ㄹ.Equivalence Partitioning / ㅂ.Cause-Effect Graphing Testing

 

해설

* ㄷ.Boundary Value Analysis 

- 경계값 분석

 

* ㄹ.Equivalence Partitioning

- 동등분할

 

* ㅂ.Cause-Effect Graphing Testing

- 원인-효과 그래프

 

14. C언어 - 재귀함수

다음 코드에서 5를 입력했을 때 출력 값을 작성하시오.

#include 
int func(int a) {
        if (a <= 1) return 1;
        return a * func(a - 1);
}

int main() {
        int a;
        scanf("%d", &a);
        printf("%d", func(a));
}
더보기

문제 유형 : 프로그래밍

답안 : 120

 

15. C언어 - 정수를 역순으로 출력 - 괄호에 연산자 채우기

빈 칸에 연산자를 써서 정수를 역순으로 출력하는 프로그램을 완성하시오.

예를 들어 1234의 역순은 4321이다. 단, 1230처럼 0으로 끝나는 정수는 고려하지 않는다.

#include 

int main() {

        int number = 1234;
        int divider = 10;
        int result = 0;

        while (number ① 0) {

                result = result * divider;
                result = result + number ② divider;
                number = number ③ divider;

        }

        printf("%d", result);


}
더보기

문제 유형 : 프로그래밍

답안 : ① > (또는 !=) ② % ③ / 

 

16. 다음 단어를 영어 약자로 작성하시오.

정보보호관리체계

더보기

문제 유형 : 단답형

답안 : ISMS

 

해설

* Information Security Management System

... 작성중

반응형