2022년 1회 주제 · 연습 1
네트워크·운영체제데이터를 여러 디스크에 스트라이핑만 하고 미러링이나 패리티를 두지 않는 RAID 수준과, 디스크 하나가 고장 났을 때의 위험을 쓰시오.
정답·해설 보기
정답
RAID 0. 배열의 데이터가 손실될 수 있다.
해설
속도와 용량 활용을 목적으로 하지만 자체 복구를 위한 중복 정보가 없다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
정보처리기사 · 실기
답안을 직접 작성하고 정답과 비교해 보세요. 서술형 답안은 표현이 다를 수 있어 직접 확인합니다.
주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
데이터를 여러 디스크에 스트라이핑만 하고 미러링이나 패리티를 두지 않는 RAID 수준과, 디스크 하나가 고장 났을 때의 위험을 쓰시오.
RAID 0. 배열의 데이터가 손실될 수 있다.
속도와 용량 활용을 목적으로 하지만 자체 복구를 위한 중복 정보가 없다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
즉시 갱신 방식의 로그 기반 복구를 가정한다. ① 커밋되었으나 디스크에 반영되지 않은 변경을 다시 적용하는 작업 ② 미커밋 변경을 되돌리는 작업을 쓰시오.
① REDO ② UNDO
구체적인 작업 필요성은 버퍼 정책에 따라 달라진다. 문제는 커밋 변경의 재적용과 미커밋 변경의 취소라는 개념을 묻는다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
다음 Java 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Java 21 기준이다.
public class Main {
static class Base { int value; Base(int v){value=v;} int read(){return value;} }
static class Child extends Base {
Child(int v){super(v+8);}
@Override int read(){return super.read()*2;}
}
public static void main(String[] args) {
Base item=new Child(5);
System.out.print(item.read());
}
}26
Child 생성자가 super에 5+8을 전달한다. 변수의 선언형은 Base여도 실제 객체가 Child이므로 재정의한 read가 실행되고 부모의 값에 2를 곱한다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
아래 테이블에 다음 SQL을 실행했을 때 마지막 SELECT의 결과를 쓰시오. NULL은 결측값이며, 결과는 열을 공백으로 구분하고 행마다 줄을 바꾸어 적으시오.
| id | name | team | score | mentor |
|---|---|---|---|---|
| 1 | Ari | A | 61 | NULL |
| 2 | Bora | B | 56 | 1 |
| 3 | Cian | A | 61 | 1 |
| 4 | Dani | B | NULL | 2 |
| 5 | Evan | A | 46 | 2 |
SELECT name, score FROM Scores
WHERE score IS NOT NULL ORDER BY score DESC, id ASC;Ari 61 Cian 61 Bora 56 Evan 46
NULL 점수를 제외하고 높은 점수부터 출력한다. 같은 점수인 경우 id가 작은 행이 먼저 나온다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
한 직원의 마지막 교육 신청 행을 삭제했더니 같은 행에만 저장되어 있던 교육 과정의 담당자 정보도 없어졌다. 어떤 이상인지 쓰시오.
삭제 이상
삭제하려던 사실과 별개로 보존해야 할 다른 사실까지 함께 없어지는 현상이다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
다음 Python 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Python 3 기준이다.
a, b = divmod(50, 6)
print(a, b, 50 / 6)8 2 8.333333333333334
divmod는 몫과 나머지를 튜플로 반환한다. /는 실수 나눗셈이며 //와 구별한다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
다음 Python 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Python 3 기준이다.
items = [3, 8]
items.extend([4, 9])
x = items.pop(1)
items.reverse()
print(x, items)8 [9, 4, 3]
extend는 각 원소를 추가한다. pop(1)은 두 번째 값을 제거하며 반환하고 reverse는 남은 리스트를 제자리에서 뒤집는다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
WEP의 약점을 보완하기 위해 WPA에 도입되었으며 패킷별 키 혼합 등을 적용한 프로토콜을 쓰시오.
TKIP
Temporal Key Integrity Protocol이다. RC4 기반의 레거시 기술이며 현대 보안 구성에서는 더 강한 방식으로 대체된다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
사용자가 음성·손짓·몸의 움직임처럼 자연스러운 행동으로 시스템을 조작하는 인터페이스를 쓰시오.
NUI(Natural User Interface)
자연스러운 상호작용 방식을 지향한다. 특정 장치 하나에만 한정되는 이름은 아니다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
① 코드를 실행하지 않고 취약한 흐름을 점검 ② 실제 실행하면서 메모리 누수와 처리 시간을 측정하는 분석을 쓰시오.
① 정적 분석 ② 동적 분석
실행 여부가 두 방식의 핵심 구분이다. 서로 보완적으로 사용할 수 있다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
Java 클래스 이름이 Invoice이다. 객체를 초기화하는 생성자의 이름과 반환형 선언 여부를 쓰시오.
이름: Invoice / 반환형을 선언하지 않는다.
void를 붙이면 생성자가 아닌 메서드가 된다. 클래스 이름과 정확히 일치해야 한다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
Java에서 @Test와 단언문을 이용한 자동 단위 테스트로 널리 사용되는 테스트 프레임워크를 쓰시오.
JUnit
테스트 메서드의 실행과 결과 보고를 지원한다. 테스트 실패를 판별하는 단언과 테스트 준비·정리 코드를 함께 사용할 수 있다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
소스 코드의 분기 구조를 보지 않고 명세의 입력·출력 관계로 테스트를 설계했다. 이 테스트 기법의 분류와 대표 기법 두 가지를 쓰시오.
블랙박스 테스트. 예: 동등 분할, 경계값 분석
결정 테이블, 상태 전이, 유스케이스 테스트 등도 대표 기법이다. 문장·분기 커버리지는 구조 기반 테스트와 관련된다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
다음 C 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. C11, ASCII 문자 집합을 기준으로 한다.
#include <stdio.h>
int fact(int n) { return n<=1 ? 1 : n*fact(n-1); }
int main(void) {
printf("%d", fact(7));
return 0;
}5040
기저 조건에서 1을 반환하고, 복귀하면서 2부터 7까지 곱한다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
다음 C 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. C11, ASCII 문자 집합을 기준으로 한다.
#include <stdio.h>
int main(void) {
int x=789, result=0;
while (x>0) { result=result*10+x%10; x/=10; }
printf("%d", result);
return 0;
}987
x%10으로 마지막 자릿수를 얻어 result 뒤에 붙이고 정수 나눗셈 x/=10으로 처리한 자릿수를 제거한다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
조직이 정보 자산의 위험을 평가하고 보호 대책을 수립·운영·개선하는 관리 체계의 약어를 쓰시오.
ISMS
Information Security Management System이다. 특정 보안 제품 하나의 이름이 아니라 조직의 관리 체계이다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
관계에서 각 튜플을 유일하게 구별하고, 구성 속성 중 하나라도 빼면 그 성질을 잃는 키를 쓰고 두 성질의 이름을 쓰시오.
후보키. 유일성과 최소성
슈퍼키는 유일성을 만족하지만 불필요한 속성을 포함할 수 있다. 후보키 중 기본키로 선택되지 않은 것은 대체키이다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
특정 조직의 구성원들이 자주 방문하는 웹사이트를 먼저 침해하여 해당 구성원의 접속을 노리는 공격을 쓰시오.
워터링 홀(Watering Hole) 공격
공격 대상의 방문 습관을 이용한다. 광범위한 무작위 악성 메일 발송과 구별되는 표적 공격 방식이다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
다음 C 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. C11, ASCII 문자 집합을 기준으로 한다.
#include <stdio.h>
int main(void) {
int count=0;
for (int x=2; x<=22; x++) {
int prime=1;
for (int d=2; d*d<=x; d++)
if (x%d==0) { prime=0; break; }
count += prime;
}
printf("%d", count);
return 0;
}8
각 수의 제곱근 이하에서 약수를 발견하면 소수가 아니다. 2부터 상한까지 소수인 경우에만 count에 1을 더한다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
V 모델에서 상세 설계, 아키텍처 설계, 시스템 명세, 사용자 요구에 각각 대응하는 테스트 수준을 쓰시오.
단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트
교재별 설계 단계 명칭에는 차이가 있으나 작은 단위부터 인터페이스·전체 시스템·사용자 수용 기준으로 대응시킨다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 1회 비공식 복원 (새 창)
답안과 확인 상태는 현재 브라우저에만 저장됩니다. ‘맞았어요’ 표시는 본인이 확인한 학습 기록이며 실제 시험 점수가 아닙니다.