별의 공부 블로그 🧑🏻‍💻
728x90
728x170

예상 문제 모음 ② (최신 경향)

  • 최신 경향을 반영한 문제들을 모아봤다.
  • 문제 출처 : 수제비 카페 등

 

[1] 단답형

문제 1

Q. 다음은 소프트웨어 개발 방법론에 대한 설명이다. 괄호(       ) 안에 들어갈 소프트웨어 개발 방법론 유형을 쓰시오.

- ( ① ) 방법론은 개발과 함께 즉시 피드백을 받아서 유동적으로 개발하고 절차보다는 사람이 중심이 되어 변화에 유연한 방법론이다.
- ( ② ) 모델은 소프트웨어 개발 시 각 단계를 확실히 마무리 지은 후에 다음 단계로 넘어가는 소프트웨어 생명주기 모델이다.
- ( ③ ) 모델은 시스템 개발 시 위험을 최소화하기 위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델이다.

 

더보기

① 애자일(Agile)

② 폭포수(Waterfall)

③ 나선형(Spiral)

 

[1과목] 요구사항 확인

 

문제 2

Q. 다음은 보안 시스템에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

​- (     )은/는 결제자의 다양한 정보를 수집해 패턴을 만든 후 패턴과 다른 이상 결제를 잡아내고 결제 경로를 차단하는 보안 시스템으로, 보안 솔루션에 의존하던 기존 보안과 달리 빅데이터를 바탕으로 적극적인 보안 개입을 하는 것이 특징이다.

 

더보기

이상 행위 탐지 시스템(FDS; Fraud Detection System)

 

해설)

- FDS는 전자금융거래 시 단말기 정보와 접속 정보, 거래 정보 등을 수집하고 분석해 의심스러운 거래나 평소와 같지 않은 금융 거래가 발생하면 이를 차단하는 시스템이다.
- FDS는 빅데이터를 기반으로 작동하는데 수집한 빅데이터를 바탕으로 종합적으로 분석하여 다양한 조건, 위험 점수 등을 매겨 위험 정도에 따라 본인 확인·재인증·거래 중지 등의 조치를 한다.

 

*정보보안기사 응용 문제

 

문제 3

Q. 다음은 데이터 비식별화 처리기법에 대한 설명이다. 괄호(      ) 안에 들어갈 처리 기법을 보기에서 골라 쓰시오.

• ( ① ) : 개인 식별이 가능한 데이터에 대하여 직접 식별할 수 없는 다른 값으로 대체하는 기법으로 그 자체로 완전 비식별화가 가능하며 데이터의 변형, 변질 수준이 낮음 ​
• ( ② ) : 개인정보에 대하여 통곗값을 적용하여 특정 개인을 판단할 수 없도록 하는 기법

| 보기 |
가명처리(Pseudonymisation), 총계처리(Aggregation), 데이터 값 삭제(Data Reduction), 범주화(Data Suppression), 데이터 마스킹(Data Masking), K-익명성(k-anonymity), l-다양성(l-diversity), t-근접성(t-closeness)

 

더보기

① 가명처리(Pseudonymisation)
​② 총계처리(Aggregation)

 

해설)

가명처리
(Pseudonymisation)
- 개인 식별이 가능한 데이터에 대하여 직접 식별할 수 없는 다른 값으로 대체하는 기법
총계처리
(Aggregation)
- 개인정보에 대하여 통곗값을 적용하여 특정 개인을 판단할 수 없도록 하는 기법
데이터 값 삭제
(Data Reduction)
- 개인정보 식별이 가능한 특정 데이터 값을 삭제 처리하는 기법
범주화
(Data Suppression)
- 단일 식별 정보를 해당 그룹의 대표값으로 변환(범주화)하거나 구간 값으로 변환(범위화)하여 고유 정보의 추적 및 식별을 방지하는 기법
데이터 마스킹
(Data Masking)
- 개인 식별 정보에 대하여 전체 또는 부분적으로 대체값(공백, ‘*’, 노이즈 등)으로 변환하는 기법

 

*정보보안기사 응용 문제

 

문제 4

Q. 다음은 UML 다이어그램에 대한 설명이다. 괄호(       ) 안에 들어갈 UML 다이어그램의 유형을 쓰시오.

- ( ① ) 다이어그램은 ​컴포넌트 사이의 종속성을 표현하고, 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현하는 다이어그램이다. ​
- ( ② ) 다이어그램은 객체 상태 변화와 시간 제약을 명시적으로 표현하는 다이어그램이다.

 

더보기

① 배치(Deployment)
​② 타이밍(Timing)

 

[2과목] 화면 설계

 

문제 5

Q. 다음 자바 프로그램 결과를 쓰시오.

public class Main
{
    // isPrime 메소드는 Prime number 이면 1, 아니면 0을 리턴한다.
    public static int isPrime(int num){
        for(int i=2;i<num;i++){
            if(num%i == 0){
                return 0;
            }
        }
        return 1;
    }
    
	public static void main(String[] args) {
		int num=100, cnt=0;
		for(int i=2;i<num;i++){     // i가 2부터 num보다 작을 떄 까지 반복
		    cnt = cnt + isPrime(i);  //오른쪽 cnt에 isPrime의 결과를 더하여 왼쪽 cnt에 대입한다.
		}
		
		System.out.println(cnt);   // cnt 를 화면에 출력한다.
	}
}

 

더보기
25

 

해설)

isPrime 메소드는 Prime number 이면 1, 아니면 0을 리턴한다.
main 함수는 2부터 99까지 숫자 중에서 소수의 갯수를 구하고 화면에 출력한다.
Prime number 는 '%' 를 알고 있다면 어렵지 않게 풀 수 있다!

 

[6과목] 프로그래밍 활용

*2022년 정보처리기사 1회 기출 문제

 

문제 6

Q. 다음은 관계 데이터 모델의 구성요소에 대한 설명이다. 괄호(       ) 안에 들어갈 구성요소를 쓰시오.

- ( ① ) : 튜플(Row)의 수 ​
​- ( ② ) : 애트리뷰트(Column)의 수 ​
- ( ③ ) : 정의된 스키마에 따라 생성된 테이블에 실제 저장된 데이터의 집합

 

더보기

① ​카디널리티(Cardinality)
② 차수(Degree)
​​③ 인스턴스(Instance)

 

[3과목] 데이터 입출력 구현

 

문제 7

Q. 다음은 악성 프로그램에 대한 설명이다. 괄호(       ) 안에 들어갈 용어를 영문 Full-name으로 쓰시오.

- ( ① )은/는 한 시스템에서 다른 시스템으로 전파하기 위해서 사람이나 도구의 도움이 필요한 악성 프로그램이다. ​ ​​
- ( ② )은/는 스스로를 복제하여 네트워크 등의 연결을 통하여 전파하는 악성 소프트웨어 컴퓨터 프로그램이다. ​
- ( ③ )은/는 합법적 프로그램 안에 내장된 코드로서 특정한 조건이 만족하였을 때 작동하는 악성 코드이다.

 

더보기

① ​Virus
② Worm
​​③ Logic Bomb

 

해설)

바이러스
(Virus)
- 한 시스템에서 다른 시스템으로 전파하기 위해서 사람이나 도구의 도움이 필요한 악성 프로그램
- 다른 독립적 프로그램의 코드 내에 스스로를 주입한 다음, 그 프로그램이 악성 행동을 하고 스스로 확산되도록 강제하는 컴퓨터 코드

(Worm)
​- 스스로를 복제하여 네트워크 등의 연결을 통하여 전파하는 악성 소프트웨어 컴퓨터 프로그램
논리 폭탄
(Logic Bomb)
합법적 프로그램 안에 내장된 코드로서 특정한 조건이 만족하였을 때 작동하는 악성 코드

- 바이러스와 웜은 자가복제기능의 공통점이 있지만, 바이러스파일을 통해 감염되고 파일을 옮겨야만 전파가 되고 PC의 시스템 및 파일을 손상시키지만, 네트워크를 통해 스스로 전파되고 독립 실행이 된다는 특징이 있다.

 

*정보보안기사 기출 문제

 

문제 8

Q. 다음은 운영체제에서 프로세스 간 서로 데이터를 주고받기 위한 통신 기술인 IPC 주요 기법들에 대한 설명이다. 괄호(      ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 메시지가 발생하면 메모리 공간을 이용하여 메세지를 전달하는 통신 방식으로 FIFO 정책으로 데이터가 전송된다. ( ① )은/는 메시지 또는 패킷 단위로 동작하는 프로세스 간 통신 방법이다. ​ ​​
- 프로세스간 메시지 전송을 하거나, 메모리 공유를 통해서 특정 데이터를 공유하게 될 때 공유된 자원에 여러 개의 프로세스가 동시에 접근하면 안되며, 한번에 하나의 프로세스만 접근 가능하도록 해야 하기 때문에 ( ② )을/를 사용하여 상호배제를 구현해야 한다.

 

더보기

​​① 메세지 큐(Message Queue)
② 세마포어(Semaphore)

 

[4과목] 통합 구현

 

문제 9

Q. 다음 중 [직원] 테이블에서 부서별로 그룹을 묶었을 때 부서의 급여합계가 500 이상인 부서, 해당 부서의 급여합계를 출력하는 구하는 쿼리를 작성하시오.

[직원]
이름 부서 급여
장길산 영업 300
임꺽정 마케팅 400
조맹달 기획 200
홍길동 기획 500
고길동 마케팅 100

[결과]
부서 급여합계
마케팅 500
기획 700

 

더보기

​​SELECT 부서, SUM(급여) AS 급여합계 FROM 직원 GROUP BY 부서 HAVING SUM(급여) >= 500;
또는,
SELECT 부서, SUM(급여) AS 급여합계 FROM 직원 GROUP BY 부서 HAVING 급여합계 >= 500;

 

[7과목] SQL 응용

 

문제 10

Q. 다음은 인터페이스 시스템에 대한 내용이다. 괄호(      ) 안에 들어갈 용어를 쓰시오.

- A은행과 B은행은 마이데이터 법에 따라서 사용자 거래 내역을 공유하는 인터페이스 시스템을 구축하였다. ​
- 외부, 내부 모듈 연계는 ( ① ) 방식을 통해 은행에서 운영되는 서로 다른 플랫폼 및 애플리케이션들 간을 하나의 시스템으로 관리 운영할 수 있도록 서비스 중심의 통합을 지향하도록 했고,
- 속성-값(Attribute-Value Pair) 쌍 또는 “키-값 쌍”으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷인 ( ​​​​​​​​​ ② )을/를 사용하여 구축하였다. ​
- 또한 상호간 거래 내역 데이터를 전송할 때에는 반드시 IP 계층(3계층)에서 무결성과 인증을 보장하는 인증 헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용하여 양 종단 간(End Point) 구간에 대한 보안 서비스를 제공하는 터널링 프로토콜인 ( ③ )을/를 사용하도록 시스템을 구축하였다.

 

더보기

​​① ESB
② JSON
③ IPSec

 

[5과목] 인터페이스 구현

 

문제 11

Q. 다음 Java 프로그램의 실행 결과를 쓰시오.

abstract class Animal{
   abstract void value();
   void key(){
     System.out.print("animal");
   }
}
class Dog extends Animal{
   void value(){
     System.out.print("dog");
   }
}
class Main {
   public static void main(Strings[] args) {
     Animal d = new Dog();
     d.key();
     d.value();
   }
}

 

더보기

animaldog

 

[6과목] 프로그래밍 활용

 

문제 12

Q. 다음에서 설명하는 프로토콜은 무엇인가?

- 비트(Bit) 위주의 프로토콜로, 각 프레임에 데이터 흐름을 제어하고 오류를 보정할 수 있는 비트 열을 삽입하여 전송하는 역할하는 프로토콜
- 상단방향, 반이중, 전이중 통신을 모두 지원하고 오류 제어를 위해 Go-Back-N ARQ 방식을 사용
- 점대점 방식이나 다중방식의 통신에 사용되는 동기식 비트 중심의 데이터 링크 프로토콜

 

더보기

​​HDLC(High-level Data Link Control)​ 프로토콜

 

[11과목] 응용 SW 기초 기술 활용

*2022년 정보처리산업기사 3회 기출 문제 응용

 

문제 13

Q. 다음은 소프트웨어 아키텍처의 시스템 품질 속성에 대한 설명이다. 괄호(      ) 안에 들어갈 품질 속성을 쓰시오.

- ( ① )은/는 사용자가 원하는 작업을 수행할 때 시스템을 쉽게 사용하고, 고민 없이 사용할 수 있는 편의성이다. ​
- ( ② )은/는 주로 응답 시간과 관련이 있는 속성으로 사용자의 요청이 있을 때 시스템이 적절하고 신속하게 처리할 수 있는 능력이다.

 

더보기

① 사용성(Usability)
② 성능(Performance)

 

해설)

SW 아키텍처의 시스템 품질 속성은 가용성, 변경 용이성, 성능, 보안성, 사용성, 시험용이성, 확장성이 있다.

가용성
(Availability)
시스템이 필요할 때 문제없이 정상적으로 서비스를 제공할 수 있는 성질
변경 용이성
(Modifiability)
특정 변경 요구사항이 시스템에 반영될 수 있는 시스템의 성질
성능
(Performance)
주로 응답 시간과 관련이 있는 속성으로 사용자의 요청이 있을 때 시스템이 적절하고 신속하게 처리할 수 있는 능력
보안성
(Security)
올바른 사용자에게 서비스가 제공되는 동안 승인되지 않은 불법적인 사용에 대응하는 시스템 능력
사용성
(Usability)
사용자가 원하는 작업을 수행할 때 시스템을 쉽게 사용하고, 고민 없이 사용할 수 있는 성질
시험용이성
(Testability)
소프트웨어가 용이하게 시험될 수 있는 소프트웨어의 성질
확장성
(Scalability)
시스템의 용량, 처리 능력 등을 확장했을 때 이를 효과적으로 활용할 수 있도록 구현하는 성질

 

[1과목] 요구사항 확인

*2022년 정보처리산업기사 3회 필기 기출 문제 변형

 

문제 14

Q. 다음은 테스트 관련 용어이다. 괄호(      ) 안에 들어갈 용어을 보기에서 골라 쓰시오.

- ( ① )은/는 결정 조건 내 모든 개별 조건식의 모든 가능한 조합을 100% 보장하는 테스트 커버리지로 기본 조건식의 가능한 논리적인 조합이 적어도 한 번은 테스트되도록 테스트 케이스를 도출한다. ​
- ( ② )은/는 수행 가능한 모든 경로를 테스트하는 기법으로 맥케이브의 순환복잡도를 기반으로 커버리지를 계산한다.

| 보기 |
Branch Coverage, Multiple Condition Coverage, Condition Coverage, Modified Condition/Decision Coverag, Control Flow Testing, Base Path Coverage, Statement Coverage, Data Flolw Testing, Equivalence Partitioning Testing, Decision Table Testing, State Transition Testing

 

더보기

① Multiple Condition Coverage
② Base Path Coverage

 

[10과목] 애플리케이션 테스트 관리

 

문제 15

Q. 다음은 네트워크 보안 공격이다. 괄호(      ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 TCP 연결 설정을 위한 3-way handshaking과정에서 half-open 연결 시도가 가능하다는 취약성을 이용하는 공격 방식이다. ​
- ( ② )은/는 서버와 클라이언트가 TCP 통신을 하고 있을 때, RST 패킷을 보내고 시퀀스 넘버 등을 조작하여 연결을 가로채는 공격 방식이다. ​
- ( ③ )은/는 IP 패킷의 재조합 과정에서 잘못된 Fragment Offset 정보로 인해 수신시스템이 문제를 발생하도록 만드는 DoS 공격이다.

 

더보기

​​① SYN 플러딩(SYN Flooding)
​② 세션 하이재킹(Session Hijacking)
③ 티어 드롭(Tear Drop)

 

[9과목] 소프트웨어 개발 보안 구축

 

문제 16

Q. 다음은 IT 기술에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

​- ( ① )은/는 네트워크를 제어부(Control Plane), 데이터 전달부(Data Plane)로 분리하여 네트워크 관리자가 보다 효율적으로 네트워크를 제어, 관리할 수 있는 기술이다. 기존의 라우터, 스위치 등과 같이 하드웨어에 의존하는 네트워크 체계에서 안정성, 속도, 보안 등을 소프트웨어로 제어, 관리하기 위해 개발되었다. ​
- ( ② )은/는 범용 하드웨어(서버/스토리지/스위치)에 가상화 기술을 적용하여 네트워크 기능을 가상 기능으로 모듈 화하여 필요한 곳에 제공(스위치, 라우터 등)하는 기술이다.

 

더보기

​​① SDN(Software Defined Networking)
​② NFV(Network Function Virtualization)

 

[11과목] 응용 SW 기초 기술 활용

 

문제 17

Q. 다음은 정보보안 위험의 처리 방식에 대한 설명이다. 괄호(       ) 안에 들어갈 위험 처리 방안을 쓰시오.

- ( ① )은/는 사업 목적상 위험을 처리하는 데 들어가는 과도한 비용 또는 시간으로 인해 일정 수준의 위험을 받아 들이는 방법으로 그 위험이 조직에 발생시키는 결과에 대한 책임을 관리층이 지는 방식이다. ​
- ( ② )은/는 위험에 대한 책임을 제 3자와 공유하는 것으로, 보험을 들거나 다른 기관과의 계약을 통하여 잠재적 손실을 제 3자에게 이전하거나 할당하는 방식이다.

 

더보기

① 위험 수용
​② 위험 전가

 

해설)

- 위험관리를 위한 위험 처리 방안은 아래와 같다. "회전완수"

위험 회피 - 발생할 위험을 감내할 수 없으므로 위험의 근원이 되는 자산을 제거하거나 해당 업무를 수행하지 않는 방안
위험 전가 - 위험에 대한 책임을 제삼자와 공유하는 방안으로 보험, 다른 기관과 계약(보안관제) 등이 있음.
위험 완화(감소) - 위험이 발생했을 때 조직에 피해가 되는 결과를 감소시키는 방안으로 백업, 프로세스 확립, 이중화, 재난 복구 계발 계획 등이 있음
- 비용효과 분석 후 자산의 취약점이 실제로 이용될 수 있는 가능성을 낮추는 통제수단을 구현하는 방안으로 기술적 통제(방화벽, 액세스 토큰 설치), 관리적 통제(교육, 비밀번호 정책 설정)를 포함할 수 있음
위험 수용 - 현재의 위험을 받아들이고 잠재적 손실 비용을 감수하는 방법
- 과도한 비용 또는 시간이 들 경우 위험을 수용하고 위험에 대한 손실을 책임져야 함.

 

[9과목] 소프트웨어 개발 보안 구축

 

문제 18

Q. 다음은 ​디지털 저작권 관리(DRM) 구성요소에 대한 설명이다. 괄호(      ) 안에 들어갈 구성 요소를 쓰시오.

- ( ① )은/는 콘텐츠를 메타데이터와 함께 배포 가능한 단위로 묶는 도구이다. ​ ​
- ( ​② )은/는 저작권에 대한 사용 권한, 라이센스 발급, 사용량에 따른 관리 등을 수행하는 도구이다. ​
- ( ​③ )은/는 배포된 디지털 콘텐츠의 이용 권한을 통제하는 장치이다.

 

더보기

​​① 패키저(Packager)
② 클리어링 하우스(Clearing House)
​③ DRM 컨트롤러(DRM Controller)

 

[12과목] 제품 소프트웨어 패키징

 

문제 19

Q. 다음은 ​보안 관련 용어 설명이다. 괄호(      ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 소프트웨어 개발 과정에서 개발자의 실수, 논리적 오류 등으로 인해 소스 코드 등에 내포될 수 있는 잠재적인 보안 취약점을 최소화하고, 안전한 소프트웨어를 개발하기 위한 일련의 보안 활동이다. ​ ​
- ( ​ ② )은/는 미국 비 영리회사인 MITRE 사에서 공개적으로 알려진 소프트웨어의 보안취약점을 표준화한 식별자 목록이다. ​
- ( ​ ③ )은/는 오픈소스 웹 애플리케이션 보안 프로젝트로서 주로 웹을 통한 정보 유출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하는 기관이다.

 

더보기

​​① 시큐어 코딩(Secure Coding)
② CVE(Common Vulnerabilities and Exposures)
​③ OWASP(The Open Web Application Security Project)

 

[9과목] 소프트웨어 개발 보안 구축

 

문제 20

Q. 관계형 데이터베이스 역정규화(denormalization)에 대한 설명으로 옳지 않은 것을 모두 고르시오. (기호로 쓰시오.)

ㄱ. 릴레이션들은 역정규화한 후 정규형 수준이 높아진다. ​
ㄴ. 역정규화 기법에는 테이블 병합, 테이블 분할, 중복 테이블 추가, 컬럼 중복화, 중복관계 추가 등이 있다. ​
ㄷ. 데이터베이스의 데이터 무결성을 강화할 목적으로 개발되었다. ​
ㄹ. 릴레이션들의 데이터 중복을 줄임으로써 데이터베이스의 크기를 감소시킨다. ​
ㅁ. 둘 이상의 릴레이션들에 대하여 조인한 결과를 빈번하게 이용하는 경우, 역정규화 함으로써 질의응답 시간이 단축될 수 있다.

 

더보기

​​ㄱ, ㄷ, ㄹ

 

[3과목] 데이터 입출력 구현

 

문제 21

Q. 다음은 ​테스트 관련 설명이다. 괄호(      ) 안에 들어갈 용어를 쓰시오.

하나의 모듈을 테스트할 때 상위나 하위 모듈이 개발이 안 된 경우가 있다. 이때 상위나 하위 모듈이 개발될 때까지 기다릴 수 없어 가상의 상위나 하위 모듈을 만들어 사용한다. 상위 모듈 역할을 하는 가상의 모듈을 ( ① )(이)라고 하고 그 역할은 테스트할 모듈을 호출하고, 모듈 테스트 수행 후의 결과를 도출하는 역할을 한다. 반대로 하위 역할을 하는 모듈을 ( ② )(이)라고 하고 인자를 통해 받은 값을 가지고 테스트를 수행한 후 그 반환 값만 테스트할 모듈에 넘겨주는 역할을 한다..

 

더보기

​​① 드라이버(Driver) 또는 테스트 드라이버(Test Driver)
② 스텁(Stub) 또는 테스트 스텁(Test Stub)

 

[10과목] 애플리케이션 테스트 관리

 

문제 22

Q. 다음은 비용산정 모형에 대한 설명이다. 괄호( ) 안에 들어갈 모형을 쓰시오.

- ( ① )은/는 보헴(Boehm)이 제안한 모형으로 프로그램 규모에 따라 비용을 산정하는 방식으로 비용산정 결과는 프로젝트를 완성하는 데 필요한 노력(Man-Month)으로 산정한다. ​
- ( ② )은/는 소프트웨어 개발주기의 단계별로 요구할 인력의 분포를 가정하는 방식으로 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 한다.

 

더보기

​​① COCOMO(COnstructive COst MOdel) 모형
② 푸트남(Putnam) 모형

 

[1과목] 요구사항 확인

 

문제 23

Q. 다음은 클래스 다이어그램의 구성요소에 대한 설명이다. 괄호(       ) 안에 들어갈 구성요소를 쓰시오.

- ( ① )은/는 클래스의 구조적 특성에 이름을 붙인 것으로 특성에 해당하는 인스턴스가 보유할 수 있는 값의 범위를 기술한다. ​
- 클래스에 접근할 수 있는 정도를 표현한 ( ② )의 유형에는 -, +, #, ~ 가 있다.

 

더보기

​​① 속성(Attribute)
​② 접근 제어자(Access Modifier)

 

[2과목] 화면 설계

 

문제 24

Q. 다음은 시스템 보안 공격기법에 대한 설명이다. 괄호(       ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 컴퓨터 사용자의 키보드 움직임을 탐지해서 저장하고, ID나 패스워드, 계좌 번호, 카드 번호 등과 같은 개인의 중요한 정보를 몰래 빼가는 해킹 공격이다. ​
​- ( ② )은/는 시스템 침입 후 침입 사실을 숨긴 채 차후의 침입을 위한 백도어, 트로이 목마 설치, 원격 접근, 내부 사용 흔적 삭제, 관리자 권한 획득 등 주로 불법적인 해킹에 사용되는 기능을 제공하는 프로그램의 모음이다.

 

더보기

​​① 키로거 공격(Key Logger Attack)
​​② 루트킷(Rootkit)

 

[9과목] 소프트웨어 개발 보안 구축

 

문제 25

Q. 다음은 클래스 간의 관계(Relationships)에 대한 설명이다. 괄호(    ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 집합 관계의 특수한 형태로, 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계를 표현한다. ​
​- ( ② )은/는 ​하나의 클래스에 있는 멤버 함수의 인자가 변함에 따라 다른 클래스에 영향을 미칠 때의 관계로 사물 사이에 서로 연관은 있으나 필요에 따라 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계를 표현한다.

 

더보기

​​① 포함(Composition) 관계(=복합 관계)
② 의존(Dependency) 관계

 

[2과목] 화면 설계

 

문제 26

Q. 다음은 소프트웨어 아키텍처 패턴에 대한 설명이다. 괄호(    ) 안에 들어갈 아키텍처 패턴의 유형을 쓰시오.

- 분산 시스템을 위한 (      ) 아키텍처 패턴은 연산, 통신, 조정을 책임지는 부분과 제어되고 동기화되는 대상으로 구성되는 패턴으로 컴포넌트들에서 처리된 결과물을 돌려받아 최종 결과값을 산출하는 방식으로 작업을 수행하는 패턴이다.

 

더보기

​​마스터-슬레이브(Master-Slave)

 

해설)

▲ 마스터-슬래이브(Master-Slave) 아키텍처 패턴
- 마스터와 슬레이브, 두 부분으로 구성된다. 
- 마스터 컴포넌트는 동등한 구조를 지닌 슬레이브 컴포넌트들로 작업을 분산하고, 슬레이브가 반환한 결과값으로부터 최종 결과값을 계산한다.
- 연산, 통신, 조정을 책임지는 마스터 부분과 제어되고 동기화되는 대상인 슬레이브 부분으로 구성된 패턴이다.

 

[1과목] 요구사항 확인

 

문제 27

Q. 다음은 관계형 데이터베이스의 세 가지 기능적 요소에 대한 설명이다. ①~③에 들어갈 용어를 쓰시오.

- ( ① )는(은) SQL에서 삽입, 삭제, 갱신과 같은 데이터 변경문을 실행할 때 미리 명시된 조건을 만족하는 경우 특정한 동작을 자동으로 수행할 수 있도록 한다.
- ( ② )는(은) 일련의 쿼리들을 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합이다.
- ( ③ )는(은) 데이터베이스에서 데이터를 신속하게 탐색할 수 있도록 만든 데이터 구조이다.

 

더보기

​​① 트리거(trigger)
② 프로시저(Procedure)
​③ 인덱스(Index)

 

[7과목] SQL 응용

 

문제 28

Q. 다음은 암호화 알고리즘에 대한 설명이다. ①~②에 들어갈 용어를 쓰시오.

- ( ① )는(은) 3명의 MIT 수학 교수가 고안한 소수를 활용한 비대칭키 암호화 알고리즘이다. ​
- ( ② )는(은 )2001년 미국 표준 기술 연구소(NIST)에서 개발한 암호 알고리즘으로 128bit의 블록 크기, 키 길이에 따라 128bit, 192bit, 256bit로 분류되는 대칭 키 암호화 알고리즘이다.

 

더보기

​​① RSA(Rivest- Shamir-Adleman)
② AES(Advanced Encryption Standard)

 

[9과목] 소프트웨어 개발 보안 구축

 

문제 29

Q. 다음에서 설명하는 프로세스 관련 용어를 쓰시오.

- 운영체제가 프로세스 관리를 위해 필요한 자료를 담고 있는 자료구조 ​
- 프로세스 식별자, 프로세스 상태, 프로그램 카운트, 레지스터 저장 영역, 프로세서 스케줄링 정보, 계정 정보, 입출력 상태 정보 등으로 구성

 

더보기

​​프로세스 제어 블록(PCB; Process Control Block)

 

해설)

- 프로세스 제어 블록(PCB)는 운영체제가 프로세스 관리를 위해 필요한 자료를 담고 있는 자료 구조이다.
- PCB는 프로세스 생성 시 만들어지고, 메인 메모리에 유지되며, 운영체제에서 한 프로세스의 전체를 정의한다.
- PCB는 PID(프로세스 식별자), 프로세스 상태, 프로그램 카운트, 레지스터 저장 영역, 프로세서 스케줄링 정보, 계정 정보, 입출력 상태 정보, 메모리 관리 정보로 구성되어 있다.

 

[11과목] 응용 SW 기초 기술 활용

 

문제 30

Q. 다음은 소프트웨어 개발 방법론에 대한 설명이다. 괄호(      ) 안에 들어갈 방법론을 보기에서 골라 기호로 쓰시오.

- ( ① ) : 정보시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론으로 대형 프로젝트를 수행하는 체계적인 방법론이다. ​
- ( ② ) : 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론으로 임베디드 소프트웨어를 작성하는 데 유용한 방법론이다.

| 보기 |
ⓐ Structured Development, ⓑ Information Engineering Development, 
ⓒ Object-Oriented Development, ⓓ Agile Development, ⓔ Product Line Development, 
ⓕ Spiral Development, ⓖ Prototyping Development

 

더보기

① : ⓑ
​② : ⓔ

 

[1과목] 요구사항 확인

 

문제 31

Q. 다음은 Class Diagram에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 보기에서 골라 쓰시오.

- 클래스 다이어그램의 구성요소 중 ( ① )은/는 클래스의 구조적 특성에 이름을 붙인 것으로 특성에 해당하는 인스턴스가 보유할 수 있는 값의 범위를 기술한 구성요소이다. ​
- 클래스 간의 관계 중 ( ② ) 관계는 ​하나의 객체에 여러 개의 독립적인 객체들이 구성되는 관계로 하나의 사물이 다른 사물에 포함되어 있는 관계를 표현하고 포함되는 쪽에서 포함하는 쪽으로 속이 빈 마름모를 연결하여 표현한다.

| 보기 |
Class, Attribute, Operation, Access Modifier, Association, Dependency, Generalization, Realization, Composition, Aggregation, Stereotype, extend, include

 

더보기

① : Attribute
​② : Aggregation

 

[2과목] 화면 설계

 

문제 32

Q. 다음은 데이터 모델 표시요소에 대한 설명이다. 괄호(      ) 안에 들어갈 용어를 영어 Full-name​으로 쓰시오.

- ( ① )은/는 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 릴레이션을 조작하는 기본 도구 ​​- ( ② )은/는 데이터베이스에 논리적으로 표현될 대상으로서의 개체 타입과 개체 타입 간의 관계로 데이터 구조 및 정적 성질을 표현하는 요소

 

더보기

​​① Operation
② Structure

 

[3과목] 데이터 입출력 구현

 

문제 33

Q. 다음 C 프로그램 결과를 쓰시오.

#include <stdio.h>

int main()
{
    char c = 65;
    int a = (int)1.0;
    
    printf("%c%d", ++c, a);

    return 0;
}

 

더보기

​​B1

 

해설)

char 타입 c 변수는 선언과 동시에 65를 대입한다.
정수형 변수 a는 1.0을 int로 형 변환을 하여 1을 대입 한다.
printf 문장에서 c를 1 증가 시킨 값을 '%c'인 문자로 출력하고 a는 '%d'인 숫자로 출력한다. 

 

[6과목] 프로그래밍 활용

 

문제 34

Q. 다음은 Web Service 유형에 대한 설명이다. 괄호(      ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메시지를 네트워크 상태에서 교환하는 프로토콜이다. ​
​​- ( ② )은/는 웹 서비스에 대한 정보를 등록하고 검색하기 위한 저장소로 공개적으로 접근, 검색이 가능한 레지스트리이자 표준이다.

 

더보기

​​① SOAP(Simple Object Access Protocol)
② UDDI(Universal Description, Discovery and Integration)

 

[4과목] 통합 구현

 

문제 35

Q. 다음은 인터페이스 구현 검증 및 감시 도구에 대한 설명이다. 괄호(      ) 안에 들어갈 도구 이름을 쓰시오.

- ( ① )은/는 루비(Ruby) 기반 웹 애플리케이션 테스트 프레임워크로 모든 언어 기반의 웹 애플리케이션 테스트와 브라우저 호환성 테스팅이 가능하다. ​
​​​- ( ② )은/는 인터페이스 감시 도구로 애플리케이션에 대한 모니터링 및 DB Agent를 통해 오픈 소스 DB 모니터링 기능, 인터페이스 감시 기능을 제공한다.

 

더보기

​​① watir
② 스카우터(SCOUTER)

 

[5과목] 인터페이스 구현

 

문제 36

Q. 다음은 IPSec(IP Security)에 대한 설명이다. 괄호(      ) 안에 들어갈 용어를 쓰시오.

- IPSec은 IP 계층(3계층)에서 메시지 Checksum을 활용한 데이터 인증과 비연결형 무결성을 보장해 주는 프로토콜인 ( ① )와/과 암호화 알고리즘을 활용한 캡슐화 기반 페이로드 기밀성을 제공하는 프로토콜인 ( ② )을/를 이용하여 양 종단 간(End Point) 구간에 보안 서비스를 제공한다.

 

더보기

​​① ​​AH(Authentication Header)
② ESP(Encapsulating Security Payload)

 

[5과목] 인터페이스 구현

 

문제 37

Q. 다음은 C 코드이다. 출력 결과를 쓰시오.

#include <stdio.h>

void f1(){
  printf("f1");
}

int f2(int a){
  return a++;
}

int main(){
  int a = 1;
  void (*pf1)();
  int (*pf2)(int);
  
  pf1 = f1;
  pf2 = f2;
  
  pf1();
  a += pf2(5);
  printf("%d", a);
  
  return 0;
}

 

더보기

​​f16

 

해설)

char 타입 c 변수는 선언과 동시에 65를 대입한다.
정수형 변수 a는 1.0을 int로 형 변환을 하여 1을 대입 한다.
printf 문장에서 c를 1 증가 시킨 값을 '%c'인 문자로 출력하고 a는 '%d'인 숫자로 출력한다. 

 

[6과목] 프로그래밍 활용

 

문제 38

Q. 다음은 악성 프로그램에 대한 설명이다. 괄호(       ) 안에 들어갈 용어를 영문 Full-name으로 쓰시오.

- ( ① )은/는 어떤 제품이나 컴퓨터 시스템, 암호시스템 혹은 알고리즘에서 정상적인 인증 절차를 우회하는 기법이다. ​
- ( ② )은/는 시스템 침입 후 침입 사실을 숨긴 채 차후의 침입을 위한 백도어, 트로이 목마 설치, 원격 접근, 내부 사용 흔적 삭제, 관리자 권한 획득 등 주로 불법적인 해킹에 사용되는 기능을 제공하는 프로그램의 모음이다.

 

더보기

​​① ​​Backdoor
② Rootkit

 

[9과목] 소프트웨어 개발 보안 구축

 

문제 39

Q. 다음은 C 코드이다. 출력 결과를 쓰시오.

#include <stdio.h>
#include <stdlib.h>

#define SIZE 5

int main()
{
    int i = 0;
    int *p = NULL;
    int *p2 = NULL;

    p = (int *)malloc(sizeof(int)*SIZE);   // malloc(memory allocation) 메모리 할당
    if( p == NULL ){   // p 가 NULL 이면 (메모리 할당이 안되었다면)
      exit(1);         // 프로그램 종료
    }

    for( i=0;i<SIZE;i++){    
        p[i] = i+1;       // 1부터 5까지 대입
    }
    
    p2 = p;    // p가 가리키는 주소값을 p2에 대입
    p2++;     // p2 가 가리키는 주소값을 다음 주소값으로 이동
    
    printf("%d", *p2);   // p2가 가리키는 값을 화면에 출력
    
    if(p != NULL){    // p가 NULL이 아니면
        free(p);        // 메모리 해제함
    }
    return 0;
}

 

더보기

​​2

 

해설)

배열이 아닌 malloc 함수와 free 함수를 이용하여 메모리를 할당 및 해제하는 예제이다.
포인터를 사용할 때 주소값에 ++ 연산자를 사용할 수 있다.

 

[6과목] 프로그래밍 활용

 

문제 40

Q. 다음은 C 코드이다. 출력 결과를 쓰시오.

#include <stdio.h>

typedef struct test *TstPointer;    // struct test * 를 TstPointer 로 바꿈

typedef struct test{     // struct test를 tst로 바꿈
  char gender;
  int age;
  int (*pfunc)(TstPointer);     // 함수 포인터
}tst;      

int func1(TstPointer p){
    printf("%c", p->gender);
    return 0; 
}

int func2(TstPointer p){
    printf("%d", p->age);
    return 0; 
}

int main() 
{
    tst s[2] = {'F', 21, func1, 'M', 20, func2};      // 3번째, 6번째에 함수명을 작성
    TstPointer p = s;     // s는 구조체 배열 변수명이자 주소값이며, 그 값을 p 에 대입
    p++;     // p 값을 다음 값으로 증가 시킴
    
    printf("%d\n", p->pfunc(p));    // 구조체 변수의 pfunc함수를 호출
    
    return 0;
}

 

더보기

​​200

 

해설)

함수 포인터를 구조체의 멤버로 추가하여 함수를 연결하는 예제이다.
구조체는 이미 출제 되었다.

 

[6과목] 프로그래밍 활용

 

문제 41

Q. 다음 중 아래 설명에 나오는 이것이 무엇인지 쓰시오.

- A 은행은 사용자의 가입정보를 보관하고 있고, 사용자가 B 은행의 상품 가입을 하려고 하고 있다. ​
- B 은행에서 사용자의 가입정보를 새롭게 수집하지 않고, 사용자의 동의하에 이것을 통해서 A 은행에서 가지고 있는 사용자의 가입정보를 B 은행에서 받아서 사용하려고 한다.

 

더보기

​​마이 데이터(My Data)

 

해설)

- 마이 데이터(My Data)는 개인이 자신의 정보를 관리, 통제할 뿐만 아니라 이러한 정보를 신용이나 자산관리 등에 능동적으로 활용하는 일련의 과정을 의미한다.
- 마이 데이터에서 개인은 데이터 주권인 자기 정보결정권으로 개인 데이터의 활용과 관리에 대한 통제권을 개인이 가진다는 것이 핵심 원리이다.
- 마이데이터를 통해서 개인의 동의하에 타 기업에 저장된 개인정보를 받아서 필요한 곳에 활용할 수 있게 된다.

 

[11과목] 응용 SW 기초 기술 활용

*신기술 용어 문제

 

문제 42

Q. 학생(STUDENT) 테이블에 컴퓨터공학과 학생 120명, 인공지능학과 학생 160명, 빅데이터학과 학생 80명에 관한 데이터가 있다고 했을 때, 다음에 주어지는 SQL 문 ①, ​​​​​​​​​​②를 각각 실행시킨 결과 튜플 수는 각각 몇 개인가? (단, DEPT는 학과 컬럼명임)

① SELECT DISTINCT DEPT FROM STUDENT; ​
② SELECT DEPT FROM STUDENT;

 

더보기

​​① 3
② 360

 

[7과목] SQL 응용

 

문제 43

Q. 다음은 통합 인증과 관련된 내용이다. 괄호(       ) 안에 들어갈 용어를 쓰시오.

- 1980년대 중반 MIT의 Athena 프로젝트의 일환으로 개발된 ( ① )은/는 클라이언트/서버 모델에서 동작하며 대칭키 암호기법에 바탕을 둔 프로토콜이다. ( ① )은/는 "티켓"(ticket)을 기반으로 동작하는 컴퓨터 네트워크 인증 암호화 프로토콜로서 비보안 네트워크에서 통신하는 노드가 보안 방식으로 다른 노드에 대해 식별할 수 있게 허용한다. ​
- ( ② )은/는 한 번의 시스템 인증을 통하여 여러 정보시스템에 재인증 절차 없이 접근할 수 있는 통합 로그인 솔루션이다.

 

더보기

① ​​커버로스(Kerberos)
② SSO(Single Sign On)

 

[12과목] 제품 소프트웨어 패키징

 

문제 44

Q. 다음은 애플리케이션 성능 개선과 관련된 내용이다. 괄호(       ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 잘 작성되어 가독성이 높고, 단순하며, 의존성을 줄이고, 중복을 최소화하여 깔끔하게 잘 정리된 코드이다. ​
- ( ② )은/는 매우 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 몹시 어려운 코드이다.
- ( ③ )은/는 컴퓨터 프로그램의 소스 코드가 복잡하게 얽혀 있고 작동은 정상적으로 하지만, 사람이 코드를 읽으면서 그 코드의 작동을 파악하기는 어려운 코드이다.

 

더보기

① ​​클린 코드(Clean Code)
② 외계인 코드(Alien Code)
​③ 스파게티 코드(Spaghetti Code)

 

[10과목] 애플리케이션 테스트 관리

 

문제 45

Q. 다음은 요구사항 분석에 사용하는 기능 모델링 기법과 관련된 내용이다. 괄호(       ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 데이터가 각 프로세스를 따라 흐르면서 변환되는 모습을 나타내고 시스템 분석과 설계에서 매우 유용하게 사용된다. ​
- ( ① )의 구성 요소 중 입력된 데이터를 원하는 형태로 변환하여 출력하기 위한 과정이며, 원으로 표시하는 것은 ( ② )이다.

 

더보기

① 자료 흐름도(DFD; Data Flow Diagram)
​② 처리기(Process)

 

[1과목] 요구사항 확인

 

문제 46

Q. 다음 파이썬 코드의 결과를 쓰시오.

s = "시험.정보처리기사.정보처리산업기사.정보처리기능사.빅데이터분석기사"
r = s.split('.')
print(r[1])

 

더보기

​​정보처리기사

 

해설)

split은 구분자를 기준으로 나누는 함수이다.
문자열 s에서 '.'을 기준으로 나누고 그 결과를 r에 대입한다.

 

[6과목] 프로그래밍 활용

 

문제 47

Q. 다음은 각종 재해, 장애, 재난으로부터 위기관리를 기반으로 재해복구, 업무복구 및 재개, 비상계획 등을 통해 비즈니스 연속성을 보장하는 체계인 BCP에 대한 설명이다. 괄호(       ) 안에 들어갈 용어를 영문 약자 또는 영문 Full-name으로 쓰시오.

- ( ① )은/는 장애나 재해로 인해 운영상의 주요 손실을 볼 것을 가정하여 시간 흐름에 따른 영향도 및 손실평가를 조사하는 BCP를 구축하기 위한 분석이다. ​
- ( ② )은/는 조직의 최고 경영층이 주요 지원 서비스의 중단으로 인한 업무의 영향에 대해 허용할 수 있는 최대의 시간을 의미한다. 

 

더보기

① ​​BIA(Business Impact Analysis)
② MTD(Maximum Tolerable Downtime)

 

[9과목] 소프트웨어 개발 보안 구축

 

문제 48

Q. 다음 C 코드의 결과를 쓰시오

#include <stdio.h>
typedef struct _TEST_STRUCT   // TEST 구조체 정의
{
  int n;
  char c;
}TEST;

int test(TEST *p, int length)
{
  int i;    
  if(p == NULL || length < 0){   // 매개변수 체크 로직
    return -1;                        // p가 NULL 이거나 length가 0보다 작으면 -1 을 리턴함
  }    
  for(i=0;i<length;i++){
    p[i].n = i+1;     // p[i].n에 1, 2, 3 대입
    p[i].c = i+65;    // p[i].c에 A, B, C 대입
    printf("%d%c", p[i].n, p[i].c );    // 1A2B3C 출력
  }
  return 1;
}

int main()
{
  TEST s[3];   // 구조체 배열 변수 s 언언
  int ret=0;
  int len = sizeof(s)/sizeof(s[0]);    // len 계산
  ret = test(s, len);    // 구조체 주소와 len을 매개변수로 넘김
  if(ret < 0) printf("%d", ret);  // ret가 0보다 작으면 ret를 출력
  return 0;
}

 

더보기

​​1A2B3C

 

해설)

구조체 배열과 구조체 포인터 예제이다.

 

[6과목] 프로그래밍 활용

 

문제 49

Q. 다음은 프로세스 스케줄링 알고리즘에 대한 설명이다. 괄호(       ) 안에 들어갈 용어를 영문 약자 또는 영문 Full-name으로 쓰시오.

- ( ① )은/는 가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고, 남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점되는 알고리즘이다. ​
- ( ② )은/는 대기 중인 프로세스 중 현재 응답률(Response Ratio)이 가장 높은 것을 선택하는 방법으로 긴 작업과 짧은 작업 간의 불평등을 완화하여 기아 현상을 방지하는 알고리즘이다.

 

더보기

① ​​SRT(Shortest Remaining Time First)
​② HRN(Highest Response Ratio Next)

 

[11과목] 응용 SW 기초 기술 활용

 

문제 50

Q. 다음은 보안 공격에 대한 설명이다. 괄호(       ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 악의적인 해커가 불특정 웹 서버와 웹 페이지에 악성 스크립트를 설치하고, 불특정 사용자 접속 시 사용자 동의 없이 실행되어 의도된 서버(멀웨어 서버)로 연결하여 감염시키는 공격기법이다.
- ( ① )은/는 사용자가 특정 웹사이트에 접속하였을 때(이메일 메세지에 포함된 사이트 주소를 클릭하는 경우 포함), 사용자도 모르게, 악성 SW가 사용자의 디바이스(PC나 스마트폰)에 download 되도록 하는 해킹기법이라고 할 수 있다. ​
- ( ② )은/는 특정인에 대한 표적 공격을 목적으로 특정인이 잘 방문하는 웹 사이트에 악성코드를 심거나 악성코드를 배포하는 URL로 자동으로 유인하여 감염시키는 공격기법이다.

 

더보기

① ​​드라이브 바이 다운로드(Drive By Download)
​② 워터링홀(Watering Hole)

 

[9과목] 소프트웨어 개발 보안 구축

 

문제 51

Q. 다음은 서버와 저장 장치를 연결하는 기술에 대한 설명이다. 괄호(       ) 안에 들어갈 용어를 영문 약자 또는 영문 Full-name으로 쓰시오.

- ( ① )은/는 하드 디스크와 같은 데이터 저장 장치를 호스트 버스 어댑터에 직접 연결하는 방식이다. ​
- ( ② )은/는 저장 장치와 서버를 직접 연결하는 것이 아니라 네트워크를 통해 스토리지에 접속하고, 파일 단위로 관리하는 방식이다.

 

더보기

① ​​DAS(Direct Attached Storage)
​② NAS (Network Attached Storage)

 

해설)

- SAN(Storage Area Network) : 서버와 스토리지를 저장 장치 전용 네트워크로 상호 구성하여 고가용성, 고성능, 융통성, 확장성을 보장하고 데이터를 블록(Block) 단위로 관리하는 기술 

 

[11과목] 응용 SW 기초 기술 활용

 

문제 52

Q. 다음 파이썬 코드의 결과를 쓰시오.

s = "DPETest"
print(s*2)

 

더보기

​​DPETestDPETest

 

해설)

파이썬에서는 문자열 연산이 매우 간편하게 가능하다.

 

[6과목] 프로그래밍 활용

 

문제 53

Q. 다음은 객체 지향 설계에 대한 설명이다. 괄호(       ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 객체 지향 구성요소 중 특정 객체 내에 있는 변수와 메서드를 정의하는 일종의 틀이자 객체 지향 프로그래밍에서 데이터를 추상화하는 단위이다. ​
- 객체 지향 기법 중 ( ② )은/는 하나의 메시지에 대해 각 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력이자 상속받은 여러 개의 하위 객체들이 다른 형태의 특성을 갖는 객체로 이용될 수 있는 성질이다.

 

더보기

① 클래스(Class)
② 다형성(Polymorphism)

 

[1과목] 요구사항 확인

 

문제 54

Q. 다음은 보안 공격에 대한 설명이다. 괄호(       ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 사용자 계정을 탈취해서 공격하는 유형 중 하나로, 다른 곳에서 유출된 아이디와 비밀번호 등의 로그인 정보를 다른 웹 사이트나 앱에 무작위로 대입해 로그인이 이루어지면 타인의 정보를 유출시키는 기법이다. ​ ​
- ( ② )은/는 컴퓨터의 소프트웨어나 하드웨어 및 컴퓨터 관련 전자 제품의 버그, 보안 취약점 등 설계상 결함을 이용해 공격자의 의도된 동작을 수행하도록 만들어진 절차나 일련의 명령, 스크립트, 프로그램을 사용한 공격 행위이다.

 

더보기

① 크리덴셜 스터핑(Credential Stuffing)
​② 익스플로잇(Exploit)

 

[9과목] 소프트웨어 개발 보안 구축

 

문제 55

Q. 다음 성적 테이블에서 과목이 자료구조이고, 학점이 A인 학생의 이름을 내림차순으로 정렬 하시오

[성적] 
이름 과목 학점
김철수 C언어 A
한유리 자료구조 A
신짱구 자료구조 A
이훈이 알고리즘 B
공분산 자료구조 B

 

더보기

​​select 이름
from 성적
where 과목 = '자료구조' AND 학점 = 'A'
order by 이름 desc;

 

[7과목] SQL 응용

 

문제 56

Q. 다음은 애플리케이션 성능 개선과 관련된 사항이다. 괄호(      ) 안에 들어갈 용어를 보기에서 골라 기호로 쓰시오.

- ( ① )은/는 애플리케이션 성능 측정 지표 중 애플리케이션에 사용자가 요구를 입력한 시점부터 트랜잭션을 처리 후 그 결과의 출력이 완료할 때까지 걸리는 시간을 말한다.
- ( ② )은/는 소스 코드 품질분석 도구 중 동적 분석 도구로 자동화된 메모리 및 스레드 결함 발견 분석 도구이다.

| 보기 |
ⓐ Throughput, ⓑ Response Time, ⓒ Turnaround Time, ⓓ Resource Usage, ⓔ pmd, ⓕ cppcheck, ⓖ Valgrind, ⓗ checkstyle

 

더보기

① : ⓒ
​② : ⓖ

 

[10과목] 애플리케이션 테스트 관리

 

문제 57

Q. 다음은 암호 알고리즘에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 보기에서 골라 기호로 쓰시오.

- ( ① )은/는 유한체 위에서 정의된 타원곡선 군에서의 이산대수의 문제에 기초한 공개키 암호화 알고리즘으로 키의 비트 수를 적게하면서 동일한 성능을 제공한다. ​
- ( ② )은/는 국내 표준 서명 알고리즘 KCDSA(Korean Certificate-based Digital Signature Algorithm)를 위하여 개발된 해시함수로 MD5와 SHA1의 장점을 취하여 개발된 해시 알고리즘이다.

| 보기 |
ⓐ DES, ⓑ SEED, ⓒ AES, ⓓ RSA, ⓔ pmd, ⓕ ARIA, ⓖ IDEA, ⓗ LFSR, ⓘ ECC, ⓙ HAS-160, ⓚ HAVAL

 

더보기

① : ⓘ
​② : ⓙ

 

[9과목] 소프트웨어 개발 보안 구축

 

문제 58

Q. 다음은 응집도, 결합도에 대한 설명이다. 괄호(      ) 안에 들어갈 용어를 쓰시오.

- ( ① ) 결합도: 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도로 두 모듈이 동일한 자료 구조를 조회하는 경우의 결합도이며, 자료 구조의 어떠한 변화는 모든 모듈에 영향을 미치게 된다. ​
- ( ② ) 응집도: 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우의 응집도이다.

 

더보기

① : 스탬프 (Stamp)
​② : 순차적(Sequential)

 

[8과목] 서버 프로그램 구현

 

문제 59

Q. 다음은 XP의 12가지 기본 원리에 대한 설명이다. 괄호(   ) 안에 들어갈 용어를 영문 약자 또는 영문 Full-name으로 쓰시오.

- ( ① )은/는 작성해야 하는 프로그램에 대한 테스트를 먼저 수행하고 이 테스트를 통과할 수 있도록 실제 프로그램의 코드를 작성한다는 원리이다. ​
- ( ② )은/는 소프트웨어를 보다 쉽게 이해할 수 있고 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화 없이 내부 구조를 변경하고 재구성한다는 원리이다.

 

더보기

① : TDD(Test Driven Development)
​​② : Refactoring

 

[1과목] 요구 사항 확인

 

문제 60

Q. 다음은 인터페이스 간의 통신을 위하여 이용되는 데이터 포맷에 대한 설명이다. 괄호(   ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 비동기 브라우저 / 서버 통신(AJAX)을 위해 "속성-값 쌍", "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다. ​
- ( ② )은/는 데이터를 사람이 쉽게 읽을 수 있는 형태로 표현하기 위해 사용하는 데이터 직렬화 양식이다. ​
- ( ③ )은/는 HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어이다.

 

더보기

① : JSON(Javascript Object Notation)
​​​② : YAML(YAML Ain't Markup Language)
③ : XML(Extensible Markup Language)

 

[5과목] 인터페이스 구현

 

문제 61

Q. 다음은 인증 기술의 유형에 대한 설명이다. 괄호(   ) 안에 들어갈 유형을 쓰시오.

- ( ① )기반 인증은 '그가 가지고 있는 것(Something You Are)'으로 예시로는 홍채, 정맥 등이 있다. ​
- ( ② )기반 인증은 '그가 하는 것(Something You Do)'으로 예시로는 서명, 움직임, 음성 등이 있다.

 

더보기

① : 생체
​​​② : 특징(행위)

 

[9과목] 소프트웨어 개발 보안 구축

 

문제 62

Q. 다음은 단위 테스트와 관련된 내용이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 필요 테스트를 인자를 통해 넘겨주고, 테스트 완료 후 그 결괏값을 받는 역할을 하는 가상의 모듈로 하위 모듈을 호출하는 상위 모듈의 역할을 수행한다. ​
- ( ② )은/는 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈로 상위 모듈에 의해 호출되는 하위 모듈의 역할을 수행한다.

 

더보기

① : 테스트 드라이버(Test Driver)
​​② : 테스트 스텁(Test Stub)

 

[10과목] 애플리케이션 테스트 관리

 

[2] 약술형

문제 1

Q. 인터넷과 같은 공중망에 인증, 암호화, 터널링 기술을 활용하여 마치 전용망을 사용하는 효과를 가지는 보안 솔루션은?

 

더보기

가상사설망 (VPN; Virtual Private Network) 

 

[9과목] 소프트웨어 개발 보안 구축

 

728x90
그리드형(광고전용)
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖