- 약술형 -
1. 살충제 패러독스의 개념
동일한 테스트 케이스로 반복 실행 시 더이상 새로운 결함을 발견할 수 없음.
2. 데이터 마이닝의 개념
대량의 데이터 속에서 통계적 규칙에 따라 데이터 간의 관계에 대한 정보를 추출하여 의사결정에 활용하는 기술
3. 비정규화의 개념
시스템의 성능 향상과 운영 단순화를 위해 정규화 원칙을 위배하는 기법
- 필답형 -
1. 프로토콜의 3요소
정답
구문, 의미, 타이밍
해설
구문 - 송/수신 데이터의 형식이나 부호화 및 신호 레벨에 대한 규정. 형식적인 부분을 의미합니다.
의미 - 제어 정보에 대한 규정. 데이터의 내용적인 부분을 의미합니다.
타이밍 - 통신속도의 조정이나 순서에 대한 제어를 규정. 데이터를 어떻게 전달할지에 대한 부분을 의미합니다.
2. 보기에서 설명하는 마크업 언어는 무엇인가?
[보기]
- HTML의 단점을 보완한 인터넷 언어. SGML의 복잡한 단점을 개선한 다목적 마크업 언어
- 웹 상에서 구조화된 문서를 상호교환 가능하도록 설계된 웹 표준 문서 포맷으로 메타데이터의 정의가 명확함
- 사용자가 새로운 태그와 속성을 정의할 수 있는 확장성을 가짐
- 유니코드를 이용하여 전 세계의 모든 문자를 처리 가능, 장치와 시스템에 독립적
정답
XML
3. 빈칸에 들어갈 프로그래밍 언어는?
- ( )은/는 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 데이터 교환 형식이다.
- ( ) 표현식은 사람과 기계 모두 이해하기 쉬우며 최근에는 XML을 대체해서 데이터 전송 등에 많이 사용됨.
- AJAX에서 서버와 통신하며 데이터 교환을 쉽게 하기 위해 ( )을/를 많이 사용한다.
- ( )의 문법은 Key와 Value가 쌍으로 존재하며, 태그로 표현하기 보다는 중괄호로 표현하고, 값을 콤마 ( , )로 나열하기에 간단함.
정답
JSON
4. 운영체제의 비선점 프로세스 스케줄링 기법 중 하나인 HRN은 "특정 작업이 서비스를 받을 시간"과 "그 작업이 서비스를 기다린 시간" 으로 결정되는 우선순위에 따라 CPU를 할당하는 기법이다. HRN의 우선순위를 결정하는 계산식은?
정답
(대기시간 + 서비스시간) / (서비스시간)
5. 트랜잭션 특성 ACID 중 일관성, 영속성 외 2개의 특성은?
정답
원자성, 고립성
해설
ACID - DB 트랜잭션이 안전하게 수행되는 것을 보장하기 위한 성질을 가리키는 약어
원자성 - 트랜잭션이 완전히 실행되거나, 완전히 실행되지 않도록 보장하는 능력
고립성(=독립성) - 트랜잭션 수행 시 다른 트랜잭션이 끼어들지 못하도록 보장하는 능력
6. 보기의 네트워크 공격 유형에 해당하는 용어는?
[보기]
공격자가 패킷의 출발지 주소나 포트를 임의로 변경해 출발지와 목적지 주소를 동일하게 함으로써, 공격 대상 컴퓨터의 실행 속도를 느리게 하거나 동작을 마비시켜 서비스 거부 상태에 빠지도록 하는 공격 방법.
수신되는 패킷 중 출발지 주소와 목적지 주소가 동일한 패킷을 차단함으로써 공격을 피할 수 있음.
정답
랜드어택
7. 다음이 설명하는것은?
- 128비트 암호화 해시 함수.
- FRC1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지 확인하는 무결성 검사 등에 사용.
- 1991년 로널드 라이베스트가 MD4를 대체하기 위해 고안
정답
MD5
8. (1), (2)에 알맞은 용어는?
- 모듈화를 중심으로 소프트웨어 설계를 하는 방법에서는 모듈의 독립성을 높게 해주는 것이 좋은 설계방향이다.
- 모듈의 독립성을 높이기 위해서는 각 모듈 간의 관련성을 나타내는 (1)은/는 낮추고, 모듈 안의 요소들이 서로 연관되어 있는 정도를 나타내는 (2)은/는 높이는 것이 바람직하다.
정답
(1) : 결합도
(2) : 응집도
9. 릴리즈 노트 작성 항목 중 문서 이름, 제품이름, 버전 번호, 릴리즈 날짜, 참고 날짜, 노트 버전 등을 기술하는 작성항목이 무엇인지 쓰시오.
정답
헤더
10. 아래 문제를 LoC 기법 개발 기간 계산식을 이용해서 푸시오.(계산식도 기재하시오.)
문제 : 총 라인 30000, 개발자 5명, 월 평균 300라인
정답
(30000 / 300) / 5 = 20개월
해설
개발기간 = (총 라인 / 월 평균 생산 라인) / 개발인원
11. [보기]에서 설명하는 것은?
[보기]
OSI7 참조 모델 중 두 장비 간의 전송을 위한 연결이나 전달 등의 인터페이스의 기계적, 전기적, 절차적 특성을 정의하여 비트를 물리적인 매체를 통해 전송하는 계층
정답
물리계층
12. (1), (2), (3)에 해당하는 애플리케이션 성능 측정 지표는?
애플리케이션 성능과 사용자의 요구 기능을 해당 애플리케이션이 최소한의 자원을 사용하면서, 얼마나 빨리, 많은 기능을 수행하는가를 육안 또는 도구를 통하여 점검하는 것을 말함.
이를 측정하기 위한 지표는 (1), (2), (3), 자원사용율이 있음.
정답
(1) : 처리량
(2) : 응답 시간
(3) : 경과 시간
해설
처리량 - 애플리케이션이 일정 시간동안 처리하는 일의 양
응답 시간 - 애플리케이션에 사용자 요구 입력이 끝난 후, 응답이 출력될 때까지 걸린 시간
경과 시간 - 애플리케이션에 사용자 요구를 입력한 시점부터 결과물 출력이 완료될 때까지 걸린 시간
13. Fan - In의 수가 2 이상인 모듈의 이름은?
정답
6, 9
해설
fan-in은 [어떤 모듈을 제어하는 모듈의 수]
= [하나의 모듈이 제어받는 상위 모듈의 수]
= [게이트가 수용할 수 있는 최대 입력의 수]를 의미합니다.
따라서 상위 모듈이 2개 이상인 6번과 9번 모듈이 Fan-In의 수가 2 이상인 모듈입니다.
- DB -
1. Student 테이블에 컴퓨터과 학생 50명, 인터넷과 학생 100명, 사무자동화과 학생 50명에 대한 데이터가 있다. 다음에 주어진 SQL문을 각각 실행시키면 튜플 수는 각각 몇개 출력되는가?(DEPT는 학과 컬럼 명을 의미함)
SELECT DEPT FROM Student;
SELECT DISTINCT DEPT FROM Student;
SELECT COUNT (DISCOUNT DEPT) FROM Student WHERE DEPT = '컴퓨터과'
정답
200, 3, 1
해설
1. Student 테이블의 DEPT 컬럼의 튜플 수를 출력합니다.
2. Student 테이블의 DEPT 컬럼에서 중복되는 튜플을 제거한 후 튜플 수를 출력합니다.
3. Student 테이블의 DEPT 컬럼에서 '컴퓨터과'인 튜플을 선택하고, 중복된 튜플을 제거한 후, 튜플 수를 출력합니다.
- 프로그래밍 -
1. C언어
#include <stdio.h>
#define SIZE 5
int main(void) {
int arr[SIZE] = {75, 100, 95, 50, 85};
int i, j, temp;
for(i = 1; i < SIZE; i++) {
for(j=0; j < SIZE-i; j++) {
if(arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] arr[j+1];
arr[j+1] = temp;
}
}
}
for(i=0; i < SIZE; i++) {
printf("%d", arr[i]);
}
}
정답
50 75 85 95 100
해설
#include <stdio.h>
//SIZE라는 변수에 5를 대입
#define SIZE 5
int main(){
//크기가 5인 정수형 배열 arr에 값을 삽입
int arr[SIZE] = {75, 100, 95, 50, 85};
int i, j, temp;
//i=1부터 SIZE-1까지 1씩 증가하며 for문 반복
for(i = 1; i < SIZE; i++) {
//j=0부터 SIZE-i-1까지 1씩 증가하며 for문 반복
for(j = 0; j < SIZE-i; j++) {
//arr[j]가 arr[j+1]보다 크다면 조건문 실행
if(arr[j] > arr[j+1]) {
//arr[j]를 temp라는 변수에 대입
temp = arr[j];
//arr[j+1]을 arr[j]에 대입
arr[j] = arr[j+1];
//temp를 arr[j+1]에 대입
arr[j+1] = temp;
}
}
}
//i=0부터 SIZE-1까지 1씩 증가하며 for문 반복
for(i = 0; i < SIZE; i++) {
//배열 arr의 i번째 원소를 출력함
printf("%d ", arr[i]);
}
}
5칸짜리 정수형 배열 arr에 75, 100, 95, 50, 85라는 값들이 들어있습니다.
if문에 의해 만약 arr배열의 j번째 값이 j+1번째 값보다 크다면, 둘의 순서를 바꿔줍니다.
두번째 for 문에 의해 j=0부터 j=SIZE-i-1까지 if문을 반복합니다.
첫번째 for문에 의해 i=0qnxj i=SIZE-1까지 두번째 for문을 반복합니다.
그럼 결과적으로 arr배열 내에 있는 값들이 순서대로 정렬됩니다.
2. JAVA
public class Test {
static int nSize = 4;
public static void main(String[] args) {
int[] arr = new int[nSize];
makeArray(arr);
for(int i=0; i < nSize; i++) {
System.out.print(arr[i] + " ");
}
}
public static void makeArray(int[] arr) {
for(int i=0; i < nSize; i++) {
arr[i] = i;
}
}
}
정답
0 1 2 3
해설
public class Test {
// nSize라는 변수에 4를 대입
static int nSize = 4;
public static void main(String[] args) {
// 크기가 nSize인 정수형 배열 arr 생성
int[] arr = new int[nSize];
// makeArray함수를 호출, 매개변수는 arr
makeArray(arr);
// i=0부터 n=(nSize-1)까지 1씩 증가하며 반복
for(int i=0; i < nSize; i++) {
// arr의 i번째 원소를 출력하고, 공백 한 칸 출력
System.out.print(arr[i] + " ");
}
}
// makeArray 함수 생성, 매개변수는 정수형 배열인 arr
public static void makeArray(int[] arr) {
// i=0부터 i=(nSize-1)까지 1씩 증가하며 반복
for(int i=0; i < nSize; i++) {
// arr[i]에 i 대입
arr[i] = i;
}
}
}
makeArray함수 실행 시, 4칸짜리 정수형 배열 arr에 0, 1, 2, 3이 순서대로 대입됩니다.
그럼 arr = {0, 1, 2, 3}이 되고, arr의 원소와 공백을 출력하면 0 1 2 3이 출력됩니다.
3. C언어
public class Test {
public static void main(String[] args) {
int i=3, k=1;
switch(i) {
case 0:
case 1:
case 2:
case 3: k=0;
case 4: k+=3;
case 5: k-=10;
default: k--;
}
System.out.println(k);
}
}
정답
-8
해설
#include <stdio.h>
int main(){
int i = 3;
int k = 1;
//변수 i의 값에 따라 case문 실행
switch(i) {
//i=0일때 실행
case 0:
//i=1일때 실행
case 1:
//i=2일때 실행
case 2:
//i=3일때 실행
case 3: k = 0;
//i=4일때 실행, break문 없으니 case 3실행 후 실행
case 4: k += 3;
//i=5일때 실행, break문 없으니 case 3실행 후 실행
case 5: k -= 10;
// break문 없으니 case문 실행 후 실행
default: k--;
}
//k 출력
printf("%d", k);
}
i=3이고, switch문에 변수 i를 넣어야 하므로, i의 값인 3일때의 case를 실행합니다.
case 3과 이후의 case 4, 5에는 break문이 없으므로 case4, 5도 순서대로 실행합니다.
case 3은 k=0으로 초기화하며,
case 4는 k = k+3입니다. 그럼 k값이 3이 됩니다.
case 5는 k = k-10입니다. 그럼 k값이 -7이 됩니다.
마지막으로 default문을 실행하면 k = k-1이 되어 k값이 -8이 됩니다.
k를 출력하면 -8이 나옵니다.
'정보처리기사 > 실기' 카테고리의 다른 글
정보처리기사 실기 기출 - 2021년 2회 (0) | 2022.04.30 |
---|---|
정보처리기사 실기 기출 - 2021년 1회 (0) | 2022.04.29 |
정보처리기사 실기 기출 - 2020년 4, 5회 (0) | 2022.04.28 |
정보처리기사 실기 기출 - 2020년 3회 (0) | 2022.04.25 |
정보처리기사 실기 기출 - 2020년 2회 (0) | 2022.04.22 |