※ 모든 문제는 시험 응시자의 기억으로 복원 된 문제임을 알립니다. 따라서 문제의 지문과 답이 상이한 경우가 발생 할 수 있습니다. (서술형의 경우 정확하게 맞지 않을 수 있습니다.)
※ 또한, 모든 문제의 기본 풀이는 수제비2023 책을 기반으로 작성하였습니다. 오타가 있을 경우, 답이 틀렸을 경우 댓글 부탁드립니다.
※ 수제비 카페 바로가기 - https://cafe.naver.com/soojebi
1. 현재 IPv4의 확장형으로 IPv4가 가지고 있는 주소 고갈, 보안성, 이동성 지원 등의 문제점을 해결하기 위해서 개발된 128비트 주소체계를 갖는 차세대 인터넷 프로토콜은 무엇인가?
- IPv6
- IPv6는 IPv4가 가지고 있는 주소고갈, 보안성, 이동성 지원 등의 문제점을 해결하기 위해서 개발 된 128bit 주소체계를 갖는 차세대 인터넷 프로토콜이다.
- 특징으로는 IP주소의 확장, 이동성, 인증 및 보안 기능, 개선된 QoS지원, Plug&Play지원, Ad-hoc 네트워크 지원, 단순 헤더 적용, 실시간 패킷 추적 가능이 있다.
- IPv4에 비해 헤더가 더 단순해졌다.
IPv6
11-54
2. 목적에 따른 디자인 패턴의 유형에는 생성, 구조, ( ) 이/가 있다. 괄호 ( ) 안에 알맞는 유형을 쓰시오.
- 행위 (Behavior)
- 디자인패턴은 목적에 따라 생성, 구조, 행위 패턴으로 나뉘고, 범위에 따라 클래스, 객체로 나뉜다.
- 생성 패턴은 객체 인스턴스 생성에 관여, 클래스 정의와 객체 생성 방식을 구조화, 캡슐화를 수행하는 패턴이다.
- 구조 패턴은 더 큰 구조 형성 목적으로 클래스나 객체의 조합을 다루는 패턴이다.
- 행위 패턴은 클래스나 객체들이 상호 작용하는 방법과 역할 분담을 다루는 패턴이다.
- 각 패턴 별로 디자인 패턴 또한 외워야한다. 디자인 패턴들은 종류가 많으니 특징을 기반으로 외우는게 좋다.
디자인 패턴 유형
1-29
3. 다음은 판매와 관련된 다이어그램이다. 해당 다이어그램의 명칭을 쓰시오.
- 패키지 다이어그램 (Package Diagram)
- 패키지 다이어그램은 시스템의 서로 다른 패키지들 사이의 의존 관계를 표현하기 위한 다이어그램이다.
- 문제의 폴더처럼 보이는것은 패키지라고 하고, 요소들을 그룹으로 조직하기 위한 요소이다.
- 선은 의존관계라고 하고 하나의 패키지가 다른 패키지를 사용하는 관계를 나타낸다. 의존성의 성질을 나타내기 위해 스테레오 타입을 붙일 수 있으며, <<import>>, <<access>>가 있다.
UML의 유형- 패키지 다이어그램
2-31
4. 데이터베이스의 회복(Recovery) 기법 중 Rollback 시 Redo, Undo가 모두 실행되는 트랜잭션 처리법으로 트랜잭션 수행 중 갱신 결과를 바로 DB에 반영하는 기법은 무엇인가?
- 즉각(즉시) 갱신 회복기법
- 즉각(즉시) 갱신 회복기법은 로그 기반 회복기법의 한 종류이다.
- 회복기법은 트랜잭션을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업이다.
- 회복기법의 주요 요소로는 Redo, Undo가 있다.
- 회복기법의 종류로는 로그기반 회복기법, 체크포인트 회복기법, 그림자 페이징 회복기법이 있다. 그 중 로그기반 회복기법에 즉각갱신 회복기법이 포함되고, 로그기반 회복기법의 다른 종류로는 지연갱신 회복기법이 있다.
- 지연갱신 회복기법은 트랜잭션이 완료되기 전까지 데이터베이스에 기록하지 않는 기법이다.
회복기법
7-6
5. 다음은 n이 10일 때, 10을 2진수로 변환하는 자바 소스 코드이다. 1,2에 알맞는 값을 적으시오.
class good {
public static void main (String[] args) {
int[]a = new int[8];
int i=0; int n=10;
while ( 1. ) {
a[i++] = ( 2. );
n /= 2;
}
for(i=7; i>=0; i--){
System.out.print(a[i]);
}
}
}
- 출력 : 00001010
- n > 0
- n % 2
- 2진수는 n을 2로 나누면서 나머지를 기록하여 0과 1로 된 수로 나타내는 기법이다.
- 나머지가 0과 1이 나오려면 2로 나눠야 한다.
- 나눈 수를 또 저장하여 다시 2로 나누는 과정에서 n이 0이 될 때 까지 반복하면 된다.
6. 다음은 자바 소스 코드이다. 출력 결과를 보고 , 1,2에 알맞는 값을 적으시오.
public class good {
public static void main(String[] args) {
int[][]a = new int[(1.)][(2.)];
for(int i = 0; i <3; i++){
for(int j=0; j < 5; j++){
a[i][j] = j*3+(i+1);
System.out.print(a[i][j]+"");
}
System.out.println();
}
}
}
- 출력결과
1 4 7 10 13
2 5 8 11 14
3 6 9 12 15
- 3
- 5
- 일단 반복문을 보면 i는 3까지 반복, j는 5까지 반복이다.
- 그리고 안쪽 for문의 a[i][j]를 보면 i와 j를 받아와서 배열에 접근 하려는 것을 알 수 있다.
- 이 때, 배열에 정확하게 접근하기 위해서 배열의 범위를 벗어나지 않아야 하니깐, 1번은 3이고, 2번은 5이다.
7. 스니핑(Sniffing)에 대하여 서술하시오.
- 스니핑은 공격 대상에게 직접 공격을 하지 않고 데이터만 몰래 들여다 보는 수동적 공격 기법이다.
- 스니핑은 네트워크 공격의 한 형태로 위와 같은 특징을 갖고 있다.
- 이 기술로 공격에 필요한 준비를 하는 기술이다.
SW 개발 보안을 위한 공격기법 이해 - 네트워크 공격
9-11
8. IP 패킷에서 외부의 공인 IP주소와 포트 주소에 해당하는 내부 IP주소를 재기록하여 라우터를 통해 네트워크 트래픽을 주고받는 기술은 무엇인가?
- NAT (Network Address Transformation)
- 어디에 나오는지 찾지 못했습니다....
9. 다음은 파이썬 소스 코드이다. 출력 결과를 쓰시오.
lol = [[1,2,3],[4,5],[6,7,8,9]]
print(lol[0])
print(lol[2][1])
for sub in lol:
for item in sub:
print(item, end = '')
print()
- [1,2,3]
- 7
- 1 2 3
- 4 5
- 6 7 8 9
- 맨 앞 번호는 신경쓰지 않아도 됩니다. (줄 갯수는 맞아야 합니다.)
- 1번줄에 대괄호에 씌워져있는 요소를 출력해야합니다. lol[0] 은 [1,2,3] 그 자체이기 때문입니다.
- 배열의 요소는 0번부터 시작하는 개념을 아셔야 합니다.
10. 분산 컴퓨팅 기술 기반의 데이터 위변조 방지 기술로 P2P방식을 기반으로 하여 소규모 데이터들이 연결되어 형성된 '블록'이라는 분산 데이터 저장 환경에 관리 대상 데이터를 저장함으로써 누구도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있게끔 만드는 기술은 무엇인가?
- 블록체인
- 블록체인은 분산데이터베이스의 한 형태로 분산 노드의 운영자에 의한 임의조작이 불가능 하도록 고안되어 지속적으로 성장하는 데이터 기록 리스트인 블록을 연결한 모음이다.
소프트웨어 관련 신기술 용어
11-78
11. 오픈 소스 기반으로 한 분산 컴퓨팅 플랫폼으로, 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크로 구글, 야후 등에 적용한 기술은 무엇인가?
- 하둡 (Hadoop)
- 하둡은 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼이다.
- 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크로 구글, 야후등에 적용되었다.
DB관련 신기술 용어
11-79
12. 이상 현상의 종류 3가지를 쓰시오.
- 삽입이상
- 삭제이상
- 갱신이상
- 이상현상은 데이터의 중복성으로 인해 릴레이션을 조작할 떄 발생하는 비합리적 현상이다.
- 삽입 이상은 정보 저장 시 해당 정보의 불필요한 세부정보를 입력해야 하는 경우를 말한다.
- 삭제 이상은 정보 삭제 시 원치않는 다른 정보가 같이 삭제되는 경우를 말한다.
- 갱신 이상은 중복 데이터 중에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우를 말한다.
정규화 - 이상현상
3-10
13. 다음은 프로세스 상태 전이도이다. 1,2,3에 알맞은 상태를 쓰시오.
- 준비
- 실행
- 대기
- 프로세스의 상태전이는 하나의 작업이 컴퓨터 시스템에 입력되어 완료되기 까지 프로레스의 상태가 준비, 실행 및 대기 상태로 변하는 활동을 말한다.
- 상태 전이로는 디스패치, 타이머 런 아웃, 블록, 웨이크업이 있다.
- 생성은 프로세스가 생성된 상태이다.
- 준비는 CPU를 할당받을 수 있는 상태이다. 각각 우선순위를 부여하여 가장 높은 우선순위를 갖는 프로세스가 다음 순서에 CPU를 할당받는다.
- 실행은 프로세스가 CPU를 할당받아 동작중인 상태를 말한다.
- 대기는 프로세스 실행 중, 입출력 처리 등으로 인해 CPU를 양도하고 입출력 처리 완료까지 대기 리스트에서 기다리는 상태이다.
- 완료는 프로세스가 CPU를 할당받아 주어진 시간 내에 완전히 수행을 종료한 상태이다.
프로세스 관리 - 프로세스 상태
11-19
14. 테스트 오라클 중 특정한 몇 개의 입력값에 대해서만 기대하는 결과를 제공해주는 오라클은 무엇인가?
- 샘플링 오라클
- 테스트 오라클은 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값을 입력하여 비교하는 기법이다.
- 즉, 오라클은 참값만 모아둔 것이다.
- 테스트 오라클의 종류로는 참 오라클, 샘플링 오라클, 휴리스틱 오라클, 일관성검사 오라클이 있다.
- 참 오라클은 모든 입력값에 대하여 기대하는 결과를 생성함으로써 발생된 오류를 전부 검출 할 수 있는 오라클이다.
- 샘플링 오라클은 특정한 몇 개의 입력값에 대해서만 기대하는 결과를 제공해주는 오라클이다.
- 휴리스틱 오라클은 샘플링 오라클을 개선한 오라클로, 특정 입력값에 대해 올바른 결과를 제공하고, 나머지 값들에 대해서는 휴리스틱(추정)으로 처리하는 오라클이다.
- 일관성 검사 오라클은 애플리케이션 변경이 있을 때, 수행 전과 후의 결과값이 동일한지 확인하는 오라클이다.
테스트 오라클- 테스트 오라클 종류
10-26
15. 점수에 따른 성적 부여가 잘 되었는지 테스트하고자 한다. 아래에 알맞는 테스트 기법은 무엇인가?
점수 | 성적 |
0~59 | 가 |
60~69 | 양 |
70~79 | 미 |
80~89 | 우 |
90~100 | 가 |
- 테스트 값 : -10점 / 30점/ 65점/ 75점/ 85점/ 95점/ 110점
- 동등분할 테스트
- 동등분할 테스트는 입력 데이터의 영역을 유사한 도메인 별로 유효값/ 무효값을 그룹핑하여 대푯값 테스트 케이스를 도출하여 테스트하는 기법이다.
- 동등분할 테스트는 블랙박스 테스트 기법 중 하나이다.
- 동등분할 테스트는 동치분할 테스트, 균등 분할 테스트, 동치 클래스 분해 테스트 라고도 한다.
블랙박스 테스트 - 동등분할 테스트
10-19
16. 다음 조건을 만족하면서 학과별로 튜플 수가 얼마인지 구하는 SQL문을 작성하시오.
- 대소문자를 구분하지 않는다.
- WHERE 구문을 사용하지 않는다.
- GROUP BY 를 사용한다.
- 세미콜론(;)은 생략 가능하다.
- 별칭(AS)을 사용해야 한다. (별칭 사용 시 별칭은 작은 따옴표를 써야 함)
- 집계 함수를 사용해야 한다.
[학생]
학과 | 학생 |
전기 | 이순신 |
컴퓨터 | 안중근 |
컴퓨터 | 윤봉길 |
전자 | 이봉창 |
전자 | 강우규 |
[결과]
학과 | 학과별 튜플 수 |
전기 | 1 |
컴퓨터 | 2 |
전자 | 2 |
- SELECT 학과, COUNT(학과) AS '학과별 튜플 수' FORM 학생 GROUP BY 학과;
- SELECT문의 순서는 SELECT FROM WHERE GROUP BY HAVING ORDER BY 순이다.
- 집계함수 사용 후 AS를 사용하여 별칭을 지정한다.
17. 데니스 리치와 켄톰슨 등이 함께 벨 연구소를 통해 만든 운영체제이며, 90% 이상 C언어로 구현되어 있고, 시스템 프로그램이 모듈화되어 있어서 다른 하드웨어 기종으로 쉽게 이식 가능하며 계층적 트리 구조를 가짐으로써 통합적인 파일 관리가 용이한 운영체제는 무엇인가?
- 유닉스
- 유닉스는 데니스 리치와 켄 톰슨등이 함께 벨 연구소를 통해 만든 운영체제이며 90% 이상 C언어로 구현되어 있는 운영체제로 범용 다중 사용자 방식의 시분할 운영체제 이다.
- 유닉스는 처음부터 다양한 시스템에 서로 인식할 수 있고, 멀티 태스킹을 지원하도록 설계되었다.
- 특징으로는 대화식 운영체제 기능 제공, 다중 작업 기능 제공, 다중 사용자 기능 제공, 이식성 제공, 계층적 트리 구조 파일 시스템 제공 등이 있다.
운영체제의 종류 - 유닉스 계열 운영체제
11-4
18. 다음은 C언어 소스 코드이다. 출력값을 쓰시오.
#include <stdio.h>
void main(){
char *p = "KOREA"
printf("%s\n" , p);
printf("%s\n" , p+3);
printf("%c\n" , *p);
printf("%c\n" , *(p+3));
printf("%c\n" , *p+2);
}
- KOREA
- EA
- K
- E
- M
- C언어의 포인터를 묻는 문제이다.
- char형 포인터는 다른 언어의 스트링과 같다.
- 또한 배열 자체도 포인터 이기도 하다.
- p는 KOREA에서 K를 가리키고 있는 형태이다
- %s 서식문자는 개행문자(\n)을 만나기 전까지 모든 리스트를 출력한다.
- p에 대한 연산 중, *를 사용하는 연산은 p가 가리기고 있는 값에 접근하고, *가 없는 연산은 주소값 자체에 접근한다.
- 따라서 *(p + 3)은 주소값에 대한 연산후 가리키고 있는 값에 접근해야 하는것이다.
- *p+2는 가리키고있는 값에 접근 한 후 2를 더한것으로 K의 두번째 다음인 M이 출력되어야 한다.
19. 다음은 자바 소스 코드이다. 출력 결과를 쓰시오.
class parent{
public int compute(int num){
if(num <=1) return num;
return compute(num-1) + compute(num-2);
}
}
class Child extends parent {
public int compute(int num){
if(num<=1) return num;
return compute(num-1) + compute(num-3);
}
}
class good{
public static void main (String[] args){
parent obj = new Child();
System.out.print(obj.compute(4));
}
}
- 1
- Parent obj = new Child(); 로 생성하였기 때문에 obj는 Child 인스턴스를 가지고 있다.
- obj.compute(4)를 호출하게 되면 Child에 있는 compute함수가 실행된다. (오버라이딩)
- 따라서 Child의 compute함수를 호출하고, 함수 내부에서 자기 자신을 호출하는 재귀함수의 형태이기 때문에 재귀적으로 자신을 호출해준다.
- 이 문제는 어느 compute함수를 호출할것이냐 묻는 문제기 때문에 오버라이딩 개념을 잘 알고 있어야 한다.
20. 정보보안에서 가용성( Availcbility ) 에 대하여 서술하시오.
- 가용성은 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속 사용할 수 있도록 보장하는 특성이다.
- 인가된 사용자는 가지고 있는 권한 범위 내에서 언제든 자원 접근이 가능해야 하는 특성이다.
- SW개발 보안의 3대 요소에는 기밀성, 무결성, 가용성이 있다.
- 기밀성은 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성이다. 또한 인가된 사용자에 대해서만 자원 접근이 가능해야 하는 특성이다.
- 무결성은 정당한 방법을 따르지 않고선 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/ 악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성이다. 또한 인가 된 사용자에 대해서만 자원 수정이 가능하며 전송 중인 정보는 수정되지 않아야 하는 특성이다.
SW개발 보안 구성요소 - sw개발 보안의 3대 요소
9-3
오타 및 틀린 답은 댓글 부탁 드립니다!
'Study > 정보처리기사' 카테고리의 다른 글
2021년 2회 정보처리기사 실기 기출문제 풀이 (1) | 2023.09.24 |
---|---|
2021년 1회 정보처리기사 실기 기출문제 풀이 (0) | 2023.09.24 |
2020년 3회 정보처리기사 실기 기출문제 풀이 (0) | 2023.09.23 |
2020년 2회 정보처리기사 실기 기출문제 풀이 (1) | 2023.09.21 |
2020년 1회 정보처리기사 실기 기출문제 풀이 (0) | 2023.09.20 |