본문으로 바로가기

4과목 : 프로그래밍 언어 활용

 

1. 다음 자바 프로그램 조건문에 대해 삼항 조건 연산자를 사용하여 옳게 나타낸 것은?

int i = 7, i = 9;
int k;
if (i > j)
   k = i - j;
else
   k = i + j;

1.

int i = 7, j = 9;

int k;

k = (i > j)?(i - j):(i + j);

2.

int i = 7, i = 9;

int k;

k = (i < j)?(i - j):(i + j);

3.

int i = 7, i = 9;

int k;

k = (i > j)?(i + j):(i - j);

4.

int i = 7, i = 9;

int k;

k = (i < j)?(i + j):(i - j);


2. 다음 내용이 설명하는 소프트웨어 취약점은?

메모리를 다루는 데 오류가 발생하여 잘못된 동작을 하는 프로그램 취약점

1. FTP 바운스 공격

2. SQL 삽입

3. 버퍼 오버플로

4. 디렉토리 접근 공격

FTP 바운스 공격
 - 제어 채널과 데이터 채널을 다르게 사용하고 데이터 채널을 생성할 때 목적지를 확인하지 않는 FTP 설계의 구조적 취약점을 이용하는 공격
 - 능동 모드에서 FTP 서버의 파일을 요청하면 클라이언트에서 파일을 받을 IP와 포트를 지정해서 전달. 이때 IP와 포트를 요청한 클라이언트가 아닌 임의의 주소로 지정할 수 있는데 이러한 FTP 설계의 취약점을 이용하는 방식

SQL 삽입
 - 입력란에 SQL을 삽입하여 무단으로 DB를 조회하거나 조작하는 보안 약점
 - 동적 쿼리에 사용되는 입력 데이터 예약어 및 특수문자가 입력되지 않게 필터링 되도록 설정하여 방지

디렉토리 접근 공격
 - 웹 브라우저에서 웹 서버의 특정 디렉터리를 열면 그 디렉터리에 있는 파일과 목록이 모두 나열되는 것을 의미

3. 다음 중 bash 쉘 스크립트에서 사용할 수 있는 제어문이 아닌 것은?

1. if

2. for

3. repeat_do

4. while


4. IPv6에 대한 설명으로 틀린 것은?

1. 32비트의 주소체계를 사용한다.

2. 멀티미디어의 실시간 처리가 가능하다.

3. IPv4보다 보안성이 강화되었다.

4. 자동으로 네트워크 환경구성이 가능하다.

 - 현재 사용하고 있는 IP 주소 체계인 IPv4의 주소 부족 문제를 해결하기 위해 개발
 - 16비트씩 8부분, 총 128비트로 구성
 - IPv4에 비해 자료 전송 속도가 빠름
 - 인증성, 기밀성, 데이터 무결성의 지원으로 보안 문제를 해결
 - IPv4와 호환성이 뛰어남
 - 주소의 확장성, 융통성, 연동성이 뛰어나며, 실시간 흐름 제어로 향상된 멀티미디어 기능을 지원
 - Traffic Class, Flow Label을 이용하여 등급별, 서비스별로 패킷을 구분할 수 있어 품질 보장에 용이
 - 유니캐스트, 멀티캐스트, 애니캐스트 세 가지 주소 체계로 나뉨

5. 효과적인 모듈 설계를 위한 유의사항으로 거리가 먼 것은?

1. 모듈간의 결합도를 약하게 하면 모듈 독립성이 향상된다.

2. 복잡도와 중복성을 줄이고 일관성을 유지시킨다.

3. 모듈의 기능은 예측이 가능해야 하며 지나치게 제한적 이여야 한다.

4. 유지보수가 용이해야 한다.


6. HRN 방식으로 스케줄링 할 경우, 입력된 작업이 다음과 같을 때 처리되는 작업 순서로 옳은 것은?

작업 대기시간 서비스(실행)시간
A 5 20
B 40 20
C 15 45
D 20 2

1. A -> B -> C -> D

2. A -> C -> B -> D

3. D -> B -> C -> A

4. D -> A -> B -> C

A의 우선순의 : (5+20)/20=1.25

B의 우선순위 : (40+20)/20=3

C의 우선순위 : (15+45)/45=1.333

D의 우선순위 : (20+2)/2=11

7. 운영체제에 대한 설명으로 거리가 먼 것은?

1. 다중 사용자와 다중 응용프로그램 환경하에서 자원의 현재 상태를 파악하고 자원 분배를 위한 스케줄링을 담당한다.

2. CPU, 메모리 공간, 기억 장치, 입출력 장치 등의 자원을 관리한다.

3. 운영체제의 종류로는 매크로 프로세서, 어셈블러, 컴파일러 등이 있다.

4. 입출력 장치와 사용자 프로그램을 제어한다.

운영체제의 목적
 - 처리 능력
 - 반환 시간
 - 사용 가능도
 - 신뢰도

운영체제의 기능
 - 프로세서, 기억장치, 입·출력장치, 파일 및 정보 등의 자원을 관리
 - 자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능을 제공
 - 사용자와 시스템 간의 편리한 인터페이스를 제공
 - 시스템의 각종 하드웨어와 네트워크를 관리·제어
 - 데이터를 관리하고 데이터 및 자원의 공유 기능을 제공
 - 시스템의 오류를 검사하고 복구

운영체제의 주요 자원 관리
 - 프로세스 관리
 - 기억장치 관리
 - 주변장치 관리
 - 파일 관리

8. 배치 프로그램의 필수 요소에 대한 설명으로 틀린 것은?

1. 자동화는 심각한 오류 상황 외에는 사용자의 개입 없이 동작해야 한다.

2. 안정성은 어떤 문제가 생겼는지, 언제 발생했는지 등을 추적할 수 있어야 한다.

3. 대용량 데이터는 대용량의 데이터를 처리할 수 있어야 한다.

4. 무결성은 주어진 시간 내에 처리를 완료할 수 있어야 하고, 동시에 동작하고 있는 다른 애플리케이션을 방해하지 말아야 한다.


9. TCP 프로토콜에 대한 설명으로 거리가 먼 것은?

1. 신뢰성 있는 연결 지향형 전달 서비스이다.

2. 기본 헤더 크기는 100byte이고 160byte까지 확장 가능하다.

3. 스트림 전송 기능을 제공한다.

4. 순서제어, 오류제어, 흐름제어 기능을 제공한다.


10. 다음이 설명하는 응집도의 유형은?

모듈이 다수의 관련 기능을 가질 때 모듈안의 구성 요소들이 그 기능을 순차적으로 수행할 경우의 응집도

1. 기능적 응집도

2. 우연적 응집도

3. 논리적 응집도

4. 절차적 응집도

1. 기능적 응집도 : 모듈 내부의 모든 기능 요소들이 단일 문제와 연관되어 수행될 경우의 응집도
2. 우연적 응집도 : 모듈 내부의 각 구성 요소들이 서로 관련 없는 요소로만 구성된 경우의 응집도
3. 논리적 응집도 : 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 하나의 모듈이 형성되는 경우의 응집도

11. OSI-7 Layer에서 링크의 설정과 유지 및 종료를 담당하며, 노드간의 오류제어와 흐름제어 기능을 수행하는 계층은?

1. 데이터링크 계층

2. 물리 계층

3. 세션 계층

4. 응용 계층


12. 다음 중 가장 결합도가 강한 것은?

1. data coupling

2. stamp coupling

3. common coupling

4. control coupling

Data Coupling | Stamp Coupling | Control Coupling | External Coupling | Common Coupling | Content Coupling
결합도 약함<---------------------------------------------------------------------------------------------->결합도 강함



13. 메모리 관리 기법 중 Worst fit 방법을 사용할 경우 10k 크기의 프로그램 실행을 위해서는 어느 부분에 할당되는가?

영역번호 메모리크기 사용여부
NO.1 8K FREE
NO.2 12K FREE
NO.3 10K IN USE
NO.4 20K IN USE
NO.5 16K FREE

1. NO.2

2. NO.3

3. NO.4

4. NO.5


14. 200.1.1.0/24 네트워크를 FLSM 방식을 이용하여 10개의 subnet으로 나누고 ip subnet zero를 적용했다. 이때 서브네팅된 네트워크 중 10번째 네트워크의 broadcase IP 주소는?

1. 200.1.1.159

2. 201.1.5.175

3. 202.1.11.254

4. 203.1.255.245


15. 다음은 사용자로부터 입력받은 문자열에서 처음과 끝의 3글자를 추출한 후 합쳐서 출력하는 파이썬 코드에서 ㄱ에 들어갈 내용은?

string = input("7문자 이상 문자열을 입력하시오 :")
m = (          ㄱ          )
print(m)
입력값 : Hello World
최종 출력 : Helrld

1. string[1:3] + string[-3:]

2. string[:3] + string[-3:-1]

3. string[0:3] + string[-3:]

4. string[0:] + string[:-1]


16. 파이썬의 변수 작성 규칙 설명으로 옳지 않은 것은?

1. 첫 자리에 숫자를 사용할 수 없다.

2. 영문 대문자/소문자, 숫자, 밑줄(_)의 사용이 가능하다.

3. 변수 이름의 중간에 공백을 사용할 수 있다.

4. 이미 사용되고 있는 예약어는 사용할 수 없다.


17. 어떤 모듈이 다른 모듈의 내부 논리 조직을 제어하기 위한 목적으로 제어신호를 이용하여 통신하는 경우이며, 하위 모듈에서 상위 모듈로 제어 신호가 이동하여 상위 모듈에게 처리 명령을 부여하는 권리 전도현상이 발생하게 되는 결합도는?

1. data coupling

2. stamp coupling

3. control coupling

4. common cpupling

1. data coupling
 - 모듈 간의 인터페이스가 자료 요소로만 구성될 때의 결합도
 - 어떤 모듈이 다른 모듈을 호출하면서 매개 변수나 인수로 데이터를 넘겨주고 호출 받은 모듈은 받은 데이터에 대한 처리 결과를 다시 돌려주는 방식

2. Stamp Coupling
 - 모듈 간의 인터페이스로 배열이나 레코드 등의 자료 구조가 전달될 때의 결합도이다.
 - 두 모듈이 동일한 자료 구조를 조회하는 경우의 결합도이며, 자료 구조의 어떠한 변화, 즉 포맷이나 구조의 변화는 그것을 조회하는 모든 모듈 및 변화되는 필드를 실제로 조회하지 않는 모듈에까지도 영향을 미치게 됨.

4. common Coupling
 - 공유되는 공통 데이터 영역을 여러 모듈이 사용할 때의 결합도
 - 공통 데이터 영역의 내용을 조금만 변경하더라도 이를 사용하는 모듈에 영향을 미치므로 모듈의 독립성을 약하게 만듬

18. 다음 C프로그램의 결과 값은?

main(void) {
int i;
int sum = 0;
for(i = 1; i<=10; i=i+2)
   sum = sum + i;
printf("%d" , sum)
}

1. 15

2. 19

3. 25

4. 27


19. UNIX에서 새로운 프로세스를 생성하는 명령어는?

1. ls

2. cat

3. fork

4. chmod

ls
 - 디렉터리 목록을 출력

cat
 - 텍스트 파일 내용을 출력

chmod
 - 파일의 접근 권한을 변경

20. C언어에서 정수 자료형으로 옳은 것은?

1. int

2. float

3. char

4. double

float : 실수형
char : 문자형
double : 실수형