2020년 4회 주제 · 연습 1
네트워크·운영체제IPv6 주소의 비트 수와, 주소를 16비트씩 나누어 표기할 때 그룹 수를 쓰시오.
정답·해설 보기
정답
128비트, 8그룹
해설
각 그룹을 16진수로 나타낸다. 연속된 0 그룹은 규칙에 따라 ::로 한 번 축약할 수 있다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
정보처리기사 · 실기
답안을 직접 작성하고 정답과 비교해 보세요. 서술형 답안은 표현이 다를 수 있어 직접 확인합니다.
주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
IPv6 주소의 비트 수와, 주소를 16비트씩 나누어 표기할 때 그룹 수를 쓰시오.
128비트, 8그룹
각 그룹을 16진수로 나타낸다. 연속된 0 그룹은 규칙에 따라 ::로 한 번 축약할 수 있다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
GoF 패턴의 생성·구조·행위 분류 중 Observer, Strategy, Iterator가 속하는 분류를 쓰시오.
행위(Behavioral) 패턴
객체 사이의 책임 분배와 알고리즘·통신 방식에 관련된 패턴들이다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
UML에서 관련 모델 요소를 하나의 이름 공간으로 묶고 폴더 모양 기호로 표현하는 요소를 쓰시오.
패키지(Package)
패키지는 클래스 등 모델 요소를 그룹화하는 단위이다. 패키지 다이어그램으로 패키지 간 의존 관계를 표현할 수 있다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
즉시 갱신 방식의 로그 기반 복구를 가정한다. ① 커밋되었으나 디스크에 반영되지 않은 변경을 다시 적용하는 작업 ② 미커밋 변경을 되돌리는 작업을 쓰시오.
① REDO ② UNDO
구체적인 작업 필요성은 버퍼 정책에 따라 달라진다. 문제는 커밋 변경의 재적용과 미커밋 변경의 취소라는 개념을 묻는다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
다음 Java 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Java 21 기준이다.
public class Main {
public static void main(String[] args) {
int x=20;
String result="";
while(x>0){ result=(x%2)+result; x/=2; }
System.out.print(result);
}
}10100
2로 나눈 나머지를 문자열 앞에 붙인다. 낮은 자리 비트부터 구하므로 앞에 붙여야 정상적인 2진수 순서가 된다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
다음 Java 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Java 21 기준이다.
public class Main {
public static void main(String[] args) {
int[][] grid=new int[2][3];
int value=7;
for(int col=0;col<3;col++)
for(int row=0;row<2;row++) grid[row][col]=value++;
System.out.print(grid[0][2]+" "+grid[1][0]);
}
}11 8
열 반복이 바깥에 있으므로 각 열에서 위아래 순서로 채운다. 첫 행 마지막 열은 시작값+4, 둘째 행 첫 열은 시작값+1이다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
네트워크를 지나는 패킷을 몰래 수집해 내용을 엿보는 행위의 이름을 쓰시오.
스니핑(Sniffing)
도청에 해당하는 기법이다. 전송 구간 암호화는 패킷을 관찰하더라도 평문 내용을 읽기 어렵게 한다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
사설망 호스트가 외부망과 통신할 때 IP 헤더의 주소를 다른 주소로 바꾸는 기술의 약어와 영문 명칭을 쓰시오.
NAT, Network Address Translation
주소 변환 기술이다. 포트 번호까지 함께 매핑하는 NAPT/PAT와 관련되며, NAT 자체가 모든 보안 문제를 해결하지는 않는다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
다음 Python 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Python 3 기준이다.
rows = [[3, 3], [5], [4, 6]]
print([row[-1] for row in rows])[3, 5, 6]
바깥 리스트의 각 행에서 마지막 원소를 하나씩 가져온다. 음수 인덱스 -1은 해당 리스트의 마지막 원소이다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
거래 기록을 블록에 담고 이전 블록의 해시를 다음 블록에 연결해, 기록 변경을 탐지하기 쉽게 만든 분산 원장 기술을 쓰시오.
블록체인
이전 블록의 변경은 뒤따르는 해시 연결에 영향을 준다. 합의 방식과 운영 규칙에 따라 보안 특성은 달라진다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
여러 서버에 대규모 데이터를 나누어 저장하는 HDFS와 분산 처리를 위한 MapReduce로 널리 알려진 Apache 프레임워크를 쓰시오.
Hadoop(하둡)
분산 저장과 처리를 지원하는 생태계이다. 관계형 데이터베이스의 단일 테이블 저장 방식과 동일한 개념은 아니다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
중복이 많은 테이블에서 ① 다른 정보가 없어서 새 사실을 기록하지 못함 ② 마지막 행 삭제로 보존할 정보도 사라짐 ③ 같은 사실을 여러 행에서 서로 다르게 바꿈에 대응하는 이상을 쓰시오.
① 삽입 이상 ② 삭제 이상 ③ 갱신 이상
정규화는 함수 종속을 고려해 관계를 분해하여 이런 이상을 줄이는 데 쓰인다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
프로세스가 CPU를 기다리는 상태, CPU에서 명령을 수행하는 상태, 입출력 완료를 기다리는 상태를 차례로 쓰시오.
준비(Ready), 실행(Running), 대기 또는 봉쇄(Waiting/Blocked)
입출력이 끝나면 일반적으로 대기 상태에서 준비 상태로 이동하며, 곧바로 CPU 실행이 보장되는 것은 아니다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
전체 입력에 대한 정답을 준비하기 어려워 대표 입력 일부에 대해서만 정확한 예상 결과를 정의했다. 이런 테스트 오라클의 이름을 쓰시오.
샘플링 오라클
참 오라클은 모든 입력의 예상 결과를 판단할 수 있는 경우를 뜻한다. 샘플링 오라클은 일부 대표 입력에 한정한다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
입력 나이를 0 미만, 0~120, 120 초과의 세 집합으로 나누고 각 집합에서 대표값 하나씩을 시험했다. 이 명세 기반 기법을 쓰시오.
동등 분할(동치 분할, Equivalence Partitioning)
같은 방식으로 처리될 것으로 기대하는 입력 집합을 분할한다. 경계 바로 전후 값에 집중하는 경계값 분석과 구별한다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
아래 테이블에 다음 SQL을 실행했을 때 마지막 SELECT의 결과를 쓰시오. NULL은 결측값이며, 결과는 열을 공백으로 구분하고 행마다 줄을 바꾸어 적으시오.
| id | name | team | score | mentor |
|---|---|---|---|---|
| 1 | Ari | A | 64 | NULL |
| 2 | Bora | B | 59 | 1 |
| 3 | Cian | A | 64 | 1 |
| 4 | Dani | B | NULL | 2 |
| 5 | Evan | A | 49 | 2 |
SELECT team, MIN(score), MAX(score), COUNT(*)
FROM Scores GROUP BY team HAVING COUNT(*) >= 3
ORDER BY team;A 49 64 3
team별로 묶은 뒤 행 수가 3 이상인 그룹을 남긴다. MIN·MAX는 NULL 점수를 집계에서 제외한다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
다중 사용자·다중 작업을 지원하고 셸과 계층형 파일 시스템을 사용하는 운영체제로, 1969년 Bell Labs에서 시작된 계열의 이름을 쓰시오.
UNIX(유닉스)
커널, 셸, 유틸리티 등의 개념을 구별해 학습한다. Linux는 Unix 계열과 유사한 인터페이스를 갖지만 역사적 기원은 별개이다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
다음 C 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. C11, ASCII 문자 집합을 기준으로 한다.
#include <stdio.h>
#include <string.h>
int main(void) {
const char *s="PROGRAM";
const char *p=s+3;
printf("%s %c %zu", p, *(s+2), strlen(s));
return 0;
}GRAM O 7
문자 포인터를 k만큼 옮기면 k번째 인덱스부터 문자열을 읽는다. %s는 널 문자 전까지, %c는 문자 하나를 출력한다. strlen은 널 문자를 제외한 길이이다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
다음 Java 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Java 21 기준이다.
public class Main {
static int f(int n) { return n<=1 ? n : f(n-1)+f(n-2); }
public static void main(String[] args) {
System.out.print(f(4));
}
}3
f(0)=0, f(1)=1을 기저 조건으로, f(n)은 직전 두 값의 합이다. 같은 부분 문제가 여러 번 계산되는 재귀이다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
보안의 기밀성·무결성·가용성 중, 권한 있는 사용자가 필요한 시점에 서비스와 데이터에 접근할 수 있어야 한다는 성질을 쓰시오.
가용성(Availability)
이중화, 장애 복구, 자원 관리 등으로 높일 수 있다. 서비스 거부 공격은 주로 가용성을 위협한다.
학습용 재구성 · 주제 참고: Life-Journey · 2020년 4회 비공식 복원 (새 창)
답안과 확인 상태는 현재 브라우저에만 저장됩니다. ‘맞았어요’ 표시는 본인이 확인한 학습 기록이며 실제 시험 점수가 아닙니다.