현재 IPv4의 확장형으로 IPv4가 가지고 있는 주소 고갈, 보안성, 이동성 지원 등의 문제점을 해결하기 위해서 개발된 128비트 주소체계를 갖는 차세대 인터넷 프로콜은 무엇인가?
IPv6
목적에 따른 디자인 패턴의 유형에는 생성(Creational) 패턴, 구조(Structural) 패턴, ( 괄호 ) 패턴이 있다. 괄호에 들어갈 알맞은 패턴 유형을 쓰시오.
행위(Behavioral)
✨#생구행
디자인 패턴
생성 패턴: Creational Pattern
구조 패턴: Structural Pattern
행위 패턴: Behavioral Pattern
다음은 어떤 UML 다이어그램에 관한 예시이다. 어떤 종류의 다이어그램인가?
패키지 다이어그램
폴더 모양 → 패키지
구조적 다이어그램 / 정적 다이어그램
✨#클객 컴배 복패 : 클래스(class) / 객체(object) / 컴포넌트(component)/ 배치(deployment) / 복합체 구조(composite structure) / 패키지(package)
데이터베이스의 회복(Recovery) 기법 중 Rollback 시 Redo, Undo가 모두 실행되는 트랜잭션 처리법으로 트랜잭션 수행 중 갱신 결과를 바로 DB에 반영하는 기법은 무엇인가?
즉시갱신 회복 기법(Immediate Update)
지연 갱신 회복 기법
즉시 갱신 회복 기법
다음은 n이 10일 때, 10을 2진수로 변환하는 자바 소스 코드이다. A, B 괄호 안에 알맞은 값을 적으시오.
class good {
public static void main (String[] args) {
int[]a = new int[8];
int i=0; int n=10;
while ( 괄호 A ) {
a[i++] = ( 괄호 B );
n /= 2;
}
for(i=7; i>=0; i--){
System.out.print(a[i]);
}
}
}
답:
(A) n > 0 or n >=1 or i < 8 or i <= 7
(B) n%2 or n&1
다음은 자바 소스 코드이다. 출력 결과를 보고 괄호 A, B에 알맞은 값을 적으시오.
public class good {
public static void main(String[] args) {
int[][]a = new int[( 괄호A )][( 괄호B )];
for(int i = 0; i < 3; i++){
for(int j=0; j < 5; j++){
a[i][j] = j*3+(i+1);
System.out.print(a[i][j]+"");
}
System.out.println();
}
}
}
[출력 결과]
1 4 7 10 13
2 5 8 11 14
3 6 9 12 15
답:
(A) 3
(B) 5
사실상
(A) 3 이상의 어떤 자연수
(B) 5 이상의 어떤 자연수
해킹 공격의 종류 중 하나인 스니핑(Sniffing)에 대하여 설명하시오.
네트워크상에 흘러다니는 트래픽을 훔쳐보는 행위. 주로 자신에게 와야할 정보가 아닌 정보를 자신이 받도록 조작하는 행위
키워드 : 네트워크상의 패킷, 도청
IP 패킷에서 외부의 공인 IP주소와 포트 주소에 해당하는 내부 IP주소를 재기록하여 라우터를 통해 네트워크 트래픽을 주고받는 기술을 무엇이라고 하는가?
NAT(Network Address Translation)
다음은 파이썬 소스 코드이다. 출력 결과를 쓰시오.
lol = [[1,2,3],[4,5],[6,7,8,9]]
print(lol[0])
print(lol[2][1])
for sub in lol:
for item in sub:
print(item, end = '')
print()
답:
[1, 2, 3]
7
123
45
6789
print(lol[0]) # 0번방 전체를 출력해서 세트 단위로 가져와야됨. [1,2,3]
print(lol[2][1]) # 2번방의 1번 요소인 값 하나 출력해서 대괄호 없이 값만 호출. 7
for sub in lol: #반복문으로 lol 배열 범위 만큼 지정
for item in sub: #0번방, 1번방, 2번방 까지 돌아가면서
print(item, end = '') # 각 방 안에 있는 배열 요소 값 찍어내고
print() #요소가 끝나는 지점은 개행처리
분산 컴퓨팅 기술 기반의 데이터 위변조 방지 기술로 P2P방식을 기반으로 하여 소규모 데이터들이 연결되어 형성된 '블록'이라는 분산 데이터 저장 환경에 관리 대상 데이터를 저장함으로써 누구도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있게끔 만드는 기술은 무엇인가?
블록체인
오픈 소스 기반으로 한 분산 컴퓨팅 플랫폼으로, 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크로 구글, 야후 등에 적용한 기술은 무엇인가?
하둡(Hadoop)
Hadoop : 다수의 컴퓨터로 분산 구성된 빅데이터를 병렬로 처리할 수 있는 공개 소프트웨어 프레임워크
데이터베이스 이상 현상(Anomaly)의 종류 3가지를 쓰시오.
✨#삽삭갱
삽입 이상(Insertion Anomaly)
삭제 이상(Delete Anomaly)
갱신 이상(Update Anomaly)
다음은 프로세스 상태 전이도이다. 1, 2, 3에 알맞은 상태를 쓰시오.
A. 준비(Ready)
B. 실행(Run)
C. 대기(Wait)
생성→준비→실행→종료
실행 중 타임 런아웃 → 대기 → 준비
테스트 오라클 중 특정한 몇 개의 입력값에 대해서만 기대하는 결과를 제공해주는 오라클은 무엇인가?
샘플링 오라클
✨#참샘휴일
참(True) 오라클 - 모든 테스트 케이스의 입력 값
샘플링(Sampling) 오라클 - 특정한 몇몇 테스트 케이스의 입력 값들
휴리스틱(Heuristic, 추정) 오라클 - 나머지 입력 값들에 대해서는 추정으로 처리
일관성(Consistent) 검사 오라클 - 수행 전과 수행 후의 결과 값이 동일한지를 확인
점수에 따른 성적 부여가 잘 되었는지 테스트하고자 한다. 아래에 알맞는 테스트 기법은 무엇인가?
동치 분할 테스트
✨#동경결상 유분페원비
블랙박스 테스트 : 프로그램 외부 사용자의 요구사항 명세를 보면서 수행하는 테스트
동등분할 테스트 : 입력 데이터의 영역을 유사한 도메인별로 그룹핑하여 대푯값 테스트 케이스 도출
경곗값 분석 테스트 : 등가 분할 후 경곗값 분석에서 오류 발생확률이 높기 때문에 경곗값을 포함하여 테스트 케이스 도출
결정 테이블 테스트 : 요구사항 논리와 발생조건을 테이블 형태로 나열하여, 조건과 행위를 모두 조합하는 기법
상태 전이 테스트 : 객체의상태를 구분하고, 이벤트에 의해 어느 상태에서 다른 상태로 전이되는 경우의 수를 수행하는 테스트 기법
유스케이스 테스트 : 유스케이스를 프로세스 흐름을 기반으로 테스트 케이스를 명세화하여 수행하는 테스트 기법
분류 트리 테스트 : SW의 일부 또는 전체를 트리 구조로 분석 및 표현하여 테스트 케이스를 설계하여 테스트하는 기법
페어와이즈 테스트 : 테스트 데이터 값들 간에 최소한 한 번씩을 조합하느 테스트 방식
원인-결과 그래프 테스트 : 그래프를 활용하여 입력 데이터 간의 관계 및 출력에 미치는 영향을 분석하여 효용성이 높은 테스트 케이스를 선정하여 테스트하는 기법
비교 테스트 : 여러 버전의 프로그램에 입력값을 넣어서 동일한 결과가 나오는지 비교해 보는 테스트 기법
다음 조건을 만족하면서 학과별로 튜플 수가 얼마인지 구하는 SQL문을 작성하시오.
SELECT 학과, COUNT(학과) AS 학과별튜플수 FROM 학생 GROUP BY 학과;
count()에 *, 학생, 학과 다 될 거 같습니다
데니스 리치와 켄톰슨 등이 함께 벨 연구소를 통해 만든 운영체제이며, 90% 이상 C언어로 구현되어 있고, 시스템 프로그램이 모듈화되어 있어서 다른 하드웨어 기종으로 쉽게 이식 가능하며 계층적 트리 구조를 가짐으로써 통합적인 파일 관리가 용이한 운영체제는 무엇인가?
유닉스(UNIX)
데니스 리치 = UNIX
리누스 토발즈 + 오픈소스 = LINUX
리누스 토발즈가 참고한 것 = MINIX
⭐️다음은 C언어 소스 코드이다. 출력 값을 쓰시오.
#include
int main() {
char *p = "KOREA";
printf("%sn", p);
printf("%sn", p + 3);
printf("%cn", *p);
printf("%cn", *(p + 3));
printf("%cn", *p + 2);
return 0;
}
답:
KOREA
EA
K
E
M
*p = “KOREA”
print p KOREA
print p+3(3번째 자리 이후) EA
print *p K
print *(p+3) E
print p+2(*p는 K) M(알파벳 순서 K,L,M,N… 중 K 다음 다음은 M)
다음은 자바(Java) 소스 코드이다. 출력 결과를 쓰시오.
class Parent {
public int compute(int num){
if(num <=1) return num;
return compute(num-1) + compute(num-2);
}
}
class Child extends Parent {
public int compute(int num){
if(num<=1) return num;
return compute(num-1) + compute(num-3);
}
}
class Good {
public static void main (String[] args){
parent obj = new Child();
System.out.print(obj.compute(4));
}
}
답: 1
compute(4)
= compute(3) + compute(1) = compute(3) + 1
= compute(2) + compute(0) +1 = compute(2)+0+1
= compute(1)+ compute(-1) + 1
= 1+1-1
=1
정보 보안의 3요소 중 가용성(Availability)에 대하여 설명하시오.
인가된 사용자는 원할 때 정보에 접근이 가능해야 함
✨#무기가
무결성: 인가된 사용자만 수정 가능
기밀성: 인가된 사용자만 접근 가능
가용성:사용자가 원할때 접근 가능