포스트

모의고사 02회

Q. 다음이 설명하고 있는 통신 기술은 무엇인가?

UWB(Ultra Wide Band; 초광대역무선)

  • 중심 주파수의 20% 이상의 점유 대역폭을 가지는 신호, 또는 점유 대역폭과 상관없이 500MHz 이상의 대역폭을 갖는 신호와 수 GHz대의 초광대역을 사용하는 초고속이 무선 데이터 전송 기술로서 OFDM 변조 방식 및 직접 시퀀스 확산 스펙트럼 방식 등을 사용
  • 빠른 속도(500Mbps/1Gbps)와 저전력 특성이 있고, 평균 10~20m, 최대 100m의 근거리 개인 무선 통신망(WPAN, Wireless Personal Area Network)에서 PC와 주변기기 및 가전제품들을 초고속 무선 인터페이스로 연결하거나 벽 투시용 레이더, 고정 밀도의 위치 측정, 차량 충돌 방지 장치, 신체 내부 물체 탐지 등 여러 분야에서 활용 가능
  • 중심 주파수의 20% 이상의 점유 대역폭을 가지는 신호, 또는 점유 대역폭과 상관없이 500MHz 이상의 대역폭을 갖는 신호와 수 GHz대의 초광대역을 사용하는 초고속 무선 데이터 전송 기술은 UWB이다.
  • 근거리 개인 무선 통신망(WPAN, Wireless Personal Area Network)
    • 단거리 통신에 사용되는 개인용 무선 네트워크로 블루투스(Bluetooth) 및 지그비(Zigbee)가 대표적이다.
    • 낮은가격, 낮은 전력의 무선 네트워크 제품에 사용되며 IOT분야의 핵심 기술이다.
    • 블루투스(Bluetooth)는 개인 근거리 무선 통신 산업 표준의 하나이다. IOT장치, 센서디바이스 등 저전력 디바이스를 위해 사용되는 기술이다.
    • 지그비(ZigBee)는 소형, 저전력 디지털 라디오를 이용해 개인 통신망을 구성하여 통신하기 위한 표준 기술이다. 초당 250 kbit의 전송 속도를 가지며, 블루투스보다 단순하고 저렴한 기술을 목표로 만들어졌다.

Q. ()은/는 스마트폰 이용자가 도난당한 스마트폰의 작동을 웹사이트를 통해 정지할 수 있도록 하는 일종의 자폭 기능으로 스마트폰의 유통, 도난이나 분실을 어느 정도 막을 수 있는 기능이다. 원격 잠김, 개인 정보 삭제 기능 등이 있으며, 단말기의 펌웨어나 운영체제에 탑재된다. ( )안에 들어갈 가장 적합한 용어를 쓰시오.

킬 스위치(kill switch)

  • 스마트폰 이용자가 도난당한 스마트폰의 작동을 웹사이트를 통해 정지할 수 있도록 하는 일종의 자폭 기능으로 스마트폰의 유통, 도난이나 분실을 어느 정도 막을 수 있고, 원격 잠김, 개인 정보 삭제 기능 등이 있으며, 단말기의 펌웨어나 운영체제에 탑재되는 기술은 킬 스위치이다.

Q. 다음 () 안에 들어갈 올바른 용어를 쓰시오.

검증(Verification), 확인(Validation)

  • 개발자 혹은 시험자의 시각으로 소프트웨어가 명세화된 기능을 올바로 수행하는지 알아보는 과정으로 소프트웨어 개발 과정을 테스트하는 것은 ( ① )(이)라고 하고, 사용자 시각으로 올바른 소프트웨어가 개발되었는지 입증하는 과정으로 소프트웨어 결과를 테스트하는 것은 ( ② )(이)라고 한다.
  • 검증(Verification)
    • 소프트웨어 개발 과정을 테스트
    • 올바른 제품을 생산하고 있는지 검증
    • 이전 단계에서 설정된 개발 규격과 요구를 충족시키는지 판단
    • 개발자 혹은 시험자의 시각으로 소프트웨어가 명세화된 기능을 올바로 수행하는지 알아보는 과정
  • 확인(Validation)
    • 소프트웨어 결과를 테스트
    • 만들어진 제품이 제대로 동작하는지 확인
    • 최종 사용자 요구 또는 소프트웨어 요구에 적합한지 판단
    • 사용자 시각으로 올바른 소프트웨어가 개발되었는지 입증하는 과정

Q. 자료 사전(Data Dictionary; DD)의 작성 목적은 무엇인지 서술하시오.

자료 사전은 조직에 속해 있는 다른 사람들에게 특정한 자료 용어가 무엇을 의미하는지를 알려주기 위하여, 용어의 정의를 조정하고 취합하고 문서로 명확히 하는 목적이 있다.

  • 자료 사전은 자료 요소, 자료 요소들의 집합, 자료의 흐름, 자료 저장소의 의미와 그들 간의 관계, 관계 값, 범위, 단위들을 구체적으로 명시하는 사전이다.
  • 자료 사전은 파일 혹은 데이터베이스에 있는 자료에 대한 자료 또는 각 자료 항목에 주어진 이름과 길이 그리고 서술과 같은 데이터를 포함하는 참조를 위한 작업이다.
  • 자료 흐름도에 나타나는 어떤 자료의 흐름도 자료 사전에 정의되어 있어야 한다.

Q. 다음 [점수] 테이블에 대해 쿼리를 수행한 결과는 [결과] 테이블과 같다. ①, ②, ③에 들어갈 값을 쓰시오.

20, 40, 70

[점수]

이름DB프로그래밍알고리즘
이완용20NULL50
송병준NULL300
민영휘NULL1020

[쿼리]

1
2
SELECT SUM(DB), SUM(프로그래밍), SUM(알고리즘)
FROM 점수;

[결과]

SUM(DB)SUM(프로그래밍)SUM(알고리즘)
  • 집계 함수는 NULL인 값은 제외하고 계산한다.
  • 집계 함수의 종류는 다음과 같다.

    집계 함수내용
    COUNT복수 행의 줄 수
    SUM복수 행의 해당 컬럼 간의 합계
    AVG복수 행의 해당 컬럼 간의 평균
    MAX복수 행의 해당 컬럼 중 최댓값
    MIN복수 행의 해당 컬럼 중 최솟값
    STDDEV복수 행의 해당 컬럼 간의 표준편차
    VARIANCE복수 행의 해당 컬럼 간의 분산

Q. 다음은 파이썬 코드이다. 출력 결과를 쓰시오.

129

1
2
3
4
5
6
7
8
9
10
11
12
i=0
sum=0
while i < 10:
	i = i+1
	if i % 3 == 0:
		sum -= i
	elif i % 3 == 1:
		sum += i
	else:
		sum *= i

print(sum)
  • 변수 i와 sum을 0으로 초기화한다.
  • while 반복문은 i가 10보다 작을 때까지 반복을 수행한다.
  • while 문이 참일 경우 i=i+1이 실행되어 i 값을 1 증가시킨다.
  • 만약 i 값을 3으로 나눈 나머지가 0인 경우에는 sum-=1가 실행된다.
  • 만약 i 값을 3으로 나눈 나머지가 1인 경우에는 sum+=1가 실행된다.
  • 만약 i 값을 3으로 나눈 나머지가 2인 경우에는 sum*=1가 실행된다.
  • while 반복문이 종료되고 sum을 화면에 출력한다.

Q. 인증(Authentication) 기술 중 () 기반 인증은 사용자가 기억하고 있는 ()(으)로 사례로는 ID, 패스워드가 있다. () 안에 공통으로 들어갈 용어를 쓰시오.

지식 기반 인증

  • 인증 기술의 유형은 아래와 같다. [지소생특]

    유형설명예시
    지식 기반 인증사용자가 기억하고 있는 지식ID/패스워드
    소지 기반 인증소지하고 있는 사용자 물품공인인증서, OTP
    생체 기반 인증고유한 사용자의 생체 정보홍채, 정맥, 얼굴, 지문
    특징 기반 인증사용자의 특징을 활용서명, 발걸음, 몸짓

Q. 다음은 서버 프로그램 구현을 위한 주요 개념이다. () 안에 들어갈 용어를 쓰시오.

백엔드(Back-end)

  • ()은/는 사용자와 만나지 않고 프론트엔드(front-end)와 연동하여 핵심 로직을 처리하는 영역으로 DB나 인터페이스를 통해서 시스템에 접근하여 처리
  • 서버 프로그램 구현을 위해 백엔드와 프론트엔드를 구분하여 구현한다.

    이미지


Q. 데이터베이스의 트랜잭션(Transaction)에 대해 서술하시오.

트랜잭션은 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위이다.

  • 트랜잭션의 주요 특성은 다음과 같다. [ACID]
    • 원자성(Atomicity)
      • 분해가 불가능한 작업의 최소단위
      • 연산 전체가 성공 또는 실패(All or Nothing)
      • 하나라도 실패할 경우 전체가 취소되어야 하는 특성
    • 일관성(Consistency)
      • 트랜잭션이 실행 성공 후 항상 일관된 데이터베이스 상태를 보존해야 하는 특성
    • 격리성(Isolation)
      • 트랜잭션 실행 중 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 불가한 특성
    • 영속성(Durability)
      • 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장하는 특성

Q. 데이터베이스 관리자가 권한을 회수하는 DCL 문을 작성하시오.

1
REVOKE INSERT ON DEPT FROM 신민아; 

관리자가 사용자 신민아에게 DEPT 테이블에 대해 INSERT할 수 있는 권한을 회수

  • 권한을 회수하기 위한 명령어로 REVOKE를 사용한다.[리온프]

    1
    
      REVOKE 권한 ON 테이블 FROM 사용자
    
    • 관리자가 사용자에게 부여했던 데이블에 대한 권한을 회수

Q. 다음은 Java 언어 코드이다. 코드를 수행한 결과가 [출력 결과]와 같도록 ①, ②에 들어갈 코드를 쓰시오.

arr[i], arr[i]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public calss Soojebi {
	public static void main(String[] args) {
		int[] arr = {10, 30, 50, 70, 90}
		int i, max, min;
		max = arr[0];
		min = arr[0];
		for(i=0; i<5; i++) {
			if( > max)
				max = arr[i];
			if( < min)
				min = arr[i];	
		}
		System.out.printf("%d %d\n", max, min);
	}
}

[출력 결과]

1
90 10
  • 1차원 정수형 배열 arr을 선언하고 10, 30, 50, 70, 90으로 초기화한다.
  • 정수형 변수 i, max, min을 선언한다.
  • arr[0]의 값을 max, min에 대입한다.
  • for 반복문은 i 값이 0부터 5보다 작을 때까지 i값을 1씩 증가시킨다.
  • 만약 arr[i]의 값이 max보다 크면 max에 arr[i]의 값을 대입한다.
  • 만약 arr[i]의 값이 min보다 작으면 min에 arr[i]의 값을 대입한다.
  • for 반복문이 종료되고 System.out.printf 메서드에서 max와 min 값을 화면에 출력한다.
iarrmaxmin
0101010
1303010
2505010
3707010
4909010

Q. 다음이 설명하는 EAI 구축 유형은 무엇인가?

허브 앤 스포크

  • 단일한 접점의 허브 시스템을 통하여 데이터를 전송하는 중앙 집중식 방식
  • 허브 장애 시 전체 장애 발생
  • EAI(Enterprise Application Integration)의 구축 유형은 다음과 같다. [포허 메하]
    • 포인트 투 포인트(Point-to-Point)
      • 가장 기초적인 애플리케이션 통합방법으로 1:1 단순 통합방법
    • 허브 앤 스포크(Hub & Spoke)
      • 단일한 접점의 허브 시스템을 통하여 데이터를 전송하는 중앙집중식 방식
      • 허브 장애 시 전체 장애 발생
    • 메시지 버스(Message Bus)
      • 애플리케이션 사이 미들웨어(버스)를 두고 연계하는 미들웨어 통합 방식
      • 뛰어난 확장성과 대용량 데이터 처리 가능
    • 하이브리드(Hybrid)
      • 그룹 내부허브 앤 스포크 방식을 사용하고, 그룹 간에는 메시지 버스 방식을 사용하는 통합 방식

Q. 데이터를 데이터베이스에 저장할 때 불필요하게 중복되어 릴레이션 조작 시 예기치 못한 곤란한 현상이 발생하는 현상은 무엇인가?

이상 현상(Anomaly)

  • 이상 현상(Anomaly)
    • 이상 현상은 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상이다.
    • 삽입, 삭제, 갱신 이상이 있다.

Q. 다음은 C언어 코드이다. 출력 결과를 쓰시오.

1024

1
2
3
4
5
6
7
8
9
10
11
# include <stdio.h>
int Soojebi(int base, int exp) {
	int i, result = 1;
	for(i=0; i<exp; i++)
		result *= base;
	return result;
}

void main() {
 printf("%d", Soojebi(2, 10));
}
  • Soojebi 함수에서 base와 exp를 매개변수로 전달받는다.
  • for 반복문에서 사용하기 위해 i 값을 0으로 초기화한다.
  • 정수형 변수 result는 1로 선언과 동시에 초기화한다.
  • for 반복문은 i 값이 0부터 exp까지 i 값을 1씩 증가시키면서 result *= base;를 수행한다. result와 base를 곱한 값을 result로 대입한다.
  • for 반복문이 종료되고 result를 리턴한다.
  • printf 함수에서 2의 10승인 1024를 출력하는데 포맷 스트링이 “%d“이므로 1024를 출력한다
iexpresultbase
 1012
0 2 
1 4 
2 8 
3 16 
4 32 
5 64 
6 128 
7 256 
8 512 
9 1024 

Q. ‘학생’이라는 뷰를 삭제하는 쿼리를 작성하시오.

1
DROP VIEW 학생;
  • 뷰는 객체이므로 DDL을 이용하여 삭제(DROP)한다.
  • DROP VIEW 문법은 다음과 같다.

    1
    
      DROP VIEW 뷰이름;
    

Q. 다음은 스크럼(SCRUM) 기법에 대한 설명이다. () 안에 들어갈 용어를 쓰시오.

스프린트(Sprint), 번 다운 차트(Burn Down Chart)

  • 백로그(Backlog)는 제품과 프로젝트에 대한 요구사항이고, ( ① )은/는 2~4주의 짧은 개발 기간을 지칭한다. 또한 ( ② )은/는 남아있는 백로그 대비 시간을 그래픽적으로 표현한 차트이다.
  • 스크럼(SCRUM)매일 정해진 시간, 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 중심 방법론이다.
  • 스크럼의 주요 요소에는 백로그, 스프린트, 스크럼 미팅, 스크럼 마스터, 스프린트 회고, 번 다운 차트가 있다
구분설명
스프린트(Sprint)2~4주의 짧은 개발 기간
번 다운 차트(Burn Down Chart)남아있는 백로그 대비 시간을 그래픽적으로 표현한 차트

Q. 방화벽(Firewall)이란 무엇인지 서술하시오.

방화벽은 미리 정의된 보안 규칙을 기반으로 외부로부터 불법 침입과 내부의 불법 정보 유출을 방지하고, 내/외부 네트워크의 상호 간 영향을 차단하기 위한 보안 시스템이다.

  • 네트워크 보안에 필요한 대표적인 솔루션은 방화벽, IDS, IPS가 있다.
보안 솔루션설명
방화벽(Firewall)미리 정의된보안 규칙을 기반으로 외부로부터 불법 침입과 내부의 불법 정보 유출을 방지하고, 내/외부 네트워크의 상호 간 영향을 차단하기 위한 보안 시스템
침입 탐지 시스템(IDS; Intrusion Detection System)네트워크에서 발생하는 이벤트를 모니터링하고 비인가 사용자에 의한 자원접근과 보안정책 위반 행위(침입)를 실시간으로 탐지하는 시스템
침입 방지 시스템(IPS; Intrusion Prevention System)네트워크에 대한 공격이나 침입을 실시간적으로 차단하고, 유해 트래픽에 대한 조치를 능동적으로 처리하는 시스템

Q. 다음은 페이지 교체 기법의 유형이다. () 안에 들어갈 기법을 쓰시오.

LRU(Least Recently Used), LFU(Least Frequently Used)

( ① ) : 사용된 시간을 확인하여 가장 오랫동안 사용되지 않은 페이지를 선택하여 교체하는 기법으로 최근에 참조된 페이지는 앞으로도 참조될 가능성이 크고, 최근에 참조되지 않은 페이지는 앞으로도 참조되지 않을 가능성이 크다는 전제로 구현된 기법

( ② ) : 사용된 횟수를 확인하여 참조 횟수가 가장 적은 페이지를 선택하여 교체하는 기법으로 기억장치에 저장된 페이지 중에서 사용한 횟수가 가장 적은 페이지를 교체하는 기법


Q. 다음 설명 중 () 안에 들어갈 알맞은 용어를 쓰시오.

4차 정규형(4NF)

개발자자격증언어
홍길동정보처리기사C
홍길동빅데이터 분석기사C++
장길산정보보안기사JAVA
개발자자격증
홍길동정보처리기사
홍길동빅데이터 분석기사
장길산정보보안기사
개발자언어
홍길동C
홍길동C++
장길산JAVA
  • <개발자>마다 <자격증> 값들이 **여러 개 존재**하고, 특정 <개발자>마다 <언어> 값들이 여러 개 존재하는 경우 다치 종속 관계라고 한다.
  • <개발자>별로 여러 <자격증> 값을 가지고 있고, <개발자>별로 여러 <언어> 값을 가지고 있으므로 <개발자, 자격증>, <개발자, 언어> 테이블로 분리하여 관리하면 다치 종속 관계를 제거하기 때문에 ()을/를 만족한다.
  • 데이터베이스 정규화 단계는 다음과 같다. [도부이결다조]

    단계조건
    1차 정규형(1NF)원자값으로 구성(원자화)
    2차 정규형(2NF)부분 함수 종속 제거(완전 함수적 종속 관계)
    3차 정규형(3NF)이행 함수 종속 제거
    보이스-코드 정규형(BCNF)결정자 함수이면서 후보 키가 아닌 것 제거(결정자 함수 종속 제거)
    4차 정규형(4NF)다치(다중 값) 종속성 제거
    5차 정규형(5NF)조인 종속성 제거

Q. 다음은 C언어 코드이다. 출력 결과를 쓰시오.

5 10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
void fn(int *c, int *d){
	int temp=0;
	temp = *c;
	*c = *d;
	*d = temp;
}

void main() {
 int a=10;
 int b=5;
 fn(&a, &b);
 printf("%d %d\n", a, b);
}
  • main 함수에서 정수형 변수 a는 10, b는 5로 초깃값을 대입한다.
  • fn 함수를 호출한다.
  • fn 함수에서는 파라미터로 정수형 포인터 타입 c와 d로부터 main 함수의 a, b의 주솟값을 전달받는다.
  • 값의 교환을 위해 임시 저장 변수로 정수형 temp를 선언하고 0으로 초기화한다.
  • *c 값(c가 가리키고 있는 값이므로 main 함수의 a 값)을 temp에 대입하고 *d(d가 가리키고 있는 값이므로 main 함수의 b 값)을 *c에 대입하고 temp의 값을 *d에 대입한다.
  • fn 함수가 호출 후 a 변수와 b 변수의 값은 교환이 유지되며 교환된 값인 5와 10이 화면에 출력된다.

이미지


참고자료


이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.