관리 메뉴

피터의 개발이야기

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

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

[정처기 실기] 정보처리기사 실기 - 2022년 2회 기출문제

기록하는 백앤드개발자 2024. 3. 27. 08:26
반응형

ㅁ 들어가며

ㅇ 기출문제를 풀어보고 공부한 내용을 노트형태로 정리하였다.

ㅇ 홍달샘

  - 정보처리기사 실기 2022년 2회 - 기출해설특강 1~10

  - 정보처리기사 실기 2022년 2회 - 기출해설특강 11~20  

     ㄴ 문제 번호 클릭 -> 동영상 설명 이동

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

ㅇ 시나공 2024년도 정보처리기사 필기 핵심요약을 참조.

 

 

1. 다음 괄호에 들어갈 용어를 쓰시오.

  • 관계 데이터 모델의 제안자인 코드(E. F. Codd)가 수학의 Predicate Calculus(술어 해석)에 기반을 두고 관계 데이터베이스를 위해 제안하 였다.
  • ( )은 관계 데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의 할 때 계산 수식을 사용.
  • ( )은 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성
더보기

관계해석

 

# 핵심 178) 관계해석(Relational Calculus)

- 관계해석은 관계 데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의할 때는 계산 수식을 사용

- 관계해석은 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성

 

 

# 핵심 176) 관계 대수

Select: 시그마(σ)

Project: 파이(π)

Join: ▷◁

Division: ÷

 

2. 다음 설명에 맞는 암호화 알고리즘 용어를 보기에 골라 작성하시오.

1. Xuejia Lai와 James Messey 가 만든 알고리즘으로 PES(Proposed Encryption Standard)에서 IPES(Improved PES)로 변경되었다가, 1991년에 제작된 블록 암호 알고리즘으로 현재 국제 데이터 암호화 알고리즘으로 사용되고 있다. 64비트 블록을 128비트의 key를 이용하여 8개의 라운드로 구성되어 있다.
2. 미국의 NSA에서 개발한 Clipper 칩에 내장되는 블록 알고리즘이다. 전화기와 같은 음성을 암호화 하는데 주로 사용되며 64비트 입출력에 80비트의 키 총 32라운드를 가진다.
더보기

1.IDEA 2.Skipjack

# 킬러문항이라 패스해도 된다.

2번은 네이버에도 안나온다.

 

# 암호화 방식에 따른 분류

양방향: 평문<-> 암호문 가능

단방향: 평문-> 암호문 가능

     ㄴ 레인보우: 암호된 문장 목록

           ㄴ 해결: solt를 적용.

 

ㅇ양방향

 ㄴ 대칭키

    - 속도 빠르고, 많은 양 가능.

    -  암호화키 = 복호화키

 

 ㄴ 비대칭

   - 암호화키 != 복호화키

   - 복호화를 위한 개인키 사용

 

 

# 블록암호 알고리즘

AES
  - 128bit 평문을 128/192/256bit로 암호화
  - 키 크기에 따라 10/12/14회 Round 수행
  - 1997년 NIST에 의해 제정
  - 레인달(Rindael)에 기반한 암호화 방식
  - SPN 암호 방식을 사용한다.
 ㅇ SEED
  - 순수 국내기술로 개발한 128비트 및 256비트 대칭키

ARIA

 - 국가 보안 기술 연구소(NSRI)와 국가 정보원 등이개발한 국가 암호화 알고리즘

 - AES 알고리즘과 똑같이 128/192/256비트 암호화키를 지원

 - SPN 암호방식을 사용

IDEA

 - 1990년 스위스에서 만들어진 PES를 개량하여 만들어진 블록 암호 알고리즘

- 키 길이가 128bit, 블로길이가 64bit

- Feistel 방식과 SPN의 중간형태 구조

 

# 핵심 364) 양방향 알고리즘 종류

 

3. 다음에 설명하는 용어를 영문약어로 적으시오.

인터넷 등 통신 사업자의 공중 네트워크에 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안솔루션

 

 

# 핵심 375) VPN(Virtual Private Network, 가상 사설 통신망)

VPN은 가상 사설 네트워크로서 인터넷 등 통신 사업자의 공중 네트워크와 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션이다.

 

# 보안솔루션

ㅇ 방화벽(Firewall)
  - 네트워크 간에 전송되는 정보를 선별하는 기능을 가진 침입 차단 시스템
ㅇ 웹방화벽(Web Firewall  WAF 
  -웹기반 공격을 방어할 목적으로 만들어진 웹서버 특화 방화벽
ㅇ 침입탐지 시스템(IDS; Intrusion Detection System)
  -컴퓨터 시스템의 비정상적인 사용, 오용 등을 실시간으로 탐지하는 시스템
  - 이상탐지(잘된 것만 허용), 오용탐지(잘못된 것을 탐지)
ㅇ 침입방지 시스템(IPS; Intrusion Prevention System)
  - 방화벽과 침입탐지 시스템을 결합한 것.

ㅇ 데이터유출방지(DLP; Data Leakage/Loss Prevention)
  - 내부 정보의 유출을 방지하기 위한 보안솔루션

  - USB 데이터를 회사로 옮기는 건 가능하지만 빼내는 건 불가능.
ㅇ NAC(Network Access Control)

  - White List를 만들어 네트워크 접속을 관리하여 다른 접속을 막는다.
  - 네트워크에 접속하는 내부PC의 MAC주소를 시스템에 등록한 후 일관된 보안관리 기능을 제공하는 보안솔루션
ㅇ ESM(Enterprise Security Management)
  - 다양한 장비에서 발생하는 로그 및 보안 이벤트를 통합관리 

 

 

4. 아래 설명에서 ①~에 해당하는 용어를 적으시오.

네트워크 집합을 몇 개의 그룹으로 나누었을 때 동일 그룹 내에서 라우팅 정보를 교환할 때 사용하는 라우팅 프로토콜을 ( 1 )라고 하고, 다른 그룹과 라우팅 정보를 교환하는 프로토콜을 ( 2 ) 라고 한다.
( 1 ) 의 대표적인 프로토콜은 RIP와 ( 3 )가 있고, ( 2 )의 대표적인 프로토콜은 ( 4 )이다.

1. IGP

2. EGP

3. OSPF

4. BGP

 

 

# 핵심 344) 경로 제어 프로토콜 (Routing Protocol)

해설 동영상 캡처

 

RIP

 - 15홉

 - 거래백터는 횟수인데, 서울 -부산- 양평... 거리 상관없이 횟수로 결정

 

5. 아래 설명하는 테스트 종류를 쓰시오.

① 은 개발자의 통제 하에 사용자가 개발 환경에서 수행하는 테스트이다.
내부에서 진행하는 자체 검사로 실제 사용 환경에서 동작시키며 관련자만 참여한다.
② 는 개발된 소프트웨어를 사용자가 실제 운영환경에서 수 행하는 테스트이다.
① 수행 이후 정식으로 출시하기 전 사용자에게 테스트를 하 도록 한다.
더보기

1. 알파 테스트, 2. 베타 테스트

 

06. 변경 또는 수정된 코드에 대하여 새로운 결함 발견 여부를 평가하는 테스트는 무엇인지 보기에서 찾아 쓰시오.

더보기

회귀 테스팅 

 

 

# 핵심 140) 회귀 테스팅 (Regression Testing)

회귀 테스트는 이미 테스트된 프로그램의 테스팅을 반복 하는 것으로, 통합 테스트로 인해 변경된 모듈이나 컴포 넌트에 새로운 오류가 있는지 확인하는 테스트

 

※ 애플리케이션 테스트 유형 분류
ㅇ 프로그램 실행 여부
   - 정적 테스트: 소스 코드 분석
   - 동적 테스트: 실행 후 값 대입
 테스트 기법
   - 화이트박스 테스트: 소스 코드 분석
   - 블랙박스 테스트: 실구동 테스트
 테스트에 대한 시각
   - 검증 테스트: 개발자가 잘 개발되었는지 검증
   - 확인 테스트: 사용자가 요구사항이 잘 반영되었는지 확인

ㅇ 테스트 목적

   - 회복 테스트: 장애를 재현하여 장애복구 테스트

   - 안전 테스트

   - 강도 테스트: 스트레스 테스트

   - 성능 테스트

   - 구조 테스트

   - 회귀 테스트

   - 병행 테스트

ㅇ 테스트 기반

   - 명세 기반 테스트

   - 구조 기반 테스트

   - 경험 기반 테스트: QA

테스트 오라클 (핵심 144)

   - 참(True) 오라클
   - 샘플링 (Sampling) 오라클
   - 추정 (Heuristic) 오라클
   - 일관성 검사 (Consistent) 오라클

 

07. 다음 주어진 구조에서 C의 Fan-In 과 Fan-Out을 구하시오.

더보기

Fan-In:1

Fan-Out: 2

 

# 핵심 056) 응집도(Cohesion)

# 핵심 055) 결합도(Coupling)

 

 

8. 아래 ①~③에서 해당하는 용어를 쓰시오.

( ① )는 W3 상에서 정보를 주고받을 수 있는 프로토콜이다.
GET, POST 방식을 이용하여 문서를 주고 받는데, 이 문서 내에서 다른 문서를 링크정보가 들어가는데, 이런 링크 정보를 만들 수 있는게 (②)이다.
이런 (②)를 만들 수 있는 마크업언어가 (③) 이다.
더보기

1. HTTP

2. Hypertext

3. HTML

 

# 핵심 159) 인터페이스 보안 기능 적용

암호화는 인터페이스 아키텍처에 따라 IPSec, SSL, S-HTTP 등의 다양한 방식으로 적용함

- IPSec: 네트워크 계층에서 IP 패킷 단위의 데이터변조방지및은닉기능을 제공하는 프로토콜

- SSL: 전송계층과 응용계층 사이에서 클라이언트와 서버 간의 웹 데이터 암호화, 상호 인증 및 전송 시 데이터 무결성을 보장하는 보안 프로 토콜을 의미한다.

- S-HTTP: 클라이언트와 서버간 웹 상에서 네트워크 트래픽을 암호화하는 보안 프로토콜

 

# 웹 서비스(Web Service)

WSDL 서버 시스템

UDDI 사용설명서

SOAP 통신

 

 

9. 객체지향 설계 원칙 중 아래에 설명하는 용어를 쓰시오.

자신이 사용하지 않는 인터페이스는 구현하지 말아야 하고, 자신이 사용하지 않는 인터페이스 때문에 영향을 받아서는 안된다.
그러므로 인터페이스를 작게 나누어 만들어야 한다.
더보기

인터페이스 분리 원칙

 

 

 

# 핵심 054) 객체지향 설계 원칙

시스템 변경이나 확장에 유연한 시스템을 설계하기 위해 지켜야 할  다섯 가지 원칙으로 SOLID 원칙이라고도 불린다.

 

ㅇ 단일책임원칙 (SRP, Single Responsibility Principle)
ㅇ 개방-폐쇄 원칙 (OCP, Open- Closed Principle)

    ㄴ 기존의 코드를 변경하지 않고 기능을 추가해야
ㅇ 리스코프 치환 원칙(LSP, Liskov Substitution Principle)

    ㄴ 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 한다.
ㅇ 인터페이스 분리 원칙(ISP, Interface Segregation Principle)

    ㄴ 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 한다
ㅇ 의존역전원칙 (DIP, Dependency Inversion Principle)

    ㄴ 각 객체들간의 의존관계가 성립될때, 추상성이 낮은 클래스보다 추상성이 높은 클래스와 의존관계를 맺어야 한다는 원칙

 

 

# UI 설계 원칙

직관성

유효성

학습성

유연성

 

 

10. IP 주소가 192.168.100.132이고, 서브넷 마스크가 255.255.255.192인 경우 해당하는 값을 쓰시오.

네트워크 주소 192.168.100.a
사용 가능한 주소 개수 b

 

서브넷이란 것은 인터넷 주소의 대역을 나누어 주는 영역이다.

서브넷 마스크에서 255.255.255.192라면

  2진수) 11000000

  10진수) (128 + 64=192) 32 16 8 4 2 1

2진수 26 자리를 서브넷을 위한 네트워크 주소로 나누겠다는 뜻이다.

 

192.168.100.132가 포함되는 서브넷 구역은

2진수) 00 000000~00 111111  : 10진수) 192.168.100.0~63

2진수) 01 000000~01 111111  : 10진수) 192.168.100.64~127

2진수) 10 000000~10 111111  : 10진수) 192.168.100.128~191   <============ 여기이다.

2진수) 11 000000~11 111111  : 10진수) 192.168.100.192~255

 

네트워크 주소는 라우터 자체가 지니는 주소로 192.168.100.128이다.

브로드케스트 주소 192.168.100.191이다.

이 두 주소는 서브넷 자체에서 사용하기 때문에 가용할 수 있는 IP의 갯수는 192.168.100.129~192.168.100.190으로 총 62개이다.

 

홍달샘 - [정보처리 필기 특강] 서브넷 | 서브넷 마스크

 

 

11. 다음 테이블에서 πTTL(직원)에 대한 연산 결과 값을 작성하시오.

NAME TTL
LEE 부장
KIM 대리
SONG 과장
PARK 차장

 

TTL
부장
대리
과장
차장

 

 

12. 상품 테이블에서 B 제조사 전체 제품의 단가보다 더 큰 단가를 가진 제품을 모두 출력하는 SQL 문을 완성하시오.

제품번호 단가 제조사
100 1000 A
200 1500 B
300 3000 C
400 900 D
500 2000 B
600 1000 C
SELECT * FROM 상품
WHERE 단가 > ( a )

  SELECT 단가 FROM 상품
  WHERE 제조사 = 'B'
)
더보기

a: ALL

 

# ANY, ALL

 

 

13. 다음 릴레이션의 데이터는 다음과 같이 저장되어 있다. SQL을 수행했을 때 결과를 쓰시오.

IDX COL1 COL2
1 2 NULL
2 3 6
3 5 5
4 6 3
5 NULL 3
SELECT COUNT(COL2)
FROM TABLE
WHERE COL1 IN (2,3) OR COL2 IN (3,5)

 

row는 5개지만 count는 4개이다.

count는 null을 포함하지 않는다.

 

 

14. 다음은 함수적 종속에 해당하는 설명이다. 해당 하는 용어를 보기에서 찾아 쓰시오.

- 함수적 종속관계에서 종속자가 기본키에만 종속되며, 기본키가 여러 속성으로 구성되어 있을 경우 기본키를 구성하는 모든 속성이 포함된 기본키의 부분집합에 종속된 경우 이를 ( 1 ) 이라 한다.
- 기본키가 여러 속성으로 구성되어 있을 경우 기본키를 구성하는 속성중 일부만 종속되는 경우 이를 ( 2 ) 라고 한다.
- X-Y, Y-Z 이란 종속 관계가 있을 경우, X-Z가 성립 되는 경우를 ( 3 ) 라한다.
더보기

완전 함수적 종속

부분적 함수 종속

이행적 종속

 

 

# 핵심 183) 이행적종속/함수적종속

ㅇ 이행적 종속(Transitive Dependency) 관계 
  - A→B이고 B→C일 때 A→C를 만족하는 관계

ㅇ 완전 함수적 종속(Full Functional Dependency)
  - 함수적 종속은 데이터들이 어떤 기준값에 의해 종속되는 것

ㅇ 부분 함수적 종속(Partial Functional Dependency)
  - 함수적 종속은 데이터들이 어떤 기준값에 일부만 종속되는 것

 

※ 이상현상 => 정규화가 필요하다.
- 삽입 이상이란 릴레이션에서 데이터를 삽입할 때 의도와는 상관없이 원하지 않는 값들로 함께 삽입되는 현상
- 삭제 이상이란 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들로 함께 삭제되는 연쇄 삭제 현상
- 갱신 이상이란 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상

 

※ 정규화

제1정규화: 도메인 원자값

제2정규화: 부분 함수적 종속 제거

제3정규화: 이행적 함수 종속 제거

BCNF: 결정자이면서 후보키가 아닌 것

제4정규형: 다치 종속 제거

제5정규형: 조인 종속성 이용

 

 

15. 다음 소스코드에 대한 출력값을 작성하시오.

struct A{ 
  int n, 
  int g
} 

int main(){
  A a = new A[2] 
  for(i=0; i <2; i++) {
    a[i].n = i, 
    a[i].g=i+1  
  }
  System.out.printf(a[0].n + a[1].g);  
}

 

 

 

16. 다음 C언어에서 출력에 대한 알맞은 답을 작성하시오.

#include 
 
int len(char *p);
 
int main(){
 
  char *p1 = "2022";
  char *p2 = "202207";  
  
  int a = p1;
  int b = p2;
  
  printf("%d", len(a) + len(b));
 
}
 
int len(char *p){
  int r = 0;
  while(*p != '\0'){
    p++;
    r++;
  }
return r;
}

 

# 주소 포인트 개념이해를 위한 문제이다.

# 문자의 끝은 ' ' 빈칸으로 지정된다.

 

 

17. 다음 C언어 코드에서 알맞는 출력값을 작성하시오.

#include 
int main(int argc, char *argv[]) {
    int a[4] = {0, 2, 4, 8};
    int b[3] = {};
    int i = 1;
    int sum = 0;
    int *p1;
 
    for (i; i < 4; i++) {
        p1 = a + i;
        b[i-1] = *p1 - a[i-1];
        sum = sum + b[i-1] + a[i];
    }
    printf("%d", sum);
 
    return 0;
}

 

 

18. 다음 자바 코드에 알맞는 출력값을 작성하시오.

public static void main(String args[]){
  int i = 3; int k = 1; 
  switch(i) { 
    case 1: k += 1;
    case 2: k++;
    case 3: k = 0; 
    case 4: k += 3; 
    case 5: k -= 10; 
    default: k--; 
  }
  System.out.print(k); 
}

 

19. 다음 자바코드에서 알맞는 출력값을 작성하시오.

public class Conv{ 
    public Conv(int a) {
        this.a = a;
    } 
    int func() {
        int b =1; 
        for (int i=1; i<a; i++){ 
             b = a * i + b 
        }
        return a +b;
    }
    int a;
}
 
public static void main(String[] args){
    Conv obj = new Conv(3);
    obj.a=5; 
    int b = obj.func();
    system.out.print(obj.a + b);
}

 

더보기

a=5

b=5*1+1=6

b=5*2+6=16

b=5*3+16=31

b=5*4+31=51

return 5+51=56

int b=56 

print 5+56=61

 

정답: 61

 

 

20. 다음은 파이썬 코드이다. 알맞는 출력값을 작성하시오.

a = "REMEMBER NOVEMBER"
b = a[:3] + a[12:16];
c = "R AND %s" % "STR";
print(b+c);

 

 

 

반응형
Comments