📝 기출문제 전체 보기
정보처리기사 실기 2020년 2회차 기출 복원입니다. 각 문제 아래의 「정답·해설 보기」를 펼치면 정답과 해설이 나타나요. 실전 시험 환경(타이머·자동 채점·오답 누적)에서 풀어보고 싶다면 글 맨 아래 「직접 풀러가기」를 눌러주세요.
문제 1
단답형정보시스템 운영 중 서버가 다운되거나 자연재해나 시스템 장애 등의 이유로 고객에게 서비스가 불가능한 경우가 종종 발생한다. 이와 같은 상황에서 비상사태 또는 업무중단 시점부터 업무가 복구되어 다시 정상 가동될때까지의 시간을 의미하는 용어가 무엇인지 쓰시오.
정답·해설 보기▾
모범답안
RTO(Recovery Time Objective)
키워드: RTO, Recovery Time Objective, 목표 복구 시간
해설
업무중단 시점부터 업무가 복구되어 정상 가동될 때까지 걸리는 목표 시간을 의미하는 용어는 RTO(Recovery Time Objective, 목표 복구 시간)이다. 데이터 손실 허용 시점인 RPO 와 대비되는 개념이다.
문제 2
단답형다음 파이썬 코드를 실행한 뒤 최종 집합 a에 포함되는 원소를 작성하시오. 단, set은 출력 순서가 보장되지 않으므로 원소만 작성한다.
정답·해설 보기▾
모범답안
중국, 한국, 베트남, 홍콩, 태국 (순서 무관)
키워드: 중국 한국 베트남 홍콩 태국, 중국, 한국, 베트남, 홍콩, 태국, 한국 중국 베트남 홍콩 태국
해설
집합 a는 {'일본','중국','한국'}으로 시작한다. add('베트남')으로 베트남이 추가되고, add('중국')은 이미 존재하므로 변화가 없다. remove('일본')으로 일본이 제거되고, update(['홍콩','한국','태국'])으로 홍콩과 태국이 추가된다. 한국은 이미 존재하므로 중복 추가되지 않는다. 따라서 최종 원소는 중국, 한국, 베트남, 홍콩, 태국이며 set은 출력 순서가 보장되지 않는다.
문제 3
단답형브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부분만을 위한 데이터를 로드하는 기법이며, 하이퍼텍스트 표기 언어(HTML)만으로 어려운 다양한 작업을 웹 페이지에서 구현해 이용자가 웹 페이지와 자유롭게 상호작용할 수 있도록 하는 기술명을 쓰시오.
정답·해설 보기▾
모범답안
AJAX(Asynchronous JavaScript and XML)
키워드: AJAX, Asynchronous JavaScript and XML, 비동기 통신
해설
XMLHttpRequest 객체를 이용해 전체 페이지를 새로 고치지 않고 일부 데이터만 비동기로 주고받아 상호작용을 구현하는 기술은 AJAX(Asynchronous JavaScript and XML)이다.
문제 4
단답형절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발방법론으로, 개발 기간이 짧고 신속하며, 워터폴에 대비되는 방법론으로 최근 회사에서 각광받는 방법론은 무엇인가?
정답·해설 보기▾
모범답안
애자일 방법론
키워드: 애자일, Agile, 애자일 방법론
해설
절차보다 사람과 변화 대응을 중시하며 짧은 주기로 신속하게 개발하는 경량 방법론으로 워터폴(폭포수)에 대비되는 것은 애자일(Agile) 방법론이다.
문제 5
단답형다음은 자바 코드이다. 다음 밑줄에 들어갈 키워드를 쓰시오.
정답·해설 보기▾
모범답안
new
키워드: new
해설
Parent 타입 변수에 Child 객체를 생성해 대입하려면 인스턴스를 생성하는 키워드 new가 필요하다. 빈칸에는 new가 들어가 Parent pa = new Child(); 가 된다.
문제 6
단답형학생 테이블은 학번, 이름, 학년, 수강과목, 점수, 연락처를 속성으로 가진다. 아래 조건을 만족하는 SQL문을 작성하시오.
- 학생 테이블에서 3,4학년인 학번, 이름을 조회한다.
- IN 연산자 사용해야 한다.
[학생]
학번 이름 학년 수강과목 점수 연락처 1000 김이름 1 수학 90 010-1111-2222 2000 장이름 2 과학 95 010-2222-2222 3000 허이름 3 미술 90 010-3333-3333 4000 조이름 4 음악 95 010-4444-4444 정답·해설 보기▾
모범답안
SELECT 학번, 이름 FROM 학생 WHERE 학년 IN (3,4);
키워드: SELECT 학번, 이름 FROM 학생 WHERE 학년 IN (3,4), SELECT 학번, 이름 FROM 학생 WHERE 학년 IN (3, 4);
해설
3, 4학년 학생의 학번과 이름을 IN 연산자로 조회한다. SELECT 절에 학번, 이름을 두고 WHERE 학년 IN (3,4)로 학년이 3 또는 4인 행을 선택하면 된다.
문제 7
단답형트랜잭션 Rollback에 대해 설명하시오.
정답·해설 보기▾
모범답안
트랜잭션 처리 중 오류가 발생하거나 사용자가 취소할 때, 트랜잭션의 변경 사항을 취소하고 이전의 일관된 상태로 되돌리는 명령이다.
키워드: Rollback, 롤백, 이전 상태로 복귀, 변경 사항 취소, SAVEPOINT
해설
Rollback은 트랜잭션 수행 중 오류가 발생하거나 사용자가 작업을 취소할 때, 해당 트랜잭션이 변경한 내용을 취소하고 트랜잭션 시작 시점 또는 지정된 SAVEPOINT 등 이전의 일관된 상태로 데이터베이스를 되돌리는 트랜잭션 제어 명령(TCL)이다.
문제 8
단답형무결성과 인증을 보장하는 인증헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용한 프로토콜로 네트워크 계층(Network Layer)인 인터넷 프로토콜(IP)에 보안성을 제공해주는 표준화된 기술에 대해 쓰시오.
정답·해설 보기▾
모범답안
IPSec(Internet Protocol Security)
키워드: IPSec, Internet Protocol Security, IP Security
해설
인증헤더(AH)로 무결성·인증을, ESP로 기밀성을 제공하며 네트워크 계층(IP)에서 동작하는 표준 보안 프로토콜은 IPSec(Internet Protocol Security)이다.
문제 9
단답형애플리케이션을 실행하지 않고, 소스 코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함을 발견하기 위해 사용하는 도구는 무엇인지 쓰시오.
정답·해설 보기▾
모범답안
정적 분석 도구
키워드: 정적 분석 도구, 정적 분석, Static Analysis
해설
프로그램을 실행하지 않고 소스 코드 자체를 분석해 코딩 표준 준수 여부, 복잡도, 잠재 결함을 찾아내는 도구는 정적 분석 도구(Static Analysis Tool)이다.
문제 10
단답형다음 보기가 설명하는 패턴을 쓰시오. (영문 Full-Name으로 작성하시오)
[보기] 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에게 연락이 가고 자동으로 내용이 갱신되는 방법으로 일대 다의 의존성을 가지며 상호작용하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인을 사용해야 한다.
정답·해설 보기▾
모범답안
Observer Pattern
키워드: Observer Pattern, 옵서버 패턴, 관찰자 패턴
해설
한 객체(주체)의 상태 변화가 의존하는 여러 객체(관찰자)에게 자동으로 통지되어 갱신되며 일대다 의존성과 느슨한 결합을 특징으로 하는 행위 패턴은 옵서버(Observer) 패턴이다.
문제 11
단답형Linux 운영체제 위에서 구동하며 휴대폰 전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어, 사용자 인터페이스 그리고 표준 응용프로그램(웹 브라우저 등) 등을 포함하고 있는 소프트웨어 스택이자 리눅스 모바일 운영체제로 개발자들이 자바와 코틀린 언어로 응용 프로그램을 작성할 수 있게 했고, 컴파일 된 바이트 코드를 구동할 수 있는 런타임 라이브러리를 제공하는 운영체제는 무엇인지 쓰시오.
정답·해설 보기▾
모범답안
안드로이드
키워드: 안드로이드, Android
해설
리눅스 커널 위에서 동작하며 자바·코틀린으로 앱을 개발하고 바이트 코드를 실행하는 런타임을 제공하는 모바일 운영체제 소프트웨어 스택은 안드로이드(Android)이다.
문제 12
단답형학생 테이블의 name 속성에 IDX_NAME 이름으로 인덱스 생성하는 SQL문을 작성하시오.
[학생]
STID NAME SCORE DEPTID 1000 김이름 90 1 2000 허이름 95 2 3000 조이름 90 3 4000 장이름 95 4 정답·해설 보기▾
모범답안
CREATE INDEX IDX_NAME ON 학생(NAME);
키워드: CREATE INDEX IDX_NAME ON 학생(NAME), CREATE INDEX IDX_NAME ON 학생 (NAME);
해설
특정 컬럼에 인덱스를 생성하려면 CREATE INDEX 인덱스명 ON 테이블명(컬럼명) 구문을 사용한다. 학생 테이블의 NAME 컬럼에 IDX_NAME 인덱스를 만들면 CREATE INDEX IDX_NAME ON 학생(NAME); 이 된다.
문제 13
단답형다음 설명 중 빈칸에 들어갈 알맞은 용어를 작성하시오.
HTTP, HTTPS, SMTP를 통해서 XML 기반의 데이터를 주고받는 프로토콜로 웹 서비스 방식에 HTTP기반의 ( ) 을/를 사용하여 송수신한다. ( ) 대신 레스트풀(RESTful) 프로토콜로 대체할 수 있다.
정답·해설 보기▾
모범답안
SOAP (Simple Object Access Protocol)
키워드: SOAP, Simple Object Access Protocol
해설
HTTP, HTTPS, SMTP 등을 통해 XML 기반 메시지를 주고받는 웹 서비스 프로토콜로 RESTful 로 대체 가능한 것은 SOAP(Simple Object Access Protocol)이다.
문제 14
단답형SQL Injection이 무엇인지 서술하시오.
정답·해설 보기▾
모범답안
응용 프로그램의 보안 취약점을 이용해서 악의적인 SQL 구문을 삽입, 실행시켜서 데이터베이스에 접근하여 정보를 탈취하거나 조작 등의 행위를 하는 공격 기법이다.
키워드: SQL Injection, SQL 삽입, 악의적인 SQL 구문 삽입
해설
SQL Injection은 입력값 검증이 미흡한 보안 취약점을 악용해 악의적인 SQL 구문을 삽입·실행시켜 데이터베이스의 데이터를 무단 조회·조작·탈취하는 공격 기법이다.
문제 15
단답형사용자에게 읽기 / 쓰기 / 실행 권한을 부여하고 그룹에게는 읽기 / 실행을 부여하고 그 이외에는 실행 권한을 a.txt에 부여하는 명령어를 한 줄로 작성하시오. (8진법을 사용하시오)
정답·해설 보기▾
모범답안
chmod 751 a.txt
키워드: chmod 751 a.txt
해설
권한은 읽기=4, 쓰기=2, 실행=1의 합으로 표현한다. 사용자(rwx)=4+2+1=7, 그룹(r-x)=4+1=5, 기타(--x)=1이므로 8진수 751이 된다. 따라서 명령은 chmod 751 a.txt이다.
문제 16
단답형UI 설계 원칙에서 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작할 수 있어야 한다. 다음 빈칸에 들어갈 특징은 무엇인가?
직관성 - 누구나 쉽게 이해하고 사용할 수 있어야 한다. 학습성 - 누구나 쉽게 배우고 익힐 수 있어야 한다. 유연성 - 사용자의 요구사항을 최대한 수용하며 오류를 최소화해야 한다. ( ) - 사용자의 목적을 정확하게 달성하여야 한다.
정답·해설 보기▾
모범답안
유효성
키워드: 유효성
해설
UI 설계 4대 원칙은 직관성, 유효성, 학습성, 유연성이다. 그중 사용자의 목적을 정확하고 완벽하게 달성할 수 있어야 한다는 원칙은 유효성이다.
문제 17
단답형전 세계 오픈된 정보를 하나로 묶는 방식으로 link data와 open data의 합성어가 무엇인지 쓰시오.
정답·해설 보기▾
모범답안
LOD (Linked Open Data)
키워드: LOD, Linked Open Data
해설
링크드 데이터(Linked Data)와 오픈 데이터(Open Data)의 합성어로 전 세계의 개방형 데이터를 서로 연결하는 방식은 LOD(Linked Open Data)이다.
문제 18
단답형다음은 데이터 모델링 절차이다. 절차에 맞도록 보기에서 찾아 채우시오.
[보기]
- 물리적 데이터 모델링
- 개념적 데이터 모델링
- 논리적 데이터 모델링
요구사항 분석 > ( 1. ) > ( 2. ) > ( 3. )
정답·해설 보기▾
모범답안
1. 개념적 데이터 모델링 2. 논리적 데이터 모델링 3. 물리적 데이터 모델링
키워드: 1. 개념적 데이터 모델링 2. 논리적 데이터 모델링 3. 물리적 데이터 모델링, 개념적 논리적 물리적
해설
데이터 모델링은 요구사항 분석 이후 개념적 모델링(ERD 등 추상 모델) → 논리적 모델링(정규화·관계 스키마) → 물리적 모델링(실제 DB 구조) 순으로 진행된다.
문제 19
단답형다음은 자바 코드이다. 출력 결과를 쓰시오.
정답·해설 보기▾
모범답안
a=10
키워드: a=10
해설
new B(10) 호출 시 B 생성자가 super(a)로 A 생성자를 호출해 a에 10을 저장한 뒤, super.display()로 A의 display()를 호출한다. display()는 "a=" + a를 출력하므로 a=10이 출력된다.
문제 20
단답형소프트웨어 개발 과정에서 변경 사항을 관리하는 기법은 ( ) 기법이라고 하며, ( ) 기법을 활용한 도구로는 CVS, SVN, Git 등이 있다. 빈칸에 알맞은 용어를 쓰시오.
정답·해설 보기▾
모범답안
형상관리
키워드: 형상관리, 형상 관리, SCM, Software Configuration Management
해설
소프트웨어 개발 과정에서 산출물의 변경 사항을 체계적으로 추적·통제하는 기법은 형상 관리(SCM)이며, 이를 지원하는 버전 관리 도구로 CVS, SVN, Git 등이 있다.