[정보처리기사 실기] 2020년 2회 기출문제 풀이
[정처기 실기 20년 2회 기출문제 - 바로가기](https://newbt.kr/시험/정보처리기사%20실기/2020년%202회)
1. 다음 보기는 네트워크 인프라 서비스 관리 실무와 관련된 사례이다. 괄호안에 들어갈 가장 적합한 용어를 한글 또는 영문으로 쓰시오.
귀하는 IT회사의 보안관제실에서 근무하고 있다.
정보시스템 운영 중 자연재해나 시스템 장애 등의 이유로 대고객 서비스가 불가능한 경우가 종종 발생한다.
이를 대비하여 백업 및 복구 솔루션을 도입하고자 한다.
백업 및 복구 솔루션은 ( )와 복구 목표 시점(RPO) 기준을 충족할 수 있는 제품으로 선정해야 한다.
( )는 “비상사태 또는 업무중단 시점으로부터 업무가 복구되어 다시 정상가동 될 때까지의 시간” 을 의미하고
복구 목표 시점(RPO)는 "업무 중단 시 각 업무에 필요한 데이터를 여러 백업 수단을 이용하여 복구할 수 있는 기준점"을 의미한다.
정답: 목표 복구 시간(RTO; Recovery Time Objective)
복구 시간 목표(RTO)
Recovery Time Objective / 서비스 중단 후 복원까지 최대 시간
→ 서비스를 사용할 수 없는 최대 허용 시간
복구 시점 목표(RPO)
Recovery Point Objective / 마지막 데이터 복구 후 허용되
목표 복구 시간 RTO, 복구 목표 시점 RPO
▶ 비즈니스 연속성 계획 관련 주요 용어
⦁ BIA(Business Impact Analysis) : 장애나 재해로 인한 운영상의 주요 손실을 볼 것을 가정하여 비즈니스 영향 분석
⦁ RTO(Recovery Time Objective) : 업무중단 시점부터 업무가 복구되어 다시 가동될 때까지의 시간
⦁ RPO(Recovery Point Objective) : 업무중단 시점부터 데이터가 복구되어 다시 정상 가동될 때 데이터의 손실 허용시점
⦁ DRP(Disaster Recovery Plan) : 재난으로 장기간에 걸쳐 시설의 운영이 불가능한 경우를 대비한 재난 복구 계획
⦁ DRS(Disaster Recovery System) : 재해 복구 센터
▶ DRS의 용어
Mirror Site : 주 센터와 데이터복구센터 모두 운영 상태로 실시간 동시 서비스가 가능한 센터
Hot Site : 주 센터와 동일한 수준의 자원을 대기 상태로 보유하면서 데이터의 최신 상태를 유지하고 있는 재해복구센터
Warm Site : 재해복구센터와 동일한 수준의 자원을 보유하는 대신 중요성이 높은 자원만 부분적으로 보유하고 있는 재해복구센터
Cold Site : 데이터만 원격지에 보관하고, 재해 시 데이터를 근간으로 필요 자원을 조달하여 복구하는 것
2. 다음 파이썬(Python) 스크립트의 실행 결과를 적으시오.
>>> asia={"한국", "중국", "일본"}
>>> asia.add("베트남")
>>> asia.add("중국")
>>> asia.remove("일본")
>>> asia.update(["홍콩", "한국", "태국"])
>>> print(asia)
정답: {"한국", "중국", "베트남", "홍콩", "태국"}
소괄호 - 튜플
중괄호 - 딕셔너리,set
대괄호 - 리스트

3. 다음에서 설명하는 기술을 영문 약어로 쓰시오.
'비동기식 자바스크립트 XML'을 의미하는 용어로,
클라이언트와 웹서버 간에 XML 데이트를 내부적으로 통신하는 대화식 웹 애플리케이션의 제작을 위해 사용된다.
클라이언트의 요청에 의해 웹서버에서 로딩된 데이터를 웹 브라우저의 페이지에 보여주기 위해
웹 페이지 전체를 '새로고침'할 필요 없이 즉, 현재 페이지에서 필요한 일부만 로딩되도록 하는 웹 개발 기법을 의미한다.
정답: AJAX(Asynchronous Javascript And XML)
XML + 언어 = WSDL(Web Services Description Language)
XML + 프로토콜 = SOAP(Simple Object Access Protocol)
XML + JAVA = Ajax(Asynchronous JavaScript and XML, 에이잭스)
XML + 검색 = UDDI(Universal Description, Discovery and Integration)
XML + 대체 = JSON
4. 다음에서 설명하는 개발방법론은 무엇인지 적으시오.
고객의 요구사항 변화에 유연하게 대응하기 위해 일정한 주기를 반복하면서 개발하며
고객에게 시제품을 지속적으로 제공하며 고객의 요구사항이 정확하게 반영되고 있는지 점검한다.
폭포수 모형에 대비되는 유연한 방법론으로 비교적 소규모 개발 프로젝트에서 각광받고 있는 개발 방법론이다.
정답: 애자일 (애자일 방법론, 애자일 기법 등)
5. 다음에 제시된 자바(Java) 프로그램이 [처리 결과]와 같은 결과를 출력할 때, 자바 프로그램의 ( ? )에 들어갈 표현을 대소문자를 구별하여 쓰시오.
[처리결과]
Child
class Parent {
void show() {
System.out.println("Parent");
}
}
class Child extends Parent {
void show() {
System.out.println("Child");
}
}
public class Exam {
public static void main(String[] args) {
Parent pa = ( ? ) Child();
pa.show();
}
}
정답: new
객체 생성 키워드 new
6. 다음과 같은 "학생"테이블을 대상으로, 3학년과 4학년의 학번과 이름을 출력하는 SQL문을 작성하시오. (단, in 구문을 반드시 사용할 것)
정답: SELECT 학번,이름 FROM 학생 WHERE 학년 IN (3,4);
7. SQL 제어어(DCL)에는 COMMIT, ROLLBACK, GRANT, REVOKE 가 있다. 그 중 ROLLBACK에 대해 약술하시오.
정답: 트랜잭션의 실패로 작업을 취소하고, 이전 상태로 되돌리는 데이터 제어어
. COMMIT : 트랜잭션 정상 종료 후 변경된 내용을 DB에 반영하는 명령어
. ROLLBACK : 트랜잭션 비정상 종료 후 모든 변경 작업을 취소하고 이전 상태로 원복
. GRANT: 특정 사용자에게 특정 작업을 수행할 권한을 부여하는 명령어
. REVOKE: 특정 이용자에게 부여한 특정 권한을 회수하는 명령어
8. 네트워크 계층(network layer, 3계층)인 인터넷 프로토콜(IP)에서 '암호화', '인증', '키 관리'를 통해 보안성을 제공해 주는 표준화된 기술
정답: IPSec
IPsec 보안 프로토콜 - AH & ESP
AH = Authentication Header - IP 패킷의 무결성, 인증에만 사용되는 헤더
ESP = Encapsulating Security Payload Protocol - 캡슐화 기반 페이로드 기밀성을 제공하는 프로토콜
9. 애플리케이션을 실행하지 않고, 소스 코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함을 발견하기 위하여 사용하는 테스트 자동화 도구 유형은?
정답: 정적 분석 도구
(정적 테스팅 도구, 코드 검사 도구, 코드 인스펙션 툴 등)

10. 다음에서 설명하는 소프트웨어 디자인 패턴을 영문으로 쓰시오.
한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일 대 다(one-to-many) 의존성을 가지는 디자인 패턴.
서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합(Loose coupling)하는 디자인을 사용해야 한다.
정답: Observer
(또는 Observer Pattern)
11. 리눅스 커널을 기반으로 동작하며 자바의 코틀린 언어로 개발된, 모바일 기기에 주로 사용되는 오픈소스 플랫폼인 운영체제는 무엇인지 쓰시오.
정답: 안드로이드
(또는 Android)
12. 다음 주어진 student 테이블의 name 속성에 idx_name를 인덱스 명으로 하는 인덱스를 생성하는 SQL문을 작성하시오.
정답: CREATE INDEX idx_name ON student(name);
CREATE INDEX [인덱스명]
ON [테이블명] ([컬럼명] [정렬기준])
13. 다음 괄호안에 들어갈 프로토콜의 이름을 적으시오.
( )은(는) HTTP 등의 프로토콜을 이용하여 XML 기반의 메시지를 교환하는 프로토콜로,
Envelope-Header-Body 주요 3요소로 구성된다.
( )은(는) 유사한 기능을 하는 RESTful로 대체될 수 있다.
정답: SOAP(Simple Object Access Protocol)
14. 소프트웨어 보안 취약점 중 하나인 SQL Injection에 대해 간략히 설명하시오.
정답: 웹 페이지의 입력값을 통해서 SQL명령어를 주입하여 오동작을 일으키는 해킹방법
15. 다음은 사용자 인터페이스 설계 원칙에 대한 설명이다. 괄호안에 들어갈 설계 원칙을 적으시오.
ㅇ 직관성: 누구나 쉽게 이해하고 사용할 수 있어야 한다.
ㅇ ( ): 사용자의 목적을 정확하게 달성하여야 한다.
ㅇ 학습성: 누구나 쉽게 배우고 익힐 수 있어야 한다.
ㅇ 유연성: 사용자의 요구사항을 최대한 수용하며, 오류를 최소화하여야 한다.
정답: 유효성
직유학유 - 직관성 유효성 학습성 유연성
16. 리눅스 운영체제에서 현재 디렉터리에 위치한 "a.txt"에 아래의 조건대로 권한을 부여하고자 한다. 실행해야 하는 명령어를 적으시오.
ㅇ 사용자에게 읽기,쓰기 실행 권한 부여
ㅇ 그룹에게 읽기, 실행 권한 부여
ㅇ 그 외에게 실행 권한 부여
ㅇ 한 줄의 명령어로 작성하며, 아라비안 숫자를 사용하여 8진수 권한으로 부여
정답: chmod 751 a.txt 또는 chmod 751 ./a.txt
chmod [권한] [파일경로]
읽기: r, 4에 해당
쓰기: w, 2에 해당
실행: x, 1에 해당
17. 다음에서 설명하는 용어를 영문 완전 이름(Full-name)으로 적으시오.
ㅇ 전세계 오픈된 정보를 하나로 묶는 방식
ㅇ Linked data와 Open data의 합성어
ㅇ URI(Uniform Resource Identifier)를 사용
ㅇ RESTful 방식으로 볼 수 있으며, 링크 기능이 강조된 시멘틱 웹에 속하는 기술
정답: Linked Open Data
18. 다음은 데이터베이스 설계(모델링) 과정을 간략히 표현한 것이다. 괄호 안에 들어갈 내용을 순서대로 나열하시오.
요구사항 분석 -> ( ) -> ( ) -> ( ) -> 구현
정답: 개념적 설계 - 논리적 설계 - 물리적 설계
19. 다음 자바(Java) 프로그램을 실행한 출력 결과를 쓰시오.
class A {
int a;
public A(int n) {
a = n;
}
public void print() {
System.out.println("a=" + a);
}
}
class B extends A {
public B(int n) {
super(n);
super.print();
}
}
public class Exam {
public static void main(String[] args) {
B obj = new B(10);
}
}
정답: a=10
20. 다음 보기에서 설명하는 것으로 가장 적절한 것은?
소프트웨어 개발 과정에서 산출물 등의 변경에 대비하기 위해 반드시 필요하다. 소프트웨어 리사이클 기간 동안 개발되는 제품의 무결성을 유지하고 소프트웨어의 식별, 편성 및 수정을 통제하는 프로세스를 제공한다. 실수를 최소화하고 생산성의 최대화가 궁극적인 목적이다. 관련 도구로는 CVS, SVN, Clear Case 등이 있다.
정답: 형상 관리