본문 바로가기

정보처리기사/실기

정보처리기사 실기 기출 - 2020년 2회

반응형

- 약술형 -

1. SQL 제어어에는 COMMIT, ROLLBACK, GRANT, REVOKE가 있다. 이 중에서 ROLLBACK은 무엇인가?

정답

트랜잭션 실패 시 작업을 취소하고 트랜잭션 이전으로 복구하는 명령어

 

2. SQL Injection이 무엇인가?

정답

클라이언트의 입력값을 조작하여 데이터베이스 서버를 조작할 수 있는 공격 기법

 

 

 

- 필답형 -

1. 보기에서 설명하는 용어는?

[보기]

정보시스템 운영 중 서버가 다운되거나, 자연재해나, 시스템 장애 등의 이유로 서비스가 불가능한 경우, 업무 중단 시점으로부터 업무가 복구되어 정상 가동될때 까지의 시간을 의미한다.

정답

RTO

 

2. 보기에서 설명하는 기술은?

[보기]

브라우저가 갖고 있는 XML HTTP Request 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부분만 로드하는 기법. 하이퍼텍스트 표기언어만으로 다양한 작업을 웹페이지에서 구현해 이용자가 웹페이지와 자유롭게 상호작용 할 수 있도록 하는 기술

정답

AJAX

 

3. 보기에서 설명하는 것은?

[보기]

고객의 요구사항 변화에 유연하게 대응하기 위해 일정한 주기를 반복하면서 개발하는 방법론으로, 최근 많은 회사에서 채택하고 있는 방법론

정답

애자일

 

4. 보기에서 설명하는 기술은?

[보기]

무결성을 보장하는 인증 헤더와, 기밀성을 보장하는 암호화 프로토콜로 망 계층인 인터넷 프로토콜에서 보안성을 제공해주는 표준 기술

정답

IPsec

 

5. 보기에서 설명하는 도구는?

[보기]

애플리케이션을 실행하지 않고, 소스코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함을 발견하기 위해 사용하는 도구

정답

정적 분석 도구

 

6. 보기에서 설명하는 패턴은?

[보기]

한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에게 메시지가 전송되며, 자동으로 내용이 갱신되는 방법. 일대다 의존성을 가지는 디자인 패턴과, 서로 상호작용을 하는 객체 사이엔느 가능한 느슨하게 결합하는 디자인을 사용해야 함

정답

Observer Pattern

 

7. 보기에서 설명하는 운영체제는?

리눅스 운영체제 위에서 구동되며, 스마트폰을 비롯한 휴대용 장치를 위한 운영체제와 미들웨어, 사용자 인터페이스, 표준 응용프로그램, MMS 등을 포함하고 있는 소프트웨어 스택이자 모바일 리눅스 운영체제이다. 개발자들이 자바와 코틀린 언어로 응용프로그램을 작성할 수 있게 하였으며, 컴파일된 바이트 코드를 구동할 수 있는 런타임 라이브러리를 제공하는 운영체제

정답

안드로이드

 

8. 빈칸을 채우시오

HTTP, HTTPS, SMTP를 통해서 XML 기반의 데이터를 주고받는 프로토콜로 웹 서비스 방식에서 HTTP 기반의 (     )을 사용하여 송수신 한다. (    ) 대신 레스트 풀 프로토콜로 대체할 수 있다.

정답

SOAP

 

9. 빈칸을 채우시오

UI 설계 원칙에서 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 제작하여야 한다.

직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 한다.

학습성 : 누구나 쉽게 배우고 익힐 수 있어야 한다.

유연성 : 사용자의 요구사항을 최대한 수용하며 오류를 최소화해야 한다.

(       ) : 사용자의 목적을 정확하게 달성하여야 한다.

정답

유효성

 

10. 다음 조건으로 명령어를 작성하시오

사용자에게 읽기/쓰기/실행 권한을 부여하고, 그룹에는 읽기, 실행 권한을 부여, 그 외에는 실행 권한을 a.txt파일에 대하여 부여한다.

정답

chmod 751 a.txt

 

해설

숫자는 8진수 형식의 모드 설정 값입니다.

4는 읽기 권한, 2는 쓰기 권한, 1은 실행 권한을 의미하며, 이 값들을 더해서 권한을 부여하게 됩니다.

7은 4+2+1이므로 읽기, 쓰기, 실행 권한을 의미하고,

5는 4+1이므로 읽기, 실행 권한을 의미합니다.

a.txt는 해당 권한을 부여할 파일의 이름을 의미합니다.

 

11. 보기에서 설명하는 용어는?

[보기]

전 세계 오픈된 정보를 하나로 묶는 방식으로, Link data와 Open data의 합성어를 의미한다.

정답

Linked Open Data

 

12. 보기의 내용을 순서대로 나열하시오

[보기]

논리적 설계, 물리적 설계, 개념적 설계, 요구사항 분석

정답

요구사항 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계

 

13. 빈칸을 채우시오.

소프트웨어 개발 과정에서 변경 사항을 관리하는 기법은 (  )기법이라고 하며, (  )기법을 활용한 도구로는 CVS, SVN, GIT 등이 있다.

정답

형상 관리

 

 

 

- DB -

1. 조건을 충족시켜서 SQL문을 작성하시오

[조건]

- 학생 테이블에서 3, 4학년인 학생의 학번, 이름을 검색

- IN 함수를 이용해야 함.

 

테이블명 = 학생

학번 이름 학년
2011011001 김철수 4
2012011009 박영희 3
2013011014 황기영 2

정답

SELECT 학번, 이름 FROM 학생 WHERE 학년 IN (3, 4);

 

 

2. student 테이블의 name 속성에서 idx_name 이라는 이름의 인덱스 생성하는 명령어

정답

CREATE INDEX idx_name ON student(name);

 

해설

INDEX를 생성하는 방법은

CREATE INDEX 인덱스명 ON 테이블명 (컬럼명);입니다.

 

 

 

- 프로그래밍 -

1. 파이썬

asia = {"한국", "중국", "일본"}
asia.add("베트남")
asia.add("중국")
asia.remove("일본")
asia.update(["홍콩", "한국", "태국"])
print(asia)

정답

{'한국', '태국', '홍콩', '베트남', '중국'}

 

해설

// asia라는 배열에 한국, 중국, 일본을 대입합니다.
asia = {"한국", "중국", "일본"}
// asia 배열에 베트남을 추가합니다.
asia.add("베트남")
// asia 배열에 중국을 추가합니다.
asia.add("중국")
// asia 배열에서 일본을 삭제합니다.
asia.remove("일본")
// asia 배열에 홍콩, 한국, 태국을 추가합니다.
asia.update(["홍콩", "한국", "태국"])
// asia 배열을 출력합니다.
print(asia)

- 파이썬 배열은 순서도, 중복도 없다.

- update 명령어를 이용해 여러개의 값을 배열에 삽입할 수 있음.

 

 

2. 자바 - 빈칸을 채우시오

class Parent
{
	public void print()
	{
	System.out.println("Parent");
    }
}

class Child extends Parent
{
	public void print()
	{
	System.out.println("Child");
	}
}

public class Bebsae
{
	public static void main(String[] args)
	{
	Parent pa = ( 빈칸 ) Child();
	pa.print();
	}
}

정답

new

 

해설

// 부모 클래스
class Parent
{
	public void print()
	{
	System.out.println("Parent");
	}
}

//자식 클래스
class Child extends Parent
{
	public void print()
	{
	System.out.println("Child");
	}
}

public class Bebsae
{
	public static void main(String[] args)
	{
	// pa라는 객체 변수를 생성함 - new를 이용해서 생성함
	Parent pa = ( 빈칸 ) Child();
	// pa를 이용해 자식클래스의 메소드를 수행
	pa.print();
	}
}

- extends로 부모 클래스를 상속받음

- Parent를 이용해서 새로운 pa라는 객체변수를 생성함.

- 객체 변수를 생성할때 new를 사용함.

 

 

3. 자바

class A
{
	int a;
	public A(int n)
	{
		a = n;
	}
	public void print()
	{
		System.out.println("a="+a);
	}
}

class B extends A
{
	public B(int n)
	{
		super(n);
		super.print();
	}
}

public class Bebsae
{
	public static void main(String[] args)
	{
		B obj = new B(10);
	}
}

정답

a=10

 

해설

// A라는 클래스 생성
class A
{
	// 정수형 변수 a 선언
	int a;
	// 생성자 A에 10을 대입하여 수행한다.
	public A(int n)
	{
		// a = 10이다
		a = n;
	}
	public void print()
	{
		// a = 10이라는 값을 출력
		System.out.println("a="+a);
	}
}

class B extends A
{
	// 생성자 B로부터 10이라는 값을 받아옴
	public B(int n)
	{
		// 상위클래스에 10을 집어넣는다.
		super(n);
		// 상위클래스에 있는 print 메소드 수행
		super.print();
	}
}

public class Bebsae
{
	public static void main(String[] args)
	{
		// B라는 클래스를 이용해 obj라는 객체를 생성
		// new를 이용해 B라는 생성자를 만들어준다.
		B obj = new B(10);
	}
}

- 생성자 = new 연산자를 통해서 객체를 생성할 경우 반드시 호출되고, 첫번째로 실행되는 메소드

반응형