Daily Front_Minhhk

정처기 실기 데일리 문제 종합_2023 본문

정보처리기사/데일리

정처기 실기 데일리 문제 종합_2023

Minhhk 2023. 4. 19. 15:43

1. 다음은 Agile 방법론과 관련된 내용이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

 

- ( ① )은/는 스크럼에서 해당 스프린트가 계획된 대로 나아가고 있는지, 정해진 목표를 달성하기 위해 팀 차원의 조정이 필요한지 알 수 있게 하고, 백로그 대비 남아있는 시간을 확인할 수 있는 도구이다.
- ( ② )은/는 Toyota에서 처음 사용한 Agile 프로젝트 관리에 사용되는 시각화 도구로 전체 워크플로를 카드 형태로 나타내고 수행된 활동, 진행 중인 작업 및 보류 중인 활동을 구별할 수 있는 도구이다.

​​답)

① : 번 다운 차트(Burn Down Chart)

​​② : 칸반(Kanban) 보드

 

 

 

2. 다음은 UML에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 영어 Full-name으로 쓰시오.

- ( ① )은/는 시스템이 제공하고 있는 기능 및 그와 관련된 외부 요소를 사용자의 관점에서 표현하는 다이어그램이다.
- ( ② )은/는 시스템이 어떤 기능을 수행하는지를 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서대로 표현하는 다이어그램이다.

답)

​①____________________________

​​②____________________________

​​답)

① : Usecase Diagram

​​​② : ​Activity Diagram



 

3. 다음은 데이터베이스에서 조건을 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 기준이 되는 속성인 키와 관련된 용어이다. 괄호( ) 안에 들어갈 용어를 정확하게 쓰시오.

- ( ① )은/는 식별자에 의해 엔터티 타입 내에 모든 엔터티들이 유일하게 구분하는 키의 특성이다.
- 키의 종류 중 ( ② )은/는 릴레이션을 구성하는 모든 튜플에 대해 ( ① )은 만족하지만, 최소성(Minimality)은 만족하지 못하는 키이다.

​​

​​답)

① : 유일성(Unique)

​​​② : ​슈퍼 키(Super Key)



 

4. 다음은 인터페이스 기술 관련 용어이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 자바스크립트를 사용하여 웹 서버와 클라이언트 간 비동기적으로 ( ② ) 데이터를 교환하고 조작하기 위한 웹 기술이다.
- ( ① )은/는 브라우저가 가지고 있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 로드하지 않고 필요한 일부 페이지의 데이터만을 로드하는 기법이다.
​- ( ② )은/는 HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단점을 개선한 특수한 목적을 갖는 마크업 언어이다.

답)

① : AJAX(Asynchronous Javascript And XML)

​​​​② : ​XML(Extensible Markup Language)

 
 

 

5. 다음은 인터페이스 동작 상태를 검증하고 모니터링할 수 있는 도구인 인터페이스 구현 검증 도구에 대한 설명이다. 다음에서 설명하는 도구 명칭을 쓰시오.

- ( ① )은/는 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크로 각 테스트 대상 분산 환경에 데몬을 사용하여 테스트 대상 프로그램을 통해 테스트를 수행하고, 통합하며 자동화하는 검증 도구이다.
​- ( ② )은/는 루비(Ruby) 기반 웹 애플리케이션 테스트 프레임워크로 모든 언어 기반의 웹 애플리케이션 테스트와 브라우저 호환성 테스팅 가능한 도구이다.

답)

① : STAF

​​​​② : ​watir



 

6. 다음은 통합 구현을 위한 주요 연계 기술에 대한 설명이다. 괄호( ) 안에 들어갈 연계 기술을 쓰시오.

- ( ① )은/는 네트워크를 경유하는 프로세스 간 통신의 접속점으로 클라이언트와 서버 프로그램 사이에 데이터를 송수신할 수 있다.
- ( ① )은/는 IP address와 Port 넘버가 합쳐진, 네트워크상에서 서버 프로그램과 클라이언트 프로그램이 통신할 수 있도록 해주는 교환 기술이다.
​- ( ② )은/는 데이터베이스에서 자료를 조회하거나 업데이트하기 위해서 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다.

답)

① : 소켓(Socket)

​​​​​② : ​JDBC(Java Database Connectivity)



 
 

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

#include <stdio.h>
void main( ){
  int low, high;
  int mid;
  int data[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
  int key = 7;
  int count = 0;

  low = 0;
  high = 8;

  while(low <= high){
	  count++;
	  mid = (low + high) / 2;
	  if(key == data[mid]){
		  printf("%d", count);
		  low = high + 1;
	  }
	  else if(key < data[mid]){
		  high = mid - 1;
	  }
	  else{
		  low = mid + 1;
	  }
  }
}
 

//2 - 이진트리

 

 

 

 

 

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

#include <stdio.h>

void main( ){
  int i;
  int sum = 0;
  int arr[5] = {2, 3, 5, 7, 11};
  int *p = arr+2;
  
  for(i=-1; i<2; i++){
  	sum += p[i];
  }

  printf("%d", sum);
}

// 15 - 포인터 잘 보기 ,, p[-1] === arr[1] === 3 ~

 

3+5+7 === 15

 

 

 

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

#include <stdio.h>

void fn(int n){
	if(n > 1)
		fn(n-1);

	printf("%d", n);
}

void main( ){
	fn(4);
}

// 1234 - 재귀, 스택 -> LIFO 유의

 

%f: 부동소수점 수로 출력
%c: 문자로 출력
%s: 문자열로 출력
%p: 포인터로 출력
%x: 16진수로 출력
%o: 8진수로 출력

 

 

 

 

 

 

10. 다음은 자바코드이다. 출력 결과를 쓰시오.

public class Soojebi{
	public static void main(String[] args){
		System.out.print(("1"+2)+(3+4));
	}
}

// 127 

 

 

 

 

11.

public class Soojebi{
	public static void main(String[] args){
		int arr[][][] = new int[2][3][2];
		 
		for (int i = 1; i < 2; i++) {
		    for (int j = i; j < 3; j++) {
		        for (int k = j; k < 2; k++) {
		        	arr[i][j][k] = i * j * k;
		        }
		    }
		}

		for (int i = 0; i < 2; i++) {
		    for (int j = 0; j < 3; j++) {
		        for (int k = 0; k < 2; k++) {
		            System.out.print(arr[i][j][k]);
		        }
		    }
		}
	}
}

000000000100

 

 

12.

class Parent{
  public Parent( ){
    System.out.print("A");
  }
  public Parent(int a){
	System.out.print("B");
  }
  public void fn( ){
    System.out.print("C");
  }
}

class Child extends Parent{
  public Child( ){
	super();
    System.out.print("D");
  }
  public Child(int a){
	super(a);
	System.out.print("E");
  }
  public void fn( ){
    System.out.print("F");
  }
}

public class Soojebi{
  public static void main(String args[]){
    Parent c = new Child(5);
    Parent d = new Child();
    c.fn();
    System.out.print("G");
  }
}

 

정답) BEADFG

 

 

 

 

 

 

13. 파이썬

for i in range(1, 5):
    for j in range(0, i):
        print('*', end='')
    print()

정답) 

 

*

**

***

****

 

 

 

 

14번

#include <stdio.h>
void main(){
  int a = 0x78;
  int b = 78;

  printf("%d %d", a & b, a || b);
}

16 진수,, 변환 후

비트 연산자, 논리연산자

 

정답 ) 72 1

 

int a 16진수 0x78 16 * 7 + 1 * 8 = 120(10) => 2진수 1 1 1 1 0 0 0
int b 10진수 78 = > 2진수 1 0 0 1 1 1 0

& 연산시 1 0 0 1 0 0 0 = 72

 

값은 있으니까 a || b === 1

 

 

 

 

 

15번.

#include <stdio.h>
void main() {
  int a=10;
  switch(++a){
  case 11: printf("B"); case 10: printf("A");  }
}

정답 : BA

 

switch 의 break 가 없어서 ++a 출력전 더하기 1 + 10 = 11

>

case 11 : "B"출력 후

case : 10 인 "A"를 출력

 

 

 

16번. 소수 찾기,,, 에라토스테네스의 체

#include <stdio.h>
void main() {
  int a[30];
  int i, j, count=0;

  for(i=0; i<30; i++) a[i] = i+1;

  a[0] = 0;

  for(i=2; i<=30; i++){
	  if(a[i-1] == 0)
		  continue;

	  for(j=i+1; j<=30; j++){
		  if(j % i == 0)
			a[j-1] = 0;
	  }
  }

  for(i=0; i<30; i++){
	  if(a[i] != 0)
		  count++;
  }

  printf("%d", count);
}

>>

10

 

 

17. 프로젝트에 내재된 위험 요소를 인식하고 그 영향을 분석하여 이를 관리하는 활동으로서, 프로젝트를 성공시키기 위하여 위험 요소를 사전에 예측, 대비하는 모든 기술과 활동을 포함하는 것이 무엇인지 영어 full-name으로 쓰시오.

 

정답) Risk Analysis(or Risk Management)

 

 

 

 

18. 다중수준 보안(multi-level security) 시스템을 대상으로 다음 사항을 준수하는 보안 모델은 무엇인가?

- 주체는 자신과 같거나 자신보다 낮은 보안 수준의 객체만 읽을 수 있음(no read up)
- 주체는 자신과 같거나 자신보다 높은 보안 수준의 객체에만 쓸 수 있음(no write down)

정답) 벨-라파듈라 모델(BLP; Bell-LaPadula Policy)

 
 
 
 
 
 

19. 각종 사물에 센서와 통신 기능을 내장하여 무선 통신을 통해 각종 사물을 인터넷에 연결하는 기술인 사물 인터넷(IoT; Internet of Things)에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

- 최근 사물인터넷(IoT)이 계속 확대되면서 많은 수의 기기가 네트워크와 클라우드 플랫폼 사이에 효율적으로 통신하고
데이터를 이동해야 할 필요성이 커지면서 효율적인 IoT 프로토콜의 중요성이 커지고 있다.
- ( ① )은/는 브로커를 사용한 발행(Publish)/구독(Subscribe) 방식의 경량 메시징을 전송하는 프로토콜로 인터넷을 통해 기기를 연결하는 확장성이 뛰어나고, 안정적인 운영이 가능해서 많은 기업에서 활용하고 있고,
- ( ② )은/는 M2M 노드들 사이에서 이벤트에 대한 송수신을 비동기적으로 전송하는 REST 기반의 프로토콜이자 제약이 있는 장치들을 위한 특수한 인터넷 애플리케이션 프로토콜로 다양한 IoT 산업에서 활용 범위가 넓어지고 있다

정답)

① MQTT(Message Queuing Telemetry Transport)

​② CoAP(Constrained Application Protocol)

 
 
 
 
 
 
 

20. 다음은 테스트 시각에 따른 분류이다. 괄호( ) 안에 들어갈 용어를 반드시 영어 full-name으로 쓰시오.

- ( ① )은/는 소프트웨어 개발 과정에 대한 테스트이고 개발자 혹은 시험자의 시각으로 소프트웨어가 명세화된 기능을 올바로 수행하는지 알아보는 과정이다.
​- ( ② )은/는 소프트웨어 결과에 대한 테스트이고 사용자 시각으로 올바른 소프트웨어가 개발되었는지 입증하는 과정이다.

정답)

① : Verification

​② : Validation

 

 

 

 

21. 다음은 소프트웨어 개발과 관련된 내용이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 는 여러 가지 소프트웨어 구성요소와 그 구성요소가 가진 특성 중에서 외부에 드러나는 특성, 그리고 구성요소 간의 관계를 표현하는 시스템의 구조나 구조체이다.
​- ( ② )은/는 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 것으로 구성요소에는 이름, 문제 및 배경, 솔루션, 사례 등이 있다.

​정답)

① : 소프트웨어 아키텍처(Software Architecture)

​② : 디자인 패턴(Design Pattern)

 

 

 

 

 

22. 파일을 소유하고 있는 사용자에게 읽기/실행 권한을 부여하고, 그룹에게는 쓰기/실행 권한을 부여하고, 그 밖의 사용자에게는 읽기 권한을 파일 b.txt에 부여하는 명령어를 한 줄로 작성하시오. (단, 8진법을 사용하시오.)

chmod  사용자 [읽기(2^2) 쓰기 (2) 실행(1)] 그룹[...] 그 외[...] 파일명

 

정답) ​chmod 534 b.txt

 
 
 
 
 

23. 다음은 디자인 패턴에 대한 설명이다. 괄호 ( ) 안에 들어갈 디자인 패턴의 유형을 영어로 쓰시오.

• ( ① ) Pattern은 각 클래스 데이터 구조로부터 처리 기능을 분리하여 별도의 클래스를 만들
어 놓고 해당 클래스의 메서드가 각 클래스를 돌아다니며 특정 작업을 수행하도록 만드는 패턴으로, 객체의 구조는 변경하지 않으면서 기능만 따로 추가하거나 확장할 때 사용하는 디자인 패턴이다.
• ( ② ) Pattern은 실행될 기능을 캡슐화함으로써 주어진 여러 기능을 실행할 수 있는 재사용성이 높은 클래스를 설계하는 패턴으로 하나의 추상 클래스에 메서드를 만들어 각 명령이 들어오면 그에 맞는 서브 클래스가 선택되어 실행되는 특징을 갖는 디자인 패턴이다.
• ( ③ ) Pattern은 클래스 설계 관점에서 객체의 정보를 저장할 필요가 있을 때 적용하는 디자인 패턴으로 Undo 기능을 개발할 때 사용하는 디자인 패턴이다.

정답)

① : Visitor

​② : Command

​③ : Memento

 
 
 
 
 
 
 

24. 다음 프로그램에서 100% 구문 커버리지를 만족하는 테스트 케이스를 모두 고르시오.

 
[테스트 케이스]
TC1 : X=5, Y=2, Z=15
TC2 : X=3, Y=2, Z=4
TC3 : X=2, Y=2, Z=8
TC4 : X=1, Y=2, Z=8

정답) TC1

 

 

25. 다음은 각종 재해, 장애, 재난으로부터 위기관리를 기반으로 재해복구, 업무복구, 비상계획 등을 통해 비즈니스 연속성을 보장하는 BCP에 대한 설명이다. 괄호 ( ) 안에 들어갈 용어를 영어 약자나 영어 full name으로 쓰시오.

• ( ① )은/는 업무중단 시점부터 데이터가 복구되어 다시 정상가동될 때 데이터의 손실을 허용하는 시점이다.
• ( ② )은/는 재해복구센터에 주 센터와 동일한 수준의 자원을 보유하는 대신 중요성이 높은 자원만 부분적으로 재해복구센터에 보유하고 있는 방식으로 재해 발생 시 복구까지의 소요 시간은 수일~수주가 걸린다.

정답)

① : RPO(Recovery Point Objective)

② : Warm Site



mirror sie : 즉시
hot site : 수시간
warm site : 수일~수주
cold site : 수주 ~ 수개월

RTO : 업무중단시점부터 복구될 때 까지 걸린시간
RPO : 손실허용시점

 

 

 

26. 다음 괄호( ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 인간의 지적능력을 인공적으로 구현하여 컴퓨터가 인간의 지능적인 행동과 사고를 모방할 수 있도록 하는 소프트웨어이다. ( ① )은 현재 다양한 분야에 적용돼서 사회와 비즈니스를 혁신시키고 있다.
- 특히 OpenAI가 개발한 GPT-3.5 기반의 대형 언어 모델(large language model, LLM) 챗봇인 ChatGPT의 등장으로 인해 더욱 주목받고 있다. ChatGPT는 사람의 개입이 필요한 기존의 지도학습(Supervised Learning)에 보다 능동적인 비지도학습이 결합되어 컴퓨터가 마치 사람처럼 스스로 학습할 수 있는 기술인 ( ② )을 기반으로 하고 있다.

정답)

​① : 인공지능(AI; Artificial Intelligence)

② : 딥러닝(Deep Learning)

 

 

 

 

27. 다음 사용자 인터페이스에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

- ( ① )은/는 현실에 존재하는 모든 사물이 입출력장치로 변화할 수 있는 사용자 인터페이스로 유기적 상호 작용 기반 인터페이스라고 한다.
- UI 품질 요구사항 중 ( ② )은/는 사용자와 컴퓨터 사이에 발생하는 어떠한 행위를 정확하고 쉽게 인지할 수 있는 품질 기준으로 상세 품질 요구사항으로는 이해성, 학습성, 운용성이 있다.

정답)

​① : OUI(Organic User Interface)

​② : 사용성(Usability)



 
 
 
 

28. 다음은 암호화 알고리즘에 대한 설명이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

- ( ① ) 암호 알고리즘은 유한체 위에서 정의된 타원곡선 군에서 이산대수 문제에 기초한 공개키 암호화 알고리즘이다.
​- ( ② ) 암호 알고리즘은 이용하여 두 사용자 간에 공통의 암호화 키를 안전하게 공유할 방법을 제시하였으며, 많은 키 분배 방식에 관한 연구의 기본이 되는 알고리즘이다.

정답)

​① : ECC(Elliptic Curve Cryptography)

​② : 디피-헬만(Diffie-Helllman)



 
1. Elgamal(엘가말) : 이산대수 문제의 어려움에 근거하여 만든 공개키 암호화 알고리즘

2. ECC : 유한체 위에서 정의된 타원곡선 군에서 이산대수 문제에 기초한 공개키 암호화 알고리즘

3. 디피-헬만 알고리즘 : 두 사용자 간에 공통의 암호화 키를 안전하게 공유할 방법을 제시하며,
많은 키 분배 방식에 관한 연구의 기본이 되는 알고리즘(최초의 공개키 알고리즘)


 
 
 
 29. 다음은 보안 공격에 대한 설명이다.
 
- (   1   ) 은/는 메모리에 적재되어 있는 코드 조각들(가젯:Gadget)에 Return 명령을 사용하여 공격자가 원하는 흐름대로
명령을 실행하도록 하는 공격 기법
 
- (   1   ) 은/는 버퍼 오버플로우와 같은 취약점을 이용하여 프로그램의 실행 흐름을 조작할 때 가장 빈번하게 사용된다.
 
- (   2   ) 은/는 PC가 악성코드에 감염되어 정상적인 홈페이지 주소를 입력하거나 기존에 설정해 둔 즐겨찾기로 접속해도
악성 사이트로 연결되어 개인의 금융정보를 훔치는 공격 기법.
 
 
1 : ROP(Return Oriented Programming)
 
2 : 파밍

 

 

 

 

 

30. 다음에서 설명하는 용어를 쓰시오.

- 각 시스템 간에 공유 디스크를 중심으로 클러스터링으로 엮여 다수의 시스템을 동시에 연결할 수 있다.
- 조직, 기업의 기간 업무 서버 등의 안정성을 높이기 위해 사용될 수 있다.
- 여러 가지 방식으로 구현되며 2개의 서버를 연결하는 것으로 2개의 시스템이 각각 업무를 수행하도록 구현하는 방식이 널리 사용된다.

정답) HACMP (High Availability Cluster Multiprocessing)

 

 

 

 

 

31. 용어 설명~

- (   1   ) 은/는 빅데이터 분석 기술 중 대량의 데이터를 분석하여 데이터 속에 내재되어 있는 변수 사이의 상호 관계를 규명하여 일정한 패턴을 찾아내는 기법

- (   2   ) 은/는 실제로는 존재하지 않거나 출시되지 않은 제품, 소프트웨어 ,하드웨어 등을 말한다.

- (   2   ) 은/는 일반적으로 기업이나 개인이 제품을 발표 한 후, 실제로는 출시되지 않거나 개발이 중단된 경우에 사용

 

 

1 - 데이터 마이닝(Data Mining)

2 - 베이퍼웨어(Vaporware)

 

 

 

32.

- 소프트웨어 아키텍처 4+1 뷰는 고객의 요구사항을 정리해 놓은 시나리오를 바라보는 소프트 웨어 적인 접근 방법이다.

- (    1   )  관점은(View)는 컴포넌트가 물리적인 아키텍처에 어떻게 배치되는가를 매핑해서 보여준다.

- (    1   )  관점은(View)는 물리적인 시스템을 구성하고 있는 각 부분들의 분산 형태와 설치에 초점을 둔다.

 

- 소프트웨어 아키텍처 패턴은 개발에 대한 시행착오를 줄여서 개발 시간을 단축하고, 높은 품질의 소프트웨어 생산이 가능하다.

- (   2   ) 은/는 연산, 통신, 조정을 책임지는 부분과 제어되고 동기화 되는 대상인 부분으로 구성되는 패턴이다.

- (   2   ) 은/는 슬레이브 컴포넌트에서 처리된 결과물을 다시 돌려받는 방식으로 작업을 수행하는 패턴이다.

 

 

1_ 배포

2_ master - slave

 

 

 

 

33. 다음은 보안과 관련된 내용이다. 괄호( ) 안에 들어갈 용어를 쓰시오.

 

- 최근 스마트 폰의 운영체제와 신규 앱 개발이 굉장히 빠른 속도로 출시되고 있으며 그에 따라 ( )과 같은 보안 공

격도 점차 늘어나고 있다.

  • - ( )은/는 보안 취약점이 발견되어 널리 공표되기 전에 해당 취약점을 악용하여 이루어지는 보안 공격기법으로 | 이전에 알려지지 않은 취약성을 이용하는 사이버 공격이다.
  • 이런 사이버 공격을 하드웨어적으로 대응하기 위하여 ( 2 ) 기능이 점차 널리 이용되고 있다.
  • ( ② )은/는 프로세서 안에 독립적인 보안 구역을 따로 두어 중요한 정보를 보호하는 ARM사에서 개발한 보안 기술이다.

답)

  1. : 제로데이 공격(Zero Day Attack)
  2. : 트러스트존(Trustzone)

 

 

 

34. 다음은 결함 관리에 대한 설명이다. 괄호( ) 안에 공통적으로 들어갈 용어를 보기에서 골라서 쓰시오.

 

- (     )은/는 결함 보고서에 포함된 결함을 수정하지 않고 나중에 처리하도록 연기된 상태이다.

- (     )은/는 결함의 우선순위를 낮추고, 이후에 결함을 수정할 수 있도록 계획한다.

 

Defect Identification, Defect Analysis, Defect Prioritization, Defect Deferred, Defect Resolved, Defect Reviewed, Defect Assigned, Defect Verified, Defect Closed, Defect Reopen

 

===

Defect Deferred(= Defect Deferral)

'정보처리기사 > 데일리' 카테고리의 다른 글

데일리 // 31~  (0) 2023.04.18
[JAVA] 오버라이딩  (0) 2023.03.25
[JAVA] 생성자, 오버라이딩 - 정리  (0) 2023.03.12