본문 바로가기
Computer Science

정보처리기사 실기 기출 문제 (2020년 1회~2021년 1회)

by sohyunwriter 2021. 7. 12.

2020년 1회

*XML(eXtensible Markup Language)

 

*JSON(JavaScript Object Notation)

 

*머릿말(Header)

 

(코드) *JAVA언어 실행결과

 

*결합도(Coupling), 응집도(Cohesion)

 

*트랜잭션의 특징(ACID)

-원자성: 트랜잭션의 연산은 데이터베이스에 모두 반영되고 완료되든지 아니면 전혀 반영되지 않도록 복구되어야 한다 (All or Nothing)

-일관성: 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다.

-독립성: 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없다.

-지속성: 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 한다

 

*애플리케이션 성능 측정 지표

-처리량(Throughput): 일정 시간 내에 애플리케이션이 처리하는 일의 양

-응답 시간(Response Time): 애플리케이션에 요청을 전달한 시간부터 응답이 도착할 때까지 걸린 시간

-경과시간(Turn Around Time): 애플리케이션에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간

-자원 활용률: 애플리케이션이 의뢰한 작업을 처리하는 동안의 CPU, 메모리, 네트워크 등의 자원 사용률

 

*데이터베이스에서 비정규화: 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로, 의도적으로 정규화 원칙을 위배하는 행위

 

*LOC 기법에 따른 개발소요기간 계산

개발기간 = 노력(인원) / 투입 인원

노력(인원) = LOC(총 라인 수) / 1인당 월평균 생산 코드 라인 수

 

*MD5(Message-Digest algorithm 5): 각 512비트 입력 메시지 블록을 처리하고 나면 128 비트 스테이트의 값이 변화하는 암호화 알고리즘

 

*프로토콜의 기본 요소 3가지: 구문(Syntax), 의미(Semantics), 시간(Timing)

 

*LAND Attack(Local Area Network Denial Attack): 자신에 대해 무한히 응답하는 패킷을 계속 전송하여 컴퓨터의 실행 속도를 느리게 하거나 동작을 마비시켜 서비스 거부 상태에 빠지도록 하는 네트워크 공격 유형

 

*살충제 패러독스: 동일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상 결합이 발견되지 않는 현상

 

*네트워크 OSI 7계층

 

*팬인: 모듈로 들어오는 선의 수

 

(코드) *switch문 실행 결과

 

(코드) *SQL 실행 결과

 

*데이터 마이닝: 데이터 웨어하우스에 저장된 데이터 집합에서 사용자의 요구에 따라 유용하고 가능성 있는 정보를 발견하기 위한 기법

 

*HRN 비선점형 스케줄링 우선순위 계산식: (대기 시간 + 서비스 시간) / 서비스 시간

 

(코드) *C언어 실행결과


2020년 2회

*RTO(RecoveryTime Objective, 목표 복구 시간): 재해 복구 목표 시간

 

(코드) *Python set add, remove, update 실행결과

 

*AJAX(AsynchronousJavaScriptandXML): 비동기 통신기법

 

*애자일(Agile): 워터폴에 대비되는 방법론으로 최근 회사에서 각광받는 방법론

 

(코드) *JAVA new

 

(코드) *SQL IN 함수 사용

 

*트랜잭션 Rollback: 트랜잭션 처리 중 오류가 발생했을 때, 오류 이전의 특정 시점 상태로 되돌려주는 제어어(명령어)

 

*IPSec(Internet Protocol Security): 무결성과 인증을 보장하는 인증헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용한 IP 보안 프로토콜

 

*정적 분석 도구: 테스트 자동화 도구 유형 설명

 

*Observer Pattern: 객체의 상태가 변하면 이 객체에 연결된 모든 다른 객체들에 알림이 가고 업데이트 할 수 있는 디자인패턴. 느슨한 결합과 관련된 디자인패턴, 일대다, 일부 객체가 변경되면 다른 부분이 이를 인지하여 변화 (영문 full name 기입)

 

*안드로이드: Linux 위에서 구동하며 휴대 전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어, 사용자 인터페이스 그리고 표준 응용 프로그램(웹 브라우저, 이메일 클라이언트 등)을 포함하고 있는 자바 및 코틀린을 사용하여 개발하는 운영체제

 

(코드) *sql create index on

 

*SOAP(Simple Object Access Protocol): HTTP, HTTPS, SMTP를 통해서 XML 기반의 데이터를 주고 받는 프로토콜. Envelop, Header, Body로 구성됨

 

*SQL Injection: 응용프로그램의 보안 취약점을 이용해서 악의적인 SQL 구문을 삽입, 실행시켜서 데이터베이스의 접근을 통해 정보를 탈취하거나 조작 등의 행위를 하는 공격기법

 

*유효?성: UI 설계 원칙에서 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작하는 원칙

 

*chmod 751 a.txt : 사용자에게는 읽기/쓰기/실행, 그룹에게는 읽기/실행, 기타에는 실행 권한을 a.txt에 부여하는 명령어

 

*Linked Open Data: linked data와 open data가 결합된 용어

 

*요구사항 분석 > 개념적 설계 > 논맂거 설계 > 물리적 설계 > 구현

 

(코드) JAVA super 키워드

 

*형상관리: 소프트웨어 개발 과정에서 변경 사항을 관리하는 기법. CVS, SVN, Git 등이 있음


2020년 3회

*리팩토링의 목적: 소프트웨어를 보다 이해하기 쉽고 수정하기 쉽도록 만드는 것. 결과의 변경 없이 코드의 구조를 재조정하는 것으로 가독성을 높이고 유지보수를 쉽게 하기 위한 목적

 

*OSPF

 

*프로토콜

 

*형상통제: 형상 항목의 버전 관리를 위해서 변경 여부와 변경활동을 통ㅈ하는 활동

 

*ICMP

 

*헝가리안 표기법: 프로그래밍 언어에서 변수 및 함수의 인자 이름 앞에 데이터 타입을 명시하는 코딩 규칙

 

*블랙박스 테스트: 동치 분할 테스트, 경계값 테스트 등의 종류가 있는 것

 

*DB의 스키마: 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합

 

(코드) *JAVA 실행결과

 

*EAI 유형: Point to Point, Hub&Spoke

 

*UI에서 직관성: 누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 하고 쉬운 검색, 쉬운 사용성, 일관성의 부특성을 가지고 있는 UI 설계 원칙

 

*C++에서 생성자: 객체 초기화 함수. 객체 생성 시 자동호출되는 메소드로 초기화 용도로 주로 사용됨

 

(코드) *DB에 컬럼 추가: ALTER, ADD

 


 

2020년 4, 5회

*IPV6: IPV4의 확장형, 128비트 16비트씩 :으로 구분

 

*디자인 패턴 3가지: 생성, 구조, 행위

 

*패키지 다이어그램: <<import>> order 점선 화살표 있는 UML 다이어그램

 

*즉시갱신 기법: 데이터베이스 회복 기법 중 rollback 시 redo, undo가 모두 실행되는 트랜잭션 처리법. 트랜잭션 수행 중에 갱신 결과를 DB에 즉시 반영. 데이터를 변경하면 로그 파일로 저장. 모든 내용 수정 시 즉시 데이터베이스에 반영

 

(코드) *(JAVA) 2진수 변환 코드 채워넣기

 

(코드) *JAVA 코드 채워넣기

 

*스니핑(Sniffing): 공격대상에게 직접 공격을 하지 않고 데이터만 몰래 들여다보는 수동적 공격기법

 

*NAT(Network Address Transformation): 네트워크 주소 변환

 

(코드) *Python 채워넣기

 

*블록체인(Block Chain): 온라인 금융 거래 정보를 블록으로 연결하여 P2P 네트워크 분산 환경에서 중앙 관리 서버가 아닌 참여자들의 개인 디지털 장비에 분산, 저장시켜 공동으로 관리하는 방식

 

*하둡(Hadoop): 대량의 자료를 처리할 수 있는 대형 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 오픈소스 자바 소프트에어 프레임워크

 

*데이터베이스 이상현상 종류 3가지: 삽입이상, 갱신이상, 삭제이상

 

*프로세스 상태 전이도

생성 - 준비(Ready) - Dispatch --> 실행(Run) -- 종료

                   <---- timeout -----

wake up                          I/O

<------------------- 대기(Wait)

 

*샘플링 오라클: 전수테스트 불가한 경우 사용, 예상값 오라클, 경계값, 구간별 예상 값 결과 작성 사용

 

*동치분할테스트: 0~60구간, 60~70구간, 70~80구간, 80~90구간, 90~100구간 이렇게 표를 주고 테스트에 넣을 값 각 구간마다 하나씩 제시함. 값은 정확히 기억 안 나는데 55점, 65점, 78점, 85점, 95점 이런 식으로

 

(코드) *SQL 코드 작성

 

*유닉스(Unix): 미국 벨 연구소 켄 톰슨과 데니스 리치가 1960년대에 만든 운영체제. 거의 C언어로 구현. 구조적 파일 시스템. 시스템의 파일이 하나의 트리 구조

 

(코드) *C 포인터 실행결과

 

(코드) *JAVA 상속 실행결과

 

*정보 보안에서 '가용성(Availability)': 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속적으로 사용할 수 있도록 보장하는 특성

 


2021년 1회

*RARP: MAC 주소에 해당하는 IP주소를 알아오는 프로토콜/ 역순 주소 결정 프로토콜.

 

*DB 설계 절차

-물리적 설계 ~~ 결과로 나오는 명세서는 테이블 정의서 등이 있음

-개념적 설계 ~~ E-R 다이어그램이 나옴

-논리적 설계 ~~ 과정에서 정규화 과정을 수행함

 

*WSDL: 웹 서비스명, 제공 위치, 메시지 포맷, 프로토콜 정보 등 웹 서비스에 대한 상세 정보가 기술된 XML 형식으로 구현되어 있는 언어

 

*요구사항 종류

-기능적 요구사항

-비기능적 요구사항

 

(코드) *Python 실행 결과

 

(코드) *SQL 실행 결과

 

(코드) *JAVA 실행결과

 

*반정규화: 성능의 향상을 위해 중복, 통합 등을 허락하는 것

 

*블랙박스기법 2가지

-경계값 분석 테스트: 0<=x<=10 이면 -1, 0, 10, 11 검사

-동등분할 테스트: 유효값, 무효값 나누어서 검사

 

*테스트 종류

-단위테스트 ~~ 개별

-통합테스트 ~~ 인터페이스 간 시스템이 정상적으로 실행되는지 확인

 

*IPV4, IPV6

-IPV6는 128비트 길이를 가진다

-IPV4는 길이 32비트이며, 8비트씩 4분할 한다. e.g. 212.24.42.23

 

*IPC(Inter-Process Communication): 공유메모리 소켓 세마포어 '메서드' ??? 

 

*EAI(Enterprise Application Integration): 애플리케이션 간 ~ 시스템 통합 연계~~ pointtopoint, hub&spoke, mesagebus

 

*테이블 주어지고 Cardinality, Degree 구하기

 

(코드) *C 구조체 문제

 

*데이터 모델 구성 요소 3가지에 대한 설명 - 연산, 구조 (?)

1) 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구이다

2) 개체 데이터 모델에서는 ( )을 ~나타내는데 논리적인 데이터 모델에서는 ()를 어떻게 나타낼 것인지~~

3) = 제약조건 명시되어 있음

 

*DAC(Discretionary Access Control, 임의적 접근통제): 시스템 객체의 접근을 개인 또는 그룹의 식별자에 기반한 방법. 어떤 종류의 접근 권한을 가진 사용자가 다른 사용자에 자신의 판단에 따라 권한을 허용하는 접근제어 방식

 

(코드) *JAVA 실행결과

 

*결합도

-내용 결합도: 다른 모듈 내부에 있는 변수나 기능을 모듈에서 사용하는 경우

-공통 결합도: 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용하는 경우

-외부 결합도: 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우

-제어 결합도: 단순 처리할 대상인 값만 전달되는 게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우

-스탬프 결합도: 모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우

-자료 결합도: 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호 작용이 일어나는 경우

 

*세션 하이재킹: '세션을 가로채다'라는 의미로, 정상적 연결을 RST 패킷을 통해 종료시킨 후 재연결시 희생자가 아닌 공격자에게 연결

 

 

 

 

-참고문헌

https://cafe.naver.com/soojebi/20009

 

[2020년 제1회 정보처리기사 실기 복원 문제]

대한민국 모임의 시작, 네이버 카페

cafe.naver.com

https://cafe.naver.com/soojebi/37520

 

[2020년 제4, 5회 정보처리기사 실기 복원 문제]

대한민국 모임의 시작, 네이버 카페

cafe.naver.com

https://cafe.naver.com/soojebi/66574

 

[2021년 제1회 정보처리기사 실기 복원 문제]

대한민국 모임의 시작, 네이버 카페

cafe.naver.com