9급 국가직 공무원 컴퓨터일반 필기 기출문제복원 (2017-10-21)

9급 국가직 공무원 컴퓨터일반
(2017-10-21 기출문제)

목록

1. TCP(Transmission Control Protocol)와 IP(Internet Protocol)에 대한 설명으로 옳지 않은 것은?

  1. TCP는 호스트 사이에 신뢰성 있는 스트림(stream) 전송 서비스를 제공한다.
  2. IP는 수신 측 IP 주소를 바탕으로 라우팅 테이블을 갱신한다.
  3. TCP는 연결 지향형 프로토콜로서 실제 데이터를 전송하기 전에 연결을 설정한다.
  4. IP는 신뢰성을 보장하지 않는 비연결 지향형 프로토콜이다.
(정답률: 50%)
  • IP는 수신 측 IP 주소를 바탕으로 라우팅 테이블을 갱신하지 않는다. IP는 패킷을 전달하기 위해 최적의 경로를 찾기 위해 라우팅 테이블을 사용하지만, 이 테이블은 라우터에서 관리되며 수신 측 IP 주소와는 무관하다. 따라서 "IP는 수신 측 IP 주소를 바탕으로 라우팅 테이블을 갱신한다."는 옳지 않은 설명이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

2. IPv4 주소를 클래스별로 분류했을 때, C 클래스에 해당하는 것은?

  1. 12.34.56.78
  2. 111.11.11.11
  3. 123.12.31.12
  4. 222.22.22.22
(정답률: 75%)
  • IPv4 주소는 A, B, C, D, E 클래스로 분류됩니다. C 클래스는 첫 번째 옥텟이 192~223 범위에 속하며, 네트워크 ID는 24비트, 호스트 ID는 8비트로 구성됩니다. 따라서 "222.22.22.22"는 첫 번째 옥텟이 192~223 범위에 속하므로 C 클래스에 해당하며, 네트워크 ID는 "222.22.22"이고 호스트 ID는 "22"입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

3. 운영체제의 스케줄링 기법에 대한 설명으로 옳지 않은 것은?

  1. FCFS(First-Come-First-Served) 스케줄링은 비선점(nonpreemptive)방식으로 실행 중인 프로세스가 종료하면 준비큐에서 가장 오래 대기한 프로세스를 다음 실행 프로세스로 선정한다.
  2. RR(Round-Robin) 스케줄링은 선점(preemptive) 방식으로 프로세스를 정해진 시간 할당량만큼 실행 후 종료하지 못하면 준비 큐로 이동시킨다.
  3. 비선점 SJF(Shortest-Job-First) 스케줄링은 준비 큐에서 예상 전체 실행시간이 가장 짧은 프로세스를 다음 실행프로세스로 선정한다.
  4. 선점 SJF 스케줄링은 SRTF(Shortest-Remaining-Time-First)스케줄링이라고 불리며 비선점 SJF 스케줄링에서 발생할 수 있는 기아상태(starvation) 문제를 해결한다.
(정답률: 71%)
  • 선점 SJF 스케줄링은 SRTF(Shortest-Remaining-Time-First)스케줄링이라고 불리며 비선점 SJF 스케줄링에서 발생할 수 있는 기아상태(starvation) 문제를 해결한다. (이 설명은 옳은 설명입니다.)

    선점 SJF 스케줄링은 실행 중인 프로세스의 남은 실행시간을 고려하여 우선순위를 결정하고, 실행 중인 프로세스의 남은 실행시간이 준비 큐에 있는 다른 프로세스의 예상 실행시간보다 짧을 경우, 실행 중인 프로세스를 선점하고 다음 실행 프로세스로 선택합니다. 이렇게 함으로써, 예상 실행시간이 짧은 프로세스가 먼저 실행되어 기아상태 문제를 해결할 수 있습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

4. 가상 객체와 실세계를 접목하여 현실감 있는 정보를 제공하는 기술은?

  1. 지리정보 시스템(geographical information system)
  2. 증강현실(augmented reality)
  3. 생체인식(biometrics)
  4. 사물인터넷(Internet of Things)
(정답률: 95%)
  • 가상 객체와 실세계를 접목하여 현실감 있는 정보를 제공하는 기술은 증강현실이다. 다른 보기들은 각각 지리정보 시스템은 지리적 정보를 관리하고 분석하는 기술, 생체인식은 인체의 생리적 특징을 이용하여 개인을 인식하는 기술, 사물인터넷은 인터넷에 연결된 사물들이 서로 통신하고 정보를 교환하는 기술이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

5. 10진수 -11을 5비트 2진수로 표현한 것은? (단, 부호 있는(signed)2진수는 2의 보수로 표현된다)

  1. 10101
  2. 11101
  3. 01101
  4. 10100
(정답률: 82%)
  • -11을 2진수로 표현하면 1011이 된다. 부호 있는 2진수에서 음수는 2의 보수로 표현되므로, 1011의 2의 보수를 구해야 한다.

    1. 1011의 1의 보수를 구한다.
    1011 -> 0100

    2. 1의 보수에 1을 더한다.
    0100 + 1 = 0101

    따라서, -11을 5비트 2진수로 표현한 것은 10101이 된다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

6. 다음 그래프의 정점 A에서부터 깊이 우선 탐색(DFS: Depth First Search)과 너비 우선 탐색(BFS: Breadth First Search)을 수행할 때, 방문 순서를 옳게 짝지은 것은? (단, 방문하지 않은 인접 정점이 2개 이상인 경우 알파벳 오름차순으로 방문한다)

  1. DFS : A-B-D-G-F-C-E
    BFS : A-B-C-D-E-F-G
  2. DFS : A-B-D-G-F-C-E
    BFS : A-B-C-D-E-G-F
  3. DFS : A-B-D-G-E-C-F
    BFS : A-B-C-D-E-F-G
  4. DFS : A-B-D-G-E-C-F
    BFS : A-B-C-D-E-G-F
(정답률: 50%)
  • DFS는 깊이 우선 탐색으로, 한 정점에서 시작하여 가능한 한 깊이 탐색한 후 다시 돌아와 다음 정점을 탐색하는 방식입니다. 따라서 A에서 시작하여 B로 이동한 후, B에서 D로 이동하여 G까지 탐색한 후 다시 돌아와 E를 탐색하고, 마지막으로 C와 F를 탐색합니다. 이에 따라 방문 순서는 A-B-D-G-E-C-F가 됩니다.

    BFS는 너비 우선 탐색으로, 한 정점에서 시작하여 인접한 정점을 모두 탐색한 후 그 다음 인접한 정점을 탐색하는 방식입니다. 따라서 A에서 시작하여 B와 C를 탐색한 후, B에서 D와 E를 탐색하고, C에서 F를 탐색한 후 마지막으로 G를 탐색합니다. 이에 따라 방문 순서는 A-B-C-D-E-G-F가 됩니다.

    따라서 정답은 "DFS : A-B-D-G-E-C-F, BFS : A-B-C-D-E-G-F"입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

7. 다음 후위(postfix) 표기식을 전위(prefix) 표기식으로 바꾼 것은? (단, 표기식에서 +, -, *, /는 연산자이고 A, B, C, D, E는 피연산자이다)

  1. - + A * / B C D E
  2. - / * + A B C D E
  3. + / * - A B C D E
  4. - + A / * B C D E
(정답률: 82%)
  • 후위 표기식을 전위 표기식으로 바꾸는 방법은 다음과 같습니다.

    1. 후위 표기식을 뒤에서부터 읽어나가면서 연산자를 만나면 해당 연산자를 기준으로 그 앞에 있는 두 개의 피연산자를 괄호로 묶습니다.
    2. 이 과정을 모든 연산자에 대해 반복하면 전위 표기식이 완성됩니다.

    따라서, 주어진 후위 표기식을 전위 표기식으로 바꾸면 다음과 같습니다.

    1. 뒤에서부터 읽어나가면서 연산자를 만나면 해당 연산자를 기준으로 그 앞에 있는 두 개의 피연산자를 괄호로 묶습니다.
    2. 이 과정을 모든 연산자에 대해 반복하면 전위 표기식이 완성됩니다.

    따라서, 주어진 후위 표기식을 전위 표기식으로 바꾸면 다음과 같습니다.

    - + A / * B C D E

    먼저, 뒤에서부터 읽어나가면서 연산자를 만나면 해당 연산자를 기준으로 그 앞에 있는 두 개의 피연산자를 괄호로 묶습니다.

    - + A / * B C D E
    - + A / * B C (D E)
    - + A / (* B C) (D E)
    - - (+ A (/ (* B C) (D E)))

    따라서, 정답은 "- + A / * B C D E" 입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

8. 가상 기억장치 기술에 대한 설명으로 옳지 않은 것은?

  1. 가상 주소(virtual address)에서 물리 주소(physical address)로의 주소 변환(address translation)이 이루어진다.
  2. 가상 주소와 물리 주소의 비트 수가 서로 다를 수 있다.
  3. 다중 프로그래밍 정도(degree of multiprogramming)가 높아짐에 따라 CPU 이용률(utilization)은 계속 높아진다.
  4. 서로 다른 프로세스가 동일한 물리 기억장치 영역을 공유할 수 있다.
(정답률: 65%)
  • 다중 프로그래밍 정도(degree of multiprogramming)가 높아짐에 따라 CPU 이용률(utilization)은 계속 높아진다는 설명이 옳지 않습니다. 이는 가상 기억장치 기술과는 관련이 없는 내용이며, 다중 프로그래밍 정도가 높아질수록 CPU 이용률이 높아진다는 것은 일반적으로 맞지만, 가상 기억장치 기술과는 직접적인 연관성이 없습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

9. 다음 2진 표현이 나타내는 IEEE 754 표준 단정도(single precision) 부동소수점 수의 값은?

  1. +5.3125(10)
  2. -26.625(10)
  3. +21.25(10)
  4. -13.3125(10)
(정답률: 57%)
  • 이진수로 변환하면 1 10000011 10101010000000000000000 이다.

    부호비트는 1이므로 음수이다.

    지수부는 10000011 이므로 2^(131-127) = 2^4 = 16 이다.

    가수부는 1.10101010000000000000000 이다.

    소수점을 왼쪽으로 4번 이동하면 1101.0101 이다.

    부호비트와 지수부를 곱하면 -16 * 1101.0101 = -16 * (8+4+1+0.25+0.0625) = -16 * 13.3125 = -213.0000 이므로

    -26.625(10) 이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

10. UNIX에서의 프로세스 간 통신(interprocess communication)에 대한 설명으로 옳지 않은 것은?

  1. 세마포어(semaphore) 동작은 중단될 수 없는 원자성을 가진다.
  2. 시그널(signal)은 커널 혹은 프로세스가 다른 프로세스에게 비동기적으로 특정 사건을 통지하는 데 사용된다.
  3. 지명 파이프(named pipe)를 통해 통신하는 프로세스 간에는 부모?자식 관계가 요구된다.
  4. 공유메모리(shared memory)에 대한 상호 배제(mutual exclusion)는 운영체제가 보장하지 않는다.
(정답률: 44%)
  • "지명 파이프(named pipe)를 통해 통신하는 프로세스 간에는 부모?자식 관계가 요구된다."가 옳지 않은 설명입니다. 지명 파이프를 통해 통신하는 프로세스 간에는 부모-자식 관계가 요구되지 않습니다. 지명 파이프는 파일 시스템에서 파일처럼 취급되며, 파일을 열고 읽고 쓰는 것과 같은 방식으로 프로세스 간 통신이 가능합니다. 따라서 부모-자식 관계와는 무관하게 다른 프로세스 간에도 통신이 가능합니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

11. 폭포수(waterfall) 모델의 변형으로 산출물보다는 각 개발 단계의 테스트에 중점을 두며, 테스트 활동이 분석 및 설계와 어떻게 관련되어 있는지 보여 주는 소프트웨어 개발 모델은?

  1. 나선형(spiral) 모델
  2. 단계적 개발(phased development) 모델
  3. 원형(prototyping) 모델
  4. V 모델
(정답률: 69%)
  • V 모델은 폭포수 모델의 변형으로, 각 개발 단계의 테스트에 중점을 두며, 테스트 활동이 분석 및 설계와 밀접하게 연관되어 있기 때문입니다. V 모델에서는 각 단계의 결과물에 대한 검증과 검증을 위한 테스트 계획 및 설계가 병행적으로 이루어지며, 이를 통해 초기에 발견된 결함을 빠르게 수정할 수 있습니다. 따라서 V 모델은 개발 초기에 결함을 발견하고 수정할 수 있는 장점이 있습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

12. 중앙처리장치와 주기억장치 사이에 있는 기억장치로서, 둘 사이의 속도 차이로 인한 컴퓨터 시스템 성능 저하를 경감하기 위한 것은?

  1. 캐시 기억장치
  2. 보조 기억장치
  3. ROM
  4. 레지스터
(정답률: 91%)
  • 캐시 기억장치는 중앙처리장치와 주기억장치 사이에 위치하여 빠른 속도로 데이터를 처리할 수 있는 기억장치입니다. 중앙처리장치가 필요한 데이터를 빠르게 가져와서 처리할 수 있도록 하기 때문에 컴퓨터 시스템의 성능을 향상시키는 역할을 합니다. 이에 반해 보조 기억장치는 주로 데이터를 장기적으로 저장하는 용도로 사용되며, ROM은 읽기 전용 메모리, 레지스터는 중앙처리장치 내부에 위치한 기억장치입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

13. 관계형 데이터베이스 언어인 SQL에 대한 설명으로 옳은 것은?

  1. 데이터 정의어(DDL)를 이용하여 데이터를 검색한다.
  2. 데이터 조작어(DML)를 이용하여 권한을 부여하거나 취소한다.
  3. DELETE 문은 테이블을 삭제하는 데 사용한다.
  4. SELECT 문에서 FROM 절은 필수 항목이고, WHERE 절은 선택 항목이다.
(정답률: 90%)
  • SQL은 관계형 데이터베이스에서 데이터를 검색, 추가, 수정, 삭제하는데 사용되는 언어이다. SELECT 문에서 FROM 절은 필수 항목이고, WHERE 절은 선택 항목인 이유는 데이터를 검색할 때 반드시 어떤 테이블에서 데이터를 가져올 것인지를 명시해야 하기 때문에 FROM 절이 필수이고, 데이터를 검색할 조건이 없을 경우 WHERE 절은 생략할 수 있기 때문이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

14. 삽입 정렬을 사용하여 자료를 오름차순으로 정렬한다. 초기 및 2회전 후의 자료가 다음과 같다면 4회전 후의 결과는?

  1. 2, 10, 16, 30, 69, 8, 31, 22
  2. 8, 2, 10, 30, 16, 69, 22, 31
  3. 16, 2, 10, 30, 69, 8, 22, 31
  4. 2, 10, 30, 69, 16, 8, 31, 22
(정답률: 79%)
  • 삽입 정렬은 현재 위치에서 그 이하의 배열을 비교하여 자신이 들어갈 위치를 찾아 삽입하는 방식으로 정렬하는 알고리즘이다.

    초기 배열은 [2, 10, 16, 30, 69, 8, 31, 22] 이다.

    1회전 후, 2를 제외한 첫 번째 원소인 10부터 시작하여 이전 원소와 비교하여 자신이 들어갈 위치를 찾는다. 2보다 크므로 그대로 둔다. 다음으로 16을 비교하여 10보다 크므로 그대로 둔다. 30도 마찬가지로 16보다 크므로 그대로 둔다. 69도 마찬가지로 30보다 크므로 그대로 둔다. 8은 69보다 작으므로 69과 자리를 바꾼다. 31은 69보다 작으므로 69과 자리를 바꾼다. 마지막으로 22는 69보다 작으므로 69과 자리를 바꾼다. 따라서 1회전 후의 배열은 [2, 8, 10, 16, 30, 31, 22, 69] 이다.

    2회전 후, 8을 제외한 첫 번째 원소인 10부터 시작하여 이전 원소와 비교하여 자신이 들어갈 위치를 찾는다. 2보다 크므로 그대로 둔다. 8도 마찬가지로 2보다 크므로 그대로 둔다. 16도 마찬가지로 8보다 크므로 그대로 둔다. 30도 마찬가지로 16보다 크므로 그대로 둔다. 31도 마찬가지로 30보다 크므로 그대로 둔다. 22는 31보다 작으므로 31과 자리를 바꾼다. 마지막으로 69는 31보다 크므로 그대로 둔다. 따라서 2회전 후의 배열은 [2, 8, 10, 16, 22, 30, 31, 69] 이다.

    4회전 후, 2를 제외한 첫 번째 원소인 8부터 시작하여 이전 원소와 비교하여 자신이 들어갈 위치를 찾는다. 2보다 크므로 그대로 둔다. 8도 마찬가지로 2보다 크므로 그대로 둔다. 10도 마찬가지로 8보다 크므로 그대로 둔다. 16도 마찬가지로 10보다 크므로 그대로 둔다. 22는 16보다 크므로 그대로 둔다. 30도 마찬가지로 22보다 크므로 그대로 둔다. 31도 마찬가지로 30보다 크므로 그대로 둔다. 마지막으로 69도 31보다 크므로 그대로 둔다. 따라서 4회전 후의 배열은 [2, 8, 10, 16, 22, 30, 31, 69] 이다.

    따라서 정답은 "2, 10, 16, 30, 69, 8, 31, 22"를 삽입 정렬을 사용하여 오름차순으로 정렬한 결과인 "2, 8, 10, 16, 22, 30, 31, 69"이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

15. 다음 Java 언어로 작성한 프로그램의 실행 결과는?

  1. 100
    0.0
  2. 100
    Array Index Out Of Bounds Exception
  3. 150
    Arithmetic Exception
  4. 150
    / by zero at Test.main(Test.java:14)
(정답률: 64%)
  • 이유는 int형 변수 a와 b를 선언하고 a를 100으로, b를 0으로 초기화한 후 a를 b로 나누려고 하기 때문에 Arithmetic Exception이 발생합니다. 이 예외는 0으로 나누기를 시도할 때 발생합니다. 따라서 출력 결과는 "150
    Arithmetic Exception"이 됩니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

16. TCP 헤더에 포함된 필드에 대한 설명으로 옳은 것만을 모두 고른 것은?

  1. ㄱ, ㄴ
  2. ㄱ, ㄷ
  3. ㄷ, ㄹ
  4. ㄴ, ㄹ
(정답률: 57%)
  • - Source Port (출발지 포트) : 송신자의 포트 번호를 나타냄. (ㄱ)
    - Destination Port (도착지 포트) : 수신자의 포트 번호를 나타냄. (ㄷ)
    - Sequence Number (순서 번호) : 전송되는 데이터의 순서를 나타냄. (ㄷ)
    - Acknowledgment Number (확인 응답 번호) : 수신자가 받은 데이터의 순서 번호를 나타냄. (ㄹ)

    따라서, 옳은 것은 "ㄱ, ㄷ"입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

17. 함수 수행을 위한 정보가 저장되는 프로세스 메모리 영역은?

  1. 데이터(data) 영역
  2. 힙(heap) 영역
  3. 스택(stack) 영역
  4. 텍스트(text) 영역
(정답률: 68%)
  • 함수 호출 시 함수의 매개변수, 지역변수, 복귀 주소 등의 정보가 저장되는 공간이 스택(stack) 영역이기 때문입니다. 스택은 후입선출(LIFO) 구조로 되어 있어 함수 호출이 끝나면 해당 함수에서 사용한 메모리 공간이 해제되고 이전에 호출된 함수로 복귀할 수 있습니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

18. 전가산기(FA: Full Adder)는 두 입력 A, B 및 입력캐리 Ci를 더해서 합 S와 출력캐리 Co를 만들어 내는 회로이다. 4개의 전가산기를 사용한 다음 연산기에서 오버플로우(overflow)가 발생한 경우가 아닌 것은?

  1. M = 0, Cout = 1, 부호 없는(unsigned) 연산으로 해석
  2. M = 1, Cout = 1, 부호 없는 연산으로 해석
  3. M = 0, V = 1, 2의 보수를 사용하는 부호 있는(signed) 연산으로 해석
  4. M = 1, V = 1, 2의 보수를 사용하는 부호 있는 연산으로 해석
(정답률: 28%)
  • 전가산기는 두 입력과 입력캐리를 더해서 합과 출력캐리를 만들어내는 회로이다. 이 문제에서는 4개의 전가산기를 사용한 다음 연산기에서 오버플로우가 발생한 경우가 아닌 것을 찾아야 한다.

    주어진 그림에서는 4개의 전가산기가 사용되었고, 입력 A와 B는 4비트로 구성되어 있다. 따라서 최대값인 1111(2진수) + 1111(2진수) = 11110(2진수)이 입력될 경우 오버플로우가 발생한다.

    보기 중에서 "M = 1, Cout = 1, 부호 없는 연산으로 해석"이 정답이다. 이유는 M이 1이라는 것은 부호 비트가 없다는 것을 의미하고, Cout가 1이라는 것은 출력캐리가 발생했다는 것을 의미한다. 따라서 입력 A와 B를 부호 없는(unsigned) 연산으로 해석하면 된다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

19. 다음 C 프로그램의 실행 결과는?

  1. 0
  2. 12
  3. 19
  4. 20
(정답률: 51%)
  • 이 프로그램은 먼저 x와 y를 각각 10으로 초기화합니다. 그리고 x와 y를 각각 1씩 증가시키면서, x가 12가 될 때까지 반복합니다. 그리고 x가 12가 되면, y를 1씩 증가시키면서, y가 20이 될 때까지 반복합니다. 따라서, x가 12가 되는 시점에서 y는 20이 됩니다. 따라서, 정답은 "20"입니다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

20. 운영체제가 프로세스(process)를 생성하는 과정을 순서대로 바르게 나열한 것은?

  1. ㄱ→ㄴ→ㄷ→ㄹ
  2. ㄱ→ㄷ→ㄹ→ㄴ
  3. ㄷ→ㄹ→ㄱ→ㄴ
  4. ㄷ→ㄹ→ㄴ→ㄱ
(정답률: 51%)
  • 1. 프로세스 생성 요청이 운영체제에게 들어온다. (ㄱ)
    2. 운영체제는 새로운 프로세스를 위한 PCB(Process Control Block)를 생성한다. (ㄴ)
    3. 새로운 프로세스의 코드와 데이터를 메모리에 할당한다. (ㄷ)
    4. PCB에 프로세스의 상태, 우선순위, 자원 사용 정보 등을 저장하고, 스케줄러에 의해 실행 대기 상태로 전환된다. (ㄹ)

    따라서, "ㄱ→ㄷ→ㄹ→ㄴ"이 정답이다.
profile_image
1

*오류신고 접수시 100포인트 지급해드립니다.

< 이전회차목록 다음회차 >