※ 모든 문제는 시험 응시자의 기억으로 복원 된 문제임을 알립니다. 따라서 문제의 지문과 답이 상이한 경우가 발생 할 수 있습니다. (서술형의 경우 정확하게 맞지 않을 수 있습니다.)
※ 또한, 모든 문제의 기본 풀이는 수제비2023 책을 기반으로 작성하였습니다. 오타가 있을 경우, 답이 틀렸을 경우 댓글 부탁드립니다.
※ 수제비 카페 바로가기 - https://cafe.naver.com/soojebi
1. 정보시스템 운영 중 서버가 다운되거나 자연재해나 시스템 장애 등의 이유로 고객에게 서비스가 불가능한 경우가 종종 발생한다. 이와 같은 상황에서 비상사태 또는 업무중단 시정부터 업무가 복구되어 다시 정상 가동될때까지의 시간을 의미하는 용어가 무엇인지 쓰시오.
- RTO (Recovery Time Objective)
- RTO는 업무중단 시점부터 업무가 복구되어 다시 가동될 때까지의 시간을 말한다.
BIA (Business Impact Analysis) |
장애나 재해로 인해 운영상의 주요 손실을 볼 것을 가정하여 시간흐름에 따른 영향도 및 손실평가를 조사하는 BCP를 구축하기 위한 비즈니스 영향 분석 |
RTO (Business Impact Objective) |
업무중단 시점부터 업무가 복구되어 다시 가동될 때까지의 시간 |
RPO (Recovery Point Objective) |
업무중단 시점부터 데이터가 복구되어 다시 정상가동될 때 데이터의 손실허용 시점 재해 시 복구 목표 지점의 선정 |
DRP (Disaster Recovery Plan) |
재난으로 장기간에 걸쳐 시설의 운영이 불가능한 경우를 대비한 재난 복구 계획 |
DRS (Disaster Recovery System) |
재해복구계획의 원활한 수행을 지원하기 위하여 평상시에 확보하여 두는 인적, 물적 자원 및 이들에 대한 지속적인 관리체계가 통합된 재해복구센터 |
비즈니스 연속성 계획 관련 주요 용어
9-62
2. 다음은 파이썬 코드이다. 출력 결과를 쓰시오.
a={'일본','중국','한국'}
a.add('베트남')
a.add('중국')
a.remove('일본')
a.update(['홍콩','한국','태국'])
print(a)
- 중국 한국 베트남 홍콩 태국 (집합이기 때문에 순서 상관 없이 요소만 다 들어가면 정답)
- 파이썬에서 집합은 중괄호 {} 로 묶어서 나타낸다.
- 집합 연산에는 add, remove, update등이 있다.
3. 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부분만을 위한 데이터를 로드하는 기법이며, 하이퍼텍스트 표기 언어(HTML)만으로 어려운 다양한 작업을 웹 페이지에서 구현해 이용자가 웹 페이지와 자유롭게 상호작용할 수 있도록 하는 기술명을 쓰시오.
- AJAX (Asynchronous Javascript And XML)
- AJAX는 자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로 XML데이터를 교환하고 조작하기 위한 웹 기술이다.
- 하이퍼텍스트 표기언어 (HTML)만으로는 어려운 다양한 작업을 웹 페이지에서 구현해서 이용자가 웹 페이지와 자유롭게 상호 작용할 수 있도록 구현하는 기법이다.
- 주요기술로는 XMLHttpRequest, JavaScript, XML, DOM, XSLT, HTML, CSS 등이 있다.
AJAX
5-9
4. 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발방법론으로, 개발 기간이 짧고 신속하며, 워터폴에 대비되는 방법론으로 최근 회사에서 각광받는 방법론은 무엇인가?
- 애자일 방법론(Agile)
- 애자일 방법론은 절차보다는 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 신속 적응적 경량 개발 방법론이다.
- 개발기간이 짧고 신속하며, 폭포수 모형에 대비되는 방법론으로 개발과 함께 즉시 피드백을 받아서 유동적으로 개발할 수 있다.
- 주요 기법으로는 XP, 린(Lean), 스크럼(SCRUM)등이 있다.
애자일
1-5
5. 다음은 자바 코드이다. 다음 밑줄에 들어갈 키워드를 쓰시오.
class parent
public void show(){
system.out.println("Parent");
}
}
class Child extends Parent{
public void show(){
system.out.println("Child");
}
}
public class good{
public static void main(String[] args){
Parent pa = ____ Child();
pa.show();
}
}
- new
- 자바에서 객체를 생성할 땐 new 키워드를 쓴다.
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);
7. 트랜잭션 Rollback에 대해 설명하시오.
- 트랜잭션 내역을 저장 무효화시키는 명령어
- 트랜잭션 제어언어 TCL(Transaction Control Language)의 종류 중 하나다.
- 제어언어는 트랜잭션의 결과를 허용하거나 취소하는 목적으로 사용되는 언어를 지칭한다.
커밋 (COMMIT) | 트랜잭션 확정 | 트랜잭션을 메모리에 영구적으로 저장하는 명령어 |
롤백(ROLLBACK) | 트랜잭션 취소 | 트랜잭션 내역을 저장 무효화 시키는 명령어 |
체크포인트(CHECKPOINT) | 저장 시기 설정 | ROLLBACK을 위한 시점을 지정하는 명령어 |
트랜잭션 - 트랜잭션 제어
7-3
8. 무결성과 인증을 보장하는 인증해더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용한 프로토콜로 네트워크 계층(Network Layer)인 인터넷 프로토콜(IP)에 보안성을 제공해주는 표준화된 기술에 대해 쓰시오.
- IPSec (Internet Protocol Security)
- IPSec은 IP계층(3계층)에서 무결성과 인증을 보장하는 인증 헤더(AH)와 기밀성을 보장하는 암호화(ESP를 이용한 IP보안 프로토콜이다.
- 주요 기능으로는 기밀성, 비연결형 무결성, 인증, 재전송 공격 방지, 접근 제어 등이 있다.
- 주요 동작 모드로는 전송모드, 터널모드, 인증(AH)프로토콜, 암호화(ESP)프로토콜, 키 관리(IKE) 프로토콜 등이 있다.
안전한 전송을 위한 데이터 암호화 전송
9-25
9. 애플리케이션을 실행하지 않고, 소스 코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함을 발견하기 위해 사용하는 도구는 무엇인지 쓰시오.
- 정적 분석 도구(Static Analysis Tools)
- 정적분석도구는 만들어진 애플리케이션을 실행하지 않고, 분석하는 도구이다.
- 주로 소스코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함을 발견하기 위하여 사용된다.
테스트 자동화 도구 유형 - 정적 분석 도구
10-47
10. 다음 보기가 설명하는 패턴을 쓰시오. (영문 Full-Name으로 작성하시오).
- 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들이 연락이 가고 자동으로 내용이 갱신되는 방법으로 일대 다의 의존성을 가지며 상호작용하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인을 사용해야 한다.
- Observer Patton
- 디자인 패턴은 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계방법을 정리한 패턴이다.
- 디자인 패턴을 참고하여 개발할 경우 개발의 효율성과 유지보수성, 운용성이 높아지며, 프로그램의 최적화에 도움이 된다.
- 디자인 패턴의 유형으로는 목적에 따라 생성, 구조, 행위 패턴이 있고, 범위에 따라서는 클래스, 객체가 있다.
주요 키워드로 패턴을 찾아야 쉽게 찾을 수 있다.
생성
Builder 조립 |
Prototype 원형 복사 |
Factory Method 상위 클래스에서 객체 생성 하위 클래스에서 인스턴스 생성 |
Abstract Factory 구체적인 클래스 의존X |
Singletone 객체 하나 생성 |
구조
Bridge 연결 |
Decorator 장식추가 |
Facade 단순한 인터페이스 |
Flyeight 클래스 경량화 |
Proxy 대리객체, |
Composite 부분 - 전채 |
Adepter 중간 역할 |
행위
Observer 상태 변경 -> 다른 객체 연락 |
Mediator 중재자 |
Visitor 클래스를 돌아다님 |
Strategy 캡슐화 된 클래스 필요시 교환 |
디자인 패턴 - 행위패턴
1-31
11. Linux 운영체제 위에서 구동하며 휴대폰 전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어, 사용자 인터페이스 그리고 표준 응용프로그램(웹 브라우저 등) 등을 포함하고 있는 소프트웨어 스택이자 리눅스 모바일 운영체제로 개발자들이 자바와 코틀린 언어로 응용 프로그램을 작성할 수 있게 했고, 컴파일 된 바이트 코드를 구동할 수 있는 런타임 라이브러리를 제공하는 운영체제는 무언인지 쓰시오.
- 안드로이드
- 안드로이드는 휴대 전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어, 사용자 인터페이스 그리고 표준 응용 프로그램(웹 브라우저, 이메일 클라이언트 등)을 포함하고 있는 운영체제 이다.
유닉스계열 운영체제 - 안드로이드(Android)
11-5
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);
13. 다음 설명 중 빈칸에 들어갈 알맞는 용어를 작성하시오.
- HTTP, HTTPS SMTP를 통해서 XML 기반의 데이터를 주고받는 프로토콜로 웹 서비스 방식에 HTTP기반의 ( ) 을/를 사용하여 송수신한다. ( ) 대신 레스트풀(RESTful) 프로토콜로 대체할 수 있다.
- SOAP
- SOAP(Simple Object Access Protocol
- SOAP는 HTTP, HTTPS, SMTP등을 사용하여 XML 기반의 메세지를 네트워크 상태에서 교환하는 프로토콜이다.
- 기본적인 송수신은 HTTP로 한다.
- SOAP는 보통의 경우 원격 프로시저 호출을 하는 메시지 패턴을 사용한다.
SOAP
4-12
14. SQL Injection이 무엇인지 서술하시오.
- 악의적인 SQL구문을 삽입하여 데이터베이스 접근을 통해 정보를 탈취, 조작하는 기술
- 프로그램의 보안 취약점을 이용해서 악의적인 SQL구문을 삽입, 실행시켜서 데이터의 접근을 통해 정보를 탈취하거나 조작하는 등의 행위를 하는 공격기법
- 바인딩 매개변수 방식을 적용하여 사전에 변수 타입을 명시적으로 지정
- 사용자로부터 입력 될 수 있는 모든 값 필터링
입력 데이터 검증 및 표현 취약점
9-49
15. 사용자에게 읽기 / 쓰기 / 실행 권한을 부여하고 그룹에게는 읽기 / 실행을 부여하고 그 이외에는 실행 권한을 a.txt에 부여하는 명령어를 한줄로 작성하시오 (8진법을 사용하시오)
- chmod 751 a.txt
- 리눅스/ 유닉스 운영체제의 파일 접근 권한 관리에 사용되는 명령어이다.
- 관리자 권한을 부여하는 명령어는 chomd이고, 권한을 뺐는 명령어는 revoke
- 읽기 쓰기 실행 권한을 차례로 4,2,1로 나타내고, chmod 뒤의 인자는 User, Group, Other순으로 오게 된다.
리눅스/유닉스 운영체제의 파일 접근 권한 관리
11-8
16. UI 설계 원칙에서 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작할 수 있어야 한다. 다음 빈칸에 들어갈 특징은 무엇인가?
직관성 - 누구나 쉽게 이해하고 사용할 수 있어야 한다.
학습성 - 누구나 쉽게 배우고 익힐 수 있어야 한다.
유연성 - 사용자의 요구사항을 최대한 수용하며 오류를 최소화해야 한다.
( ) - 사용자의 목적을 정확하게 달성하여야 한다.
- 유효성
- UI설계 원칙은 다음과 같다.
직관성 (Intuitiveness) |
누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 함. | 쉬운 검색, 쉬운 사용성, 일관성 |
유효성 (Efficiency) |
정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작 | 쉬운 오류 처리 및 복구 |
학습성 (Learnability) |
초보와 숙련자 모두가 쉽게 배우고 사용할 수 있게 제작 | 쉽게 학습, 쉬운 접근, 쉽게 기억 |
유연성 (Flexibility) |
사용자의 요구사항을 최대한 수용하고, 실수를 방지할 수 있도록 제작 | 오류 예방, 실수 포용, 오류 감지 |
UI설계원칙
2-4
17. 전 세계 오픈된 정보를 하나로 묶는 방식으로 link data와 open data의 합성어가 무엇인지 쓰시오.
- LOD(Linked Open Data)
18. 다음은 데이터 모델링 절차이다. 절차에 맞도록 보기에서 찾아 채우시오.
- 물리적 데이터 모델링
- 개념적 데이터 모델링
- 논리적 데이터 모델링
- 요구사항 분석 > ( 1. ) > ( 2. ) > ( 3. )
- 개념적 데이터 모델링
- 논리적 데이터 모델링
- 물리적 데이터 모델링
- 데이터 모델 절차는 요구사항 분석, 개념적 데이터 모델, 논리적 데이터 모넬, 물리적 데이터 모델이 있다.
- 개념적 데이터 모델은 트랜잭션을 모델링 하는 단계이고, 현실세계의 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출하는 데이터 모델이다. 주요 산출물로 개체관계 다이어그램이 있다.(ER Diagram)
- 논리적 데이터 모델은 트랜잭션의 인터페이스를 설계하는 단계이고, 업무의 모습을 모델링 표기법으로 형상화 하여 사람이 이해하기 쉽게 표현한 데이터 모델이다. 스키마의 평가 및 정제, 정규화를 수행하는 단계이다.
- 물리적 데이터 모델은 DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 단계이고, 데이터 베이스 저장구조로 변환하는 모데이다. 성능측면에서 반 정규화를 수행한다.
데이터모델 절차
3-3
19. 다음은 자바 코드이다. 출력 결과를 쓰시오.
class A{
private int a;
public A(int a){
this.a = a;
}
public void display(){
system.out.println("a=" + a);
}
}
class B extends A {
public B(int a){
super(a);
super.display();
}
}
public class good {
public static void main(String[] args){
B obj = new B(10);
}
}
- a=10
- main 함수에서 B obj = new B(10);을 선언하여 obj객체를 생성하고 있다.
- 이때, B(10)이라는 생성자를 사용하기 때문에 클래스 B로 넘어간다.
- 클래스 B는 A를 상속받고 있기 때문에 상속받는 생성자 먼저 호출하고, 그다음 자식 생성자를 호출해야 한다.
- 부모 생성자에서는 A(int a) 이고, body는 this.a = a; 이므로 a에 10을 초기화한다. 이때 A의 a변수는 private 접근제한이기 때문에 자기 자신에서만 쓸 수 있다.
- 그 후, A 생성자를 호출 했기때문에 그다음 B생성자를 호출한다.
- B생성자에서 super(a)로 부모 생성자를 호출했으니 다시 a에 10을 저장한다.
- 그 후, 부모 클래스의 display()라는 함수를 호출하기 때문에 a=10이라는 문자열을 출력하게 된다.
- 항상 자바의 상속 관계에서는 생성자가 호출되면 자식이 상속받고 있을 경우 부모 먼저 호출한다는 개념이 있어야 한다.
- 이 문제는 23년도 1회차 문제에 한번 더 나오니 꼭 숙지해야 한다.
20. 소프트웨어 개발 과정에서 변경 사항을 관리하는 기법은 ( ) 기법이라고 하며, ( ) 기법을 활용한 도구로는 CVS, SVN, Git 등이 있다. 빈칸에 알맞은 용어를 쓰시오.
- 형상관리
- 형상관리는 소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경 사항을 관리하기 위한 활동이다.
- 프로젝트 생명주기 동안 제품의 무결성과 변경에 대한 추적성을 확보할 수 있다.
- 프로젝트 변경이 발생 되었을 때 처리하는 메커니즘을 제공한다.
- 형상관리의 절차로는 형상식별, 형상통제, 형상감사, 형상기록이 있다.
형상관리
8-6
오타 및 틀린 답안은 댓글 부탁드립니다!
수정내역
19번 - 해설 오류로 인해 수정
'Study > 정보처리기사' 카테고리의 다른 글
2021년 2회 정보처리기사 실기 기출문제 풀이 (1) | 2023.09.24 |
---|---|
2021년 1회 정보처리기사 실기 기출문제 풀이 (0) | 2023.09.24 |
2020년 4회 정보처리기사 실기 기출문제 풀이 (0) | 2023.09.23 |
2020년 3회 정보처리기사 실기 기출문제 풀이 (0) | 2023.09.23 |
2020년 1회 정보처리기사 실기 기출문제 풀이 (0) | 2023.09.20 |