minlog
article thumbnail

 

정보처리기사 실기 2022년 1회

 

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

ㅇ 두 개 이상의 하드디스크를 병렬로 연결해, 하나의 디스크처럼 이용하는 기술이다.
ㅇ 스트라이프(Stripe) 방식으로 구현하여 I/O 속도가 빠르다.
ㅇ데이터를 블럭단위로 분할하고 나누어 저장하기 때문에 하나의 디스크에 문제가 생기면 데이터 사용이 불가능해진다.
더보기

답 : RAID-0


풀이

RAID : 하드디스크 여러 개를 활용하여 속도 향상이나 안전성 향상을 높이는 기술

  • Raid 0 : Striped Disk Array wiout Fault Tolerance
    • 속도 향상만을 추구하는 스트라이핑 모델
  • Raid 1 : Mirroring and Duplexing
    • 안정성만을 추구하는 미러링 모델
    • 고장허용 n-1
  • Raid 2 : Hamming code ECC
  • Raid 3 : Parallel Transfer with Parity
  • Raid 4 : Independent Data Disks with Shared Parity Disk
  • Raid 5 : Independent Data Disks with Distributed Parity Blocks
  • Raid 6 : Independent Data Disks with Two Independent Distributed Parity Schemes
  • Raid 1+0 : Very High Reliability Combined with High Performance_Striping & Mirroring
  • Raid 0+1 : High Data Transfer Performance

 


 

2. 다음은 로그 기반 회복기법에서 사용되는 명령어이다. 각 지문에 해당하는 명령을 적으시오.

1. 오류가 발생하기 전까지의 사항을 로그(log)로 기록해 놓고, 이전 상태로 되돌아간 후 실패가 발생하기 전까지의 과정을 재실행한다.
2. 로그를 이용하여 오류와 관련된 내용을 취소하여 복구한다.
더보기

1. redo : 이전으로돌아가 실패전까지의 과정 재실행


2. undo : 로그를 이용해 오류내용취소하여 복구

 


 

3. 데이터베이스의 이상현상 중, 삭제 이상에 대해 간략히 설명하시오.

더보기

답:

데이터를 삭제 할때, 삭제를 원하지 않은 다른 데이터도 함께 삭제 되어버리는 이상


이상 종류

  • 삽입 이상(Insertion Anomaly)
    • 데이터 삽입 시 의도와 다른 값들도 삽입됨
  • 삭제 이상(Delete Anomaly)
    • 데이터 삭제 시 의도와 다른 값들도 연쇄 삭제됨
  • 갱신 이상(Update Anomaly)
    • 속성값 갱신 시 일부 튜플만 갱신되어 모순 발생

 


 

4. 아래에서 설명하는 임시 키 무결성 프로토콜의 영문 약어를 쓰시오.

ㅇ IEEE 802.11 무성 네트워킹 표준에 사용되는 보안 프로토콜
ㅇ IEEE 802.11i의 작업 그룹과 WiFi 얼라이언스에서 WEP를 하드웨어 교체 없이 대체하기 위해 고안
더보기
답 : TKIP (Temporal Key Integrity Protocol)
임시 키 무결성 프로토콜

 


 

5. 아래에서 설명하는 내용을 영문 약자로 쓰시오.

키보드나 마우스와 같은 장치 없이 말이나 행동 그리고 감정과 같은 인간의 자연스러운 표현으로 컴퓨터나 장치를 제어할 수 있는 환경
더보기

답 : NUI (Natural User Interface)


풀이:

UI 유형

CLI (Command Line Interface) : 명령과 출력이 텍스트 형태로 이루어진 인터페이스 

GUI (Graphic User Interface) : 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 인터페이스

NUI (Natural User Interface) : 말이나 행동으로 조작하는 인터페이스

 


 

6. 다음은 소스코드 분석도구에 대한 설명이다. 각 지문이 설명하는 분석 기법의 명칭을 쓰시오.

1. 소스 코드의 실행 없이, 코드의 의미를 분석해 결함을 찾아내는 원시적 코드 분석 기법
2. 소스 코드를 실행하여 프로그램 동작이나 반응을 추적하고 코드에 존재하는 메모리 누수, 스레드 결함 등을 분석하는 기법
더보기

1. 정적 분석 기법

2. 동적 분석 기법

 


 

7. 아래에서 설명하는 테스트 도구를 쓰시오.

자바 프로그래밍 언어를 이용한 xUnit의 테스트 기법으로써 숨겨진 단위 테스트를 끌어내어 정형화시켜 단위 테스트를 쉽게 해주는 테스트용 프레임워크이다.
더보기

답 : JUnit


XUnit 종류 XUnit : 단위 테스트 지원 도구
JUnit
제이유닛
Java 프로그래밍 언어에 사용되는 테스트 도구
JUnit은 테스트 주도 개발 면에서 중요하며 
SUnit과 함께 시작된 XUnit이라는 이름의 
유닛 테스트 프레임워크 계열의 하나
숨겨진 단위 테스트를 끌어내어 정형화시켜 
단위 테스트를 쉽게 해주는 테스트용 프레임워크
데이터를 테스트한 다음 코드에 삽입함 
XUnit이란 이름의 유닛 테스트 프레임워크 중 하나
컴파일 타입에서 JAR로 링크됨.
Cppunit
씨피피유닛
C++ 프로그래밍 언어를 위한 단위 테스트 프레임워크 모듈 
Unit Test를 위한 JUnit Framework(java)의 C++ 버전
테스트 결과는 xml, text로 출력 가능
최소한의 소스 수정으로 C++ 뿐만 아니라 C 소스의 단위 테스트를 허용함
NUnit
앤유닛
모든 .net 언어에서 널리 사용되는 단위 테스트 프레임워크
병렬로 실행 가능한 데이터 중심 테스트를 지원함
JMockit
제이모킷트
오픈 소스 단위 테스트 도구
기록 및 검증 구문으로 ARP를 Mocking할 수 있다
**모킹 : 단위 테스트를 할 때 해당 코드가 의존하는 부분을 
가짜(mock)로 대체하는 기법
PHPUnit PHP 프로그래머를 위한 단위 테스트 도구 
SUnit과 함께 기원한 유닛 테스트 프레임워크를 위한 
XUnit 아키텍처의 인스턴스이며 JUnit과 함께 대중화됨 

 


 

8. 다음 보기 중에서 블랙박스 테스트 기법을 3가지 골라 작성하시오.

a. Equivalence Partitioning
b. Boundary Value Analysis
c. Base Path Test d. Loop Test
e. Cause-effect Graph
f. Decision Coverage
g. Statement Coverage
더보기

답 : a, b , e


블랙 박스 테스트

  • 안에 어떤 내용이 들어 있는지 볼 수 없음. 
  • 각 기능이 완전히 작동이 되는지 입증하는 테스트로 기능태스트 라고도 한다.
  • 구현된 기능 테스트 

종류

  • 동치 분할 검사 (Equivalence Partitioning Testing)
  • 경계값 분석 (Boundary Value Analysis)
  • 원인 효과 그래프 (Cause-Effect Graphing Testing)

오류 예측 검사 (Error Guessing)

비교 검사(Comparison Testing)

 


 

9. 다음 설명에 대한 답을 영어 약자로 작성하시오.

정부에서 정한 인증기관 및 심사기관에서 기업이 주요 정보자산을 보호하기 위해 수립·관리·운영하는 정보보호 관리체계가 인증 기준에 적합한지를 심사하여 인증을 부여하는 제도
더보기

ISMS


정보 보호 관리 체계 ( Information Security Management System )

 


 

10. 다음은 데이터베이스 키에 대한 설명이다. 빈 칸에 들어갈 내용을 내용을 쓰시오.

1. 슈퍼키는 ( A )의 속성을 갖는다.
2. 후보키는 ( A )와(과) ( B )의 속성을 갖는다.
더보기

답 : A . 유일성  B. 최소성


풀이 

키(Key)

키는 데이터 베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성이다.

키의 종류

  • 후보키 : 기본키가 될 수 있는 키들 , 튜플을 유일하게 식별하기 위해 사용하는 속성들로 유일성과 최소성을 만족하는 키
  • 기본키 : 후보키 중에서 특별히 선정된 주키를 기본키라고 한다. 중복된값을 가질 수 없다. 기본키는 null 값을 가질 수 없다.
  • 대체키 : 후보키 중에서 기본키를 제외한 키를 대채키라고 한다.
  • 슈퍼키 :  유일성 만족 최소성을 만족 하지 못하는 키
  • 외래키 : 다른 테이블에서의 기본키 

 


 

11. 다음에서 설명하는 공격 기법을 쓰시오.

이 공격은 APT 공격에서 주로 쓰이는 공격으로, 공격 대상이 방문할 가능성이 있는 합법적인 웹 사이트를 미리 감염시킨 뒤, 잠복하고 있다가 공격 대상이 방문하면 대상의 컴퓨터에 악성코드를 설치하는 방식이다.
더보기
워터링 홀(Watering Hole)

 


 

12. 다음은 V&V 모델을 형상화한 V다이어그램이다. 빈칸에 들어갈 말을 쓰시오.

 

더보기
a. 단위 테스트 b.통합 테스트 c. 시스템 테스트 d.인수 테스트

 


 

13. 다음 SQL 결과에 알맞는 쿼리을 작성하시오.

SELECT 번호, 이름, 점수 FROM 성적 ( 1 ) BY ( 2 ) ( 3 )
더보기

1) ORDER  2) 점수 3) DESC

또는 

1) ORDER  2) 번호 3) ASC

 


 

14. 다음에서 설명하는 파이썬 함수를 작성하시오.

1. 요소를 확장해준다는 의미를 가지고 있으며, 모든 항목을 하나의 요소로 추가
2. 리스트 내부 요소를 꺼내주는 함수로써, 그 요소는 리스트 안에서 삭제하고 그 값을 반환
3. 리스트 내부의 요소의 순서는 뒤집는 역할
더보기

1.

extend

2. pop

3. reverse

 


 

15. 다음은 파이썬 코드에서 출력되는 a와 b의 값을 작성하시오.

def exam(num1, num2=2):
  print('a=', num1, 'b=', num2)
exam(20)
더보기

a= 20 b= 2

 


 

16. 다음 Java 코드 중에서 밑줄에 들어갈 알맞는 코드를 작성하시오.

class Car implements Runnable{
  int a;
  
  public void run(){
     system.out.println("Hello")
  }
}
  
public class Main{
  public static void main(String[] args){
    Thread t1 = new Thread(new ___());
    t1.start();
  }
}

 


 

17. 다음 Java 코드의 출력 결과를 작성하시오.

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);
  }
}
더보기

답 : 2000


플이 

m.a = 100 => a= 100

func1 => 100 *= 10 => a= 1000

m.b = 1000

func 2 => 1000 += 1000 => a= 2000

system.out.printf(2000)

 


 

18. 다음 소스코드에서 입력값이 5가 들어왔을때 출력되는 값을 작성하시오.

#include <stdio.h>
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


풀이 : 재귀 함수, 결국 리턴값이 1이랑 같거나 작을 때 까지 루프가 계속 되기때문에  a * func(a-1) 이  ar값이 1이 될때까지 계속 된다.

1) 5 * func(5-1);

2) 4 * func(4-1);

3) 3 * func(3-1);

4) 2 * func(2-1);

5 * 4 * 3 *  2 = 120

 


 

19. 다음 C언어 프로그램의 괄호 안에 들어갈 알맞은 연산자를 작성하시오.  (결과 값 : 4321)

#include <stdio.h>
int main() {
  int number = 1234;
  int div = 10;
  int result = 0;
 
  while (number ( 1 ) 0) {
    result = result * div;
    result = result + number ( 2 ) div;
    number = number ( 3 ) div;
  }
 
  printf("%d", result);
  return 0;
}
더보기

답 : > , % , /

 


 

20. 다음 C언어 프로그램의 결과를 쓰시오.

#include <stdio.h>
int isPrime(int number) { 
  int i; 
  for (i=2; i<number; i++) { 
    if (number % i == 0) return 0; 
  } 
  return 1; 
} 
 
int main(void) { 
  int number = 13195, max_div=0, i; 
  for (i=2; i<number; i++) 
  if (isPrime(i) == 1 && number % i == 0) max_div = i; 
  printf("%d", max_div); 
  return 0; 
}
더보기

답 : 29

 

 

profile

minlog

@jimin-log

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!