※ 모든 문제는 시험 응시자의 기억으로 복원 된 문제임을 알립니다. 따라서 문제의 지문과 답이 상이한 경우가 발생 할 수 있습니다. (서술형의 경우 정확하게 맞지 않을 수 있습니다.)
※ 또한, 모든 문제의 기본 풀이는 수제비2023 책을 기반으로 작성하였습니다. 오타가 있을 경우, 답이 틀렸을 경우 댓글 부탁드립니다.
※ 수제비 카페 바로가기 - https://cafe.naver.com/soojebi
1. 아래 설명에 맞는 RAID 단계를 숫자로 작성하시오.
- Striping(스트라이핑) 구현 방식
- I/O 로드의 분산으로 매우 빠른 속도
- 데이터를 블럭으로 분할 저장하며, 각 블럭은 다른 디스크로 나뉘어 저장
- 0
- RAID(Redundant Array of Independent Disk)는 하나의 대형저장장치 대신 다수의 저용량 저장장치를 배열로 구성하는 기술이다.
- 여러개의 하드 디스크에 일부 중복된 데이터를 나눠서 저장하기 때문에 디스크 어레이(Disk Array)라고도 한다.
- 다양한 방법이 존재하며 다음과 같다.
RAID 0 | 패리티(오류 검출 기능) 가 없는 스트라이핑 된 세트로 구성되는 방식 적어도 2개의 디스크 필요 |
RAID 1 | 패리티가 없는 미러링된 세트로 구성되는 방식 적어도 2개의 디스크 필요 디스크 2개에 동일한 데이터가 저장되고, 제공해야 할 논리 디스크 크기의 두 배 공간을 필요로 하기 때문에 비용 측면에서 단점이 있다. |
RAID 2 | 오류정정부호(ECC)를 기록하는 전용의 하드디스크를 이용해서 안정성을 확보하는 방식 비트레벨의 스트라이핑과 해밍코드 패리티 사용하여 하나의 멤버 디스크가 고장나도 ECC를 이용하여 정상적으로 작동할 수 있지만, 추가적인 연산이 필요하여 입출력 속도가 매우 낮음 |
RAID 3 | 데이터는 모든 디스크에 바이트 단위의 스트라이핑된 세트로 구성되고, 패리티 정보는 별도의 전용 디스크에 저장되는 방식 적어도 3개의 디스크 필요 한개의 드라이브가 고장나는것을 허용하며, 순차적 쓰기 성능과 순차적 읽기 성능은 우수하지만, 문제 해결이 어려워 잘 사용되지 않음. |
RAID 4 | 데이터는 모든 디스크에 블록 단위의 스트라이핑 된 세트로 구성되고, 패리티 정보는 별도의 전용 디스크에 저장되는 방식 적어도 3개의 디스크 필요 읽기 성능은 좋지만, 쓰기 성능은 나쁨 |
RAID 5 | 패리티가 배분되는 스트라이핑 된 세트로 구성된 방식 적어도 3개의 디스크 필요 모든 디스크에 나뉘어 저장되지만, 항상 균등하진 않고 패리티 정보도 모든 디스크에 나눠 저장 |
RAID 6 | 패리티가 배분되는 스트라이핑된 세트로 구성된 방식 적어도 4개의 디스크 필요 각 디스크에 패리티 정보가 두 번 독립적으로 분산되어 저장. |
개발환경 인프라 구축 - RAID
11-93
2. 다음 설명을 확인하여 해당하는 항목을 보기에서 찾아 적으시오.
- 오류가 발생하기 전까지의 사항을 로그(log)로 기록해 놓고, 이전 상태로 되돌아간 후, 실패가 발생하기 전까지의 과정을 그대로 따라가는 현상
- 작업을 취소하여 트랜잭션을 이전 상태로 되돌리는 것
- Redo
- Undo
- 회복기법은 트랜잭션을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업이다.
- 주요요소에는 Redo, Undo가 있다.
- Redo는 데이터베이스가 비정상적으로 종료되었을 때 디스크에 저장된 로그를 분석하여 트랜잭션의 시작과 완료에 대한 기록이 있는 트랜잭션들의 작업을 재작업하는 기법
- 데이터베이스 내용 자체가 손상된 경우, 가장 최근의 복제본을 적재한 후 이후 일어난 변경만을 로그를 이용하여 재실행함으로써 데이터베이스를 복원하는 기법
- Undo는 데이터베이스가 비정상적으로 종료되었을 때 디스크에 저장된 로그를 분석하여 트랜잭션의 시작은 있지만 완료 기록이 없는 트랜잭션들이 작업한 변경내용을 모두 취소하는 기법
- 데이터베이스 내용 자체는 손상되지 않았지만, 변경 중이거나 변경된 내용에 대한 신뢰성을 잃어버린 경우, 모든 변경 내용을 취소하여 복원하는 기법
- 회로기법의 종류에는 로그기반 (로그기반은 다시 지연갱신 회복기법, 즉각갱신 회복기법으로 나뉨), 체크포인트, 그림자 페이징 회복기법이 있다.
회복기법 - 회복기법 종류
7-5
3. 다음 자바 문법에 알맞는 출력 결과를 작성하시오.
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
- class A는 a와 b라는 맴버변수를 갖고 있다.
- main함수에서 A자료형을 가진 m이라는 객체를 생성하였다.
- func1에 m을 전달했을때, m은 100이므로 m에 10을 곱한 1000을 반환한다.
- m.b = m.a이므로 m을 다시 전달하면 a + b인 2000을 반환한다.
- 따라서 m.a는 2000이다.
4. 다음 SQL 결과에 알맞는 쿼리를 작성하시오
- SELECT name, score FROM 성적 ( 1 ) BY ( 2 ) ( 3 );
- ORDER
- score
- DESC
- 현재 쿼리를 보면 score를 기준으로 내림차순으로 정렬되어 있다.
- 쿼리에서 정렬을 하는 구문은 ORDER BY 구문이고, 이때, score를 기준으로 정렬해야 되니 2번은 score가 된다.
- 맨 마지막 3번은 정렬방법을 묻는 곳인데 ASC는 오름차순, DESC는 내림차순으로 정렬하게 된다.
5. 데이터베이스의 이상현상 중, 삭제 이상에 대해 서술하시오.
- 데이터를 삭제했을 때, 삭제하려는 데이터가 아닌 데이터도 같이 삭제되는 현상
- 정보 삭제 시 원치않는 다른 정보가 같이 삭제되는 이상 현상
- 이상현상은 데이터의 중복서응로 인해 릴레이션을 조작할 때 발생하는 비합리적인 현상이다.
- 이상현상의 종류는 삽입이상, 삭제이상 갱신이상이 있다.
정규화 - 이상현상 3-10
6. 다음은 파이썬 코드에서 출력되는 a와 b의 값을 작성하시오.
def exam(num1, num2=2):
print('a=', num1, 'b=', num2)
exam(20)
- a=20 b=2
- 이 문제는 사용자가 정의한 메소드에서 default값을 묻는 문제이다.
- 함수의 마지막 파라미터(인자)에 대입 연산이 주어졌을 경우, 값이 입력되지 않는다면 값을 지정해 둔 default값으로 전달한다.
- 따라서 a = 20 b = 2이다.
7. 다음은 리스트와 관련된 파이썬 함수이다. 각 항목에 해당하는 함수를 적으시오.
- 요소를 확장해준다는 의미를 가지고 있으며, 모든 항목을 하나의 요소로 추가
- 리스트 내부 요소를 꺼내주는 함수로써, 그 요소는 리스트 안에서 삭제하고 그 값을 반환
- 리스트 내부의 요소의 순서는 뒤집는 역할
- extend()
- pop()
- reverse()
- 원래 문제는 보기가 주어진다.
- 이 문제는 리스트 관련 함수가 어떤것들이 있는지 사전에 알아야 한다.
- 리스트는 파이썬에서 자료형을 갖고 스택 및 큐로 사용할 수 있는 자료구조를 말한다.
8. 다음 아래 단어를 영어 약자로 작성하시오.
- 임시 키 무결성 프로토콜
- TKIP (Temporal Key Integrity Protocol)
- 임시 키 무결성 프로토콜(TKIP)는 IEEE 802.11i의 암호화 방식으로 초기 Wi -Fi 장비에서 널리 사용되었던 안전하지 않은 Wep암호 화 표준을 대처하기 위한 암호 프로토콜이다.
- 다수의 마스터키를 사용하여 마스터키의 노출을 최소화 하도록 자주 키를 갱신하는 특징이 있고, 프레임마다 카운티을 할 수 있도록 하여, 재생공격 능력에 대흥할 수 있는 특징이 있다
보안 공격 대은 관련 용어
9-65
9. 다음 중, 설명에 대한 답을 영어 약자로 작성하시오.
- 키보드나 마우스와 같은 장치 없이 말이나 행동 그리고 감정과 같은 인간의 자연스러운 표현으로 컴퓨터나 장치를 제어할 수 있는 환경
- NUI
10. 다음은 분석도구에 대한 설명으로 보기에 알맞는 답을 작성하시오.
- 소스 코드의 실행 없이, 코드의 의미를 분석해 결함을 찾아내는 원시적 코드 분석 기법
- 소스 코드를 실행하여 프로그램 동작이나 반응을 추적하고 코드에 존재하는 메모리 누수, 스레드 결함 등을 분석
- 정적 분석(Static)
- 동적 분석(Dyanmic)
- 테스트는 크게 정적 테스트와 동적 테스트로 나눠질 수 있고, 정적 테스트는 리뷰(Review)와 정적분석 (Static Analysis)으로 분류할 수 있다.
- 정적 분석은 도구의 지원을 받아 정적 테스트를 수행하는 방법이다.
- 정적분석은 자동화 된 도구를 이용하여 산출물의 결함을 검출하거나 복잡도를 측정한다.
- 동적 테스트에는 화이트박스 테스트와 블랙 박스 테스트가 있다.
정적 테스트
10-12
11. 다음 Java 코드 중에서 밑줄에 들어갈 알맞는 코드를 작성하시오.
class Car implements Runnable{
int a;
public void run(){
system.out.println("message")
}
}
public class Main{
public static void main(String args[]){
Thread t1 = new Thread(new ___());
t1.start();
}
}
- Car
- 스레드를 만들기 위해서는 Runnable인터페이스 상속받고, 스레드를 생성하기 위해서 new뒤에 Runnable 인터페이스를 상속받은 스레드도 클래스를 선언해준다.
12. 다음 설명에 대한 알맞는 단어를 작성하시오.
- 자바 프로그래밍 언어를 이용한 xUnit의 테스트 기법으로써 숨겨진 단위 테스트를 끌어내어 정형화시켜 단위 테스트를 쉽게 해주는 테스트용 Framework이다.
- JUnit
- JUnit은 자바 프로그래밍 언어용 단위 테스트 도구이다.
- 공통모듈 테스틀를 위해 IDE도구를 활용하여 개별 공통 모듈에 대한 디버깅을 수행한다.
- 공통모듈 테스트 종류에는 JUnit, CppUnit, HttpUnit이 있다.
공통 모듈 테스트의 개념 - 공통 모듈 테스트 종류
8-18
13. 다음 보기 중에서 블랙박스 테스트 기법을 3가지 골라 작성하시오.
- ㄷ. Boundary Value Analysis (경곗값 분석 테스트)
- ㄹ. Equivalence Partitioning (동등분할 테스트)
- ㅂ. Cause - Effect Graph(원인 결과 그래프 테스트)
- 블랙박스 테스트는 프로그램 외부 사용자의 요구사항 명세를 보면서 수행하는 테스트이다.
동등분할 테스트 =동치분할테스트, 균등분할 테스트, 동치 클래스 분해 테스트 (Equivalence Partitioning Testing) |
데이터 영역을 유사한 도메인 별로 유효값/ 무효값을 그룹핑하여 대푯값 테스트 케이스를 도출하여 테스트 |
경곗값 분석 테스트 = 한곗값 테스트 (Boundary Value Analysis Testing) |
등가 분할 후 경곗값 부분에서 오류 발생 확률이 높기 때문에 경곗값을 포함하여 테스트 케이스를 설계하여 테스트 하는 기법 |
결정 테이블 테스트 (Decision Table Testing) |
요구사항의 논리와 발생조건을 테이블 형태로 나열하여 조건과 행위를 모두 조합하여 테스트 하는 기법 |
상태전이 테스트 (State Transition Testing) |
테스트 대상/ 시스템이나 객체의 상태를 구분하고, 이벤트에 의해 어느 한 상태에서 다른 상태로 전이되는 경우의 수를 수행 |
유스케이스 테스트 (Use Case Testing) |
실제 사용되는 유스케이스로 모델링 되어 있을 때 프로세스 흐름을 기반으로 테스트 케이스를 명세화 하여 수행하는 테스트 |
분류 트리 테스트 (Classification Tree Method Testing) |
SW의 일부 또는 전체를 트리구조로 분석 및 표현하여 테스트 케이스를 설계하여 테스트 하는 기법 |
페어 와이즈 테스트 (Pairwise Testing) |
테스트 데이터 값들 간에 최소한 한 번씩을 조합하는 방식 |
원인-결과 그래프 테스트 (Cause - Effect Graph) |
입력 데이터 간의 관계 및 출력에 미치는 영향을 분석하여 효용성이 높은 테스트 케이스를 선정하여 테스트 |
비교 테스트 (Comparison Testing) |
여러 버전의 프로그램에 같은 입력값을 넣어서 동일한 결과 데이터가 나오는지 비교해보는 테스트 기법 |
오류 추정 테스트 (Error Guessing Testing) |
개발자가 범할 수 있는 실수를 추정하고 이에 따른 결함이 검출되도록 테스트 케이스를 설계하여 테스트하는 기법 |
블랙박스 테스트
10-8
14. 다음 소스코드에서 입력값이 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
- 위 코드는 func가 자기 자신을 다시 호출하는 재귀함수의 형태이고, return 값을 봤을 때, 전달된 값이 1씩 작아지면서 작아진 값을 자기 자신에게 다시 전달하다가 1이 되었을때 반환하는것을 보면 팩토리얼 함수이다.
- 따라서 차례대로 따라가면 5*4*3*2*1 = 120이 정답이 된다.
15. 다음 중, 괄호 ( ) 안에 들어갈 연산자를 써서 정수를 역순으로 출력하는 알맞는 답을 작성하시오.
#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;
}
- 출력값 : 4321
- !=
- %
- /
- 결과값을 보았을 때, number을 10으로 나누고 남은 나머지를 result에 더한 다음 다시 반복문에 돌아 왔을 때 10을 곱해서 자릿수를 올려준다.
- 찬찬히 넣어보면서 코드를 따라가면 풀 수 있다.
16. 다음 설명에 대한 답을 영어 약자로 작성하시오.
- 정보보호 관리체계의 영문 약자
- ISMS (Information Security Management System)
- 조직의 주요 정보자산을 보호하기 위하여 정보보호 관리 절차와 과정을 체계적으로 수립하여 지속적으로 관리하고 운영하기 위한 종합적인 체계
- ISMS와 PIMS로 개별 운영되던 인증 체계를 하나로 통합한 통합 인증 제도로, ISMS-P가 실행되고 있다.
보안공격 대응 관련 용어
9-65
17. 다음 설명 중, 괄호 ( ) 안에 들어가는 알맞는 답을 작성하시오.
- 슈퍼키는 ( 1 ) 의 속성을 갖는다.
- 후보키는 ( 1 ) 와/과 ( 2 ) 의 속성을 갖는다.
- 유일성
- 최소성
- 키의 득성으로는 식별자에 의해 엔티티 타입 내에 모든 엔티티들이 유일하게 구분되는 유일성, 최소한의 속성으로 식별자를 구성하는 최소성이 있다.
- 키의 종류는 기본키 대체키 후보키 슈퍼기 외래키 등이 있다.
기본키 (Primary Key) |
후보 키 중에서 선택받아 테이블의 튜플들을 고유하게 식별하는 키 |
대체키 (Alternate Key) |
후보키 중에서 기본키로 선택되지 않은 키 |
후보키 (Candidate Key) |
유일성과 최소성을 모두 만족하는 키 |
슈퍼키 (Super Key) |
유일성은 만족하지만, 최소성은 만족하지 못하는 키 |
외래키 (Foreign Key) |
한 릴레이션의 컬럼이 다른 릴레이션의 기본 키로 이용되는 키 |
키 - 키 종류
3-33
18. 다음 설명과 관련된 답은?
- 이 공격은 APT 공격에서 주로 쓰이는 공격으로, 공격 대상이 방문할 가능성이 있는 합법적인 웹 사이트를 미리 감염시킨 뒤, 잠복하고 있다가 공격 대상이 방문하면 대상의 컴퓨터에 악성코드를 설치하는 방식
- 워터링 홀 (Watering hole)
- 공격 대상이 방문할 가능성이 있는 합법적 웹사이트를 미리 감염시켜 놓고, 피해자가 방문했을 때 피해자의 컴퓨터에 악성 프로그램을 배포하는 공격기법은 워터링 홀(Watering Hole)이다.
파밍 (Pharming) |
인터넷 주소창에 방문하고자 하는 사이트의 URL을 입력하였을 때, 가짜 사이트로 이동시키는 공격기법 |
드라이브 바이 다운로드 (Drive By Download) |
악의적인 해커가 불특정 웹 서버와 웹 페이지에 악성 스크립트를 설치하고, 불특정 사용자 접속 시 사용자 동의 없이 실행되어 의도된 서버(멀웨어 서버)로 연결하여 감염시키는 공격기법 |
비즈니스 스캠 (Business SCAM) |
기업 이메일 계정 도용하여 무역 거래 대금을 가로채는 사이버 범죄 |
피싱 (Phishing) |
소셜 네트워크에서 악의적인 사용자가 지인 또는 특정 유병인으로 가장하여 불특정 다수의 정보를 탈취하는 공격 기법 |
사이버 킬체인 (Cyber Kill Chain) |
록히드 마틴의 사이버 킬체인은 공격형 방위 시스템으로 지능적, 지속적, 사이버 공격에 대한 7단계 프로세스별 공격분석및 대응을 체계화한 APT공격 방어 분석 모델 |
랜섬웨어 (Ransomware) |
악성코드의 한 종류로 감염된 시스템의 파일들(문서, 사진, 동영상 등)을 암호화 하여 복호화 할 수 없도록 하고, 피해자로 하여금 암호화된 파일을 인질처럼 잡고 몸값을 요구하는 악성 소프트웨어 |
보안관련용어
9-15
19. 다음 소스코드가 실행할 때의 출력값을 작성하시오.
#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
- 위 코드는 number을 나눠 떨어지게 할 수 있는 가장 큰 소수를 구하는 프로그램이다.
- 13195는 5*7*13*29로 나타낼 수 있다.
- 따라서 정답은 29
20. 다음은 V모델에서의 테스트 단계에 대한 설명으로 괄호안에 들어갈 답을 작성하시오.
- 단위 테스트
- 통합 테스트
- 시스템 테스트
- 인수 테스트
- 소프트웨어 개발 프로세스 중, V 모델에서 사용되는 테스트는 다음과 같다.
단위 테스트 | 소프트웨어 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춘 테스트 |
통합 테스트 | 단위 테스트를 통과한 모듈 사이의 인터페이스, 통합된 컴포넌트 간의 상호 작용을 검증하는 테스트 |
시스템 테스트 | 통합된 단위 시스템의 기능이 시스템에서 정상적으로 수행되는지를 검증하는 테스트 |
인수 테스트 | 계약상의 요구사항이 만족되었는지 확인하기 위한 테스트 |
테스트 레벨 - 테스트 레벨의 종류
10-27
오타 및 틀린 답안은 댓글 부탁드립니다!
'Study > 정보처리기사' 카테고리의 다른 글
2022년 3회 정보처리기사 실기 기출문제 풀이 (0) | 2023.09.27 |
---|---|
2022년 2회 정보처리기사 실기 기출문제 풀이 (1) | 2023.09.27 |
2021년 3회 정보처리기사 실기 기출문제 풀이 (0) | 2023.09.24 |
2021년 2회 정보처리기사 실기 기출문제 풀이 (1) | 2023.09.24 |
2021년 1회 정보처리기사 실기 기출문제 풀이 (0) | 2023.09.24 |