9급 지방직 공무원 서울시 컴퓨터일반 필기 기출문제복원 (2015-06-13)

9급 지방직 공무원 서울시 컴퓨터일반
(2015-06-13 기출문제)

목록

1. 다른 컴퓨터 시스템들과의 통신이 개방된 시스템 간의 연결을 다루는 OSI 모델에서 <보기>가 설명하는 계층은?

  1. 데이터 링크 계층
  2. 물리 계층
  3. 전송 계층
  4. 표현 계층
(정답률: 59%)
  • 이미지에서 보이는 것은 네트워크 인터페이스 카드(NIC)와 같은 하드웨어적인 부분으로, 이는 물리 계층에서 다루는 부분입니다. 하지만, OSI 모델에서는 데이터 링크 계층에서는 이러한 하드웨어적인 부분을 다루면서, 물리 계층과 상호작용합니다. 따라서, 이미지에서 보이는 NIC와 같은 하드웨어적인 부분을 다루는 계층은 데이터 링크 계층입니다.
profile_image
1

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

2. 가상기억장치(virtual memory)에 대한 설명으로 가장 옳은 것은?

  1. 가상기억장치를 사용하면 메모리 단편화가 발생하지 않는다.
  2. 가상기억장치는 실기억장치로의 주소변환 기법이 필요하다.
  3. 가상기억장치의 참조는 실기억장치의 참조보다 빠르다.
  4. 페이징 기법은 가변적 크기의 페이지 공간을 사용한다.
(정답률: 73%)
  • 가상기억장치는 물리적인 실기억장치보다 큰 용량을 제공하기 위해 디스크를 이용하는 기술입니다. 이를 위해서는 물리적인 메모리와 디스크 사이에서 데이터를 주고받아야 하며, 이를 위해 가상기억장치는 실기억장치로의 주소변환 기법이 필요합니다. 이 기법은 가상주소를 물리주소로 변환하는 과정을 거치는데, 이를 통해 가상기억장치와 실기억장치 간의 데이터 교환을 가능하게 합니다.
profile_image
1

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

3. 스키마 R(A, B, C, D)와 함수적 종속 {A→B, A→C}을 가질 때 다음 중 BCNF 정규형은?

  1. S(A, B, C, D)
  2. S(A, B)와 T(A, C, D)
  3. S(A, C)와 T(A, B, D)
  4. S(A, B, C)와 T(A, D)
(정답률: 42%)
  • BCNF 정규형은 모든 결정자가 후보키인 관계 스키마를 말합니다.

    주어진 스키마 R에서 함수적 종속 {A→B, A→C}을 보면 A가 결정자이므로 A는 후보키가 될 수 있습니다. 따라서 R은 1NF를 만족합니다.

    그러나 BCNF를 만족하지 않습니다. 왜냐하면 B와 C는 A에 함수적으로 종속되어 있지만, B와 C는 서로 독립적인 속성이 아니기 때문입니다.

    따라서 R을 분해하여 BCNF를 만족하는 스키마를 만들어야 합니다.

    보기 중 "S(A, B, C)와 T(A, D)"가 정답입니다. 이유는 다음과 같습니다.

    - S(A, B, C)는 A를 후보키로 가지며, 함수적 종속 {A→B, A→C}을 만족합니다.
    - T(A, D)는 A를 후보키로 가지며, R에서 D는 A에 함수적 종속되지 않으므로 T는 BCNF를 만족합니다.
    - 또한 S와 T를 합치면 원래의 스키마 R을 얻을 수 있습니다.

    따라서 S와 T로 R을 분해하면 BCNF를 만족하는 스키마를 얻을 수 있습니다.
profile_image
1

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

4. 해싱(hashing)에 대한 설명으로 옳지 않은 것은?

  1. 검색 속도가 빠르며 삽입, 삭제의 빈도가 높을 때 유리한 방식이다.
  2. 해싱기법에는 숫자 분석법(digit analysis), 제산법(division), 제곱법(mid-square), 접지법(folding) 등이 있다.
  3. 충돌 시 오버플로(overflow) 해결의 부담이 과중되나, 충돌해결에 필요한 기억공간이 필요하지는 않다.
  4. 오버플로(overflow)가 발생했을 때 해결기법으로 개방 주소법(open addressing)과 폐쇄 주소법(close addressing)이 있다.
(정답률: 62%)
  • 해싱 기법은 충돌이 발생할 경우 충돌을 해결하기 위한 기억 공간이 필요하며, 이는 충돌 해결의 부담이 된다. 따라서 "충돌 시 오버플로(overflow) 해결의 부담이 과중되나, 충돌해결에 필요한 기억공간이 필요하지는 않다."는 옳지 않은 설명이다.
profile_image
1

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

5. 다음 IPv4에 대한 설명 중 올바른 것은?

  1. 주소는 6바이트 크기로 되어 있다.
  2. 하나의 패킷에는 출발지주소와 목적지주소가 포함되어 있다.
  3. 주소 공간은 3바이트 네트워크 주소 부분과 3바이트 호스트 주소 부분으로 나누어진다.
  4. 스위치는 IPv4주소를 사용하여 해당 패킷이 어느 포트로 이동해야 할지 결정한다.
(정답률: 72%)
  • 정답은 "하나의 패킷에는 출발지주소와 목적지주소가 포함되어 있다."입니다. 이는 IPv4 프로토콜에서 패킷의 헤더에 출발지 IP 주소와 목적지 IP 주소가 포함되어 있기 때문입니다. 이를 통해 패킷이 어디서 출발했고, 어디로 가야 하는지를 식별할 수 있습니다. 나머지 보기는 IPv4 주소의 구성과 관련된 내용입니다.
profile_image
1

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

6. 다중 쓰레드(multi thread) 프로그래밍을 할 때 다음 C언어의 변수들 중에서 임계구역(critical section)에 해당하는 것은?

  1. 매크로변수(macro variable)
  2. 지역변수(local variable)
  3. 함수인자(argument)
  4. 전역변수(global variable)
(정답률: 71%)
  • 임계구역은 여러 쓰레드가 동시에 접근할 수 있는 공유 자원을 보호하기 위해 동기화가 필요한 코드 영역을 말합니다. 이 때, 전역변수는 모든 쓰레드에서 접근 가능하므로 동기화가 필요한 임계구역에서는 전역변수를 사용해야 합니다. 지역변수나 함수인자는 해당 함수 내에서만 접근 가능하므로 다른 쓰레드에서 접근할 수 없습니다. 매크로변수는 컴파일 시간에 처리되므로 쓰레드와는 관련이 없습니다. 따라서, 정답은 "전역변수(global variable)"입니다.
profile_image
1

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

7. 입력값으로 5, 2, 3, 1, 8이 주어졌을 때 버블 정렬(bubble sort)의 1회전(pass) 결과는?

  1. 1, 2, 3, 5, 8
  2. 2, 3, 1, 5, 8
  3. 2, 5, 3, 1, 8
  4. 8, 5, 3, 2, 1
(정답률: 77%)
  • 1회전(pass) 결과는 "2, 3, 1, 5, 8" 입니다.

    버블 정렬은 인접한 두 원소를 비교하여 큰 값을 뒤로 보내는 정렬 알고리즘입니다.

    1회전에서는 5와 2를 비교하여 2가 더 작으므로 위치를 바꿔줍니다. 이후 5와 3을 비교하여 위치를 바꿔주고, 5와 1을 비교하여 위치를 바꿔줍니다. 마지막으로 5와 8을 비교하여 위치를 바꿔주지 않습니다.

    따라서 1회전 후 배열의 상태는 "2, 3, 1, 5, 8"이 됩니다.
profile_image
1

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

8. 데이터 링크 계층에서 전송 오류를 해결하는 과정에서 사용하는 프레임(frame)의 종류가 아닌 것은?

  1. 부정 응답 프레임
  2. 비트 프레임
  3. 긍정 응답 프레임
  4. 정보 프레임
(정답률: 48%)
  • 비트 프레임은 데이터 링크 계층에서 전송 오류를 해결하는 과정에서 사용하는 프레임의 종류가 아닙니다. 이유는 비트 프레임은 데이터를 전송하는 것이 아니라, 데이터 링크 계층에서 사용하는 제어 프레임 중 하나로, 수신 측에서 송신 측으로부터 받은 프레임의 오류 여부를 확인하는 용도로 사용됩니다. 따라서, 전송 오류를 해결하는 과정에서 사용하는 프레임의 종류는 부정 응답 프레임, 긍정 응답 프레임, 정보 프레임입니다.
profile_image
1

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

9. 현재 사용되는 PC에서와 같이, 일반적인 폰-노이만 방식의 중앙처리장치에 대한 설명으로 옳지 않은 것은?

  1. 중앙처리장치의 중요 구성요소는 산술논리장치(ALU)와 제어부(CU)이다.
  2. 산술논리장치의 계산 결과는 레지스터에 저장된다.
  3. 중앙처리장치에 연결된 어드레스 버스는 단방향 통신을 지원한다.
  4. 중앙처리장치와 주기억장치 사이의 통신은 대부분 DMA방식으로 처리된다.
(정답률: 50%)
  • "중앙처리장치와 주기억장치 사이의 통신은 대부분 DMA방식으로 처리된다."가 옳지 않은 것은, 일반적으로 중앙처리장치와 주기억장치 사이의 통신은 DMA 방식이 아닌 버스(bus) 방식으로 처리된다는 것입니다. DMA 방식은 주변장치와 주기억장치 사이의 데이터 전송에서 사용되는 방식입니다.

    중앙처리장치와 주기억장치 사이의 통신이 버스 방식으로 처리되는 이유는, 버스 방식이 간단하고 효율적이기 때문입니다. 버스는 여러 개의 선으로 이루어져 있으며, 이를 통해 데이터와 제어 신호를 주고받습니다. 이에 비해 DMA 방식은 별도의 제어장치가 필요하고, 복잡한 구조를 가지기 때문에 구현이 어렵고 비용이 높아집니다. 따라서 일반적으로 중앙처리장치와 주기억장치 사이의 통신은 버스 방식으로 처리됩니다.
profile_image
1

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

10. 다음 C프로그램을 실행한 결과로 옳은 것은?

  1. nanoit
  2. nation
  3. noitan
  4. notian
(정답률: 50%)
  • 다음 C프로그램은 문자열 "notian"을 거꾸로 출력하는 프로그램입니다. 따라서 정답은 "notian"입니다.
profile_image
1

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

11. 다음 중 컴퓨터 내부에서 제어장치의 구성 요소에 해당되지 않는 것은?

  1. 메모리 버퍼 레지스터
  2. 세그먼트 포인터
  3. 프로그램 카운터
  4. 명령어 레지스터
(정답률: 83%)
  • 세그먼트 포인터는 제어장치의 구성 요소가 아니라 메모리 관리 유틸리티의 일부입니다. 제어장치는 프로그램 카운터와 명령어 레지스터를 사용하여 명령어를 실행하고, 메모리 버퍼 레지스터를 사용하여 데이터를 읽고 쓰며, 이를 통해 컴퓨터 시스템을 제어합니다.
profile_image
1

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

12. 교착상태(deadlock)를 해결할 수 있는 방법으로 적당하지 않은 것은?

  1. 프로세스들이 필요로 하는 자원에 대해 배타적인 통제권을 갖게 한다.
  2. 자원에 선형으로 고유번호를 할당하고, 각 프로세스는 현재 점유한 자원의 고유번호보다 큰 번호 방향으로만 자원을 요구하도록 한다.
  3. 한 프로세스가 실행되는 데 필요한 모든 자원을 할당한 후 실행시킨다.
  4. 자원을 점유하고 있는 프로세스가 다른 자원을 요구할 때, 점유하고 있는 자원을 반납하고 요구하도록 한다.
(정답률: 45%)
  • 정답은 "프로세스들이 필요로 하는 자원에 대해 배타적인 통제권을 갖게 한다."입니다.

    교착상태를 해결하기 위해서는 다음과 같은 방법들이 있습니다.

    1. 자원에 선형으로 고유번호를 할당하고, 각 프로세스는 현재 점유한 자원의 고유번호보다 큰 번호 방향으로만 자원을 요구하도록 한다.
    2. 한 프로세스가 실행되는 데 필요한 모든 자원을 할당한 후 실행시킨다.
    3. 자원을 점유하고 있는 프로세스가 다른 자원을 요구할 때, 점유하고 있는 자원을 반납하고 요구하도록 한다.
    4. 프로세스들이 필요로 하는 자원에 대해 배타적인 통제권을 갖게 한다.

    위의 방법들 중에서 "프로세스들이 필요로 하는 자원에 대해 배타적인 통제권을 갖게 한다."는 적당하지 않은 방법입니다. 이 방법은 교착상태를 해결하는 것이 아니라, 교착상태를 유발할 가능성이 높아지기 때문입니다. 교착상태는 각 프로세스가 자원을 점유하고 다른 자원을 요구하는 상황에서 발생하는데, 이 방법은 각 프로세스가 자원을 배타적으로 점유하게 되므로 다른 프로세스가 해당 자원을 요구할 수 없게 됩니다. 따라서 이 방법은 교착상태를 해결하는 것이 아니라, 오히려 교착상태를 유발할 가능성이 높아지는 방법입니다.
profile_image
1

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

13. 소프트웨어 프로토타이핑(prototyping)에 대한 설명으로 옳지 않은 것은?

  1. 개발자가 구축할 소프트웨어의 모델을 사전에 만드는 공정으로서 요구사항을 효과적으로 유도, 수집한다.
  2. 프로토타이핑에 의해 만들어진 프로토타입은 폐기될 수 있고, 재사용될 수도 있다.
  3. 프로토타입은 기능적으로 제품의 하위 기능을 담당하는 작동 가능한 모형이다.
  4. 적용사례가 많고, 가장 오래됐으며 널리 사용되는 방법으로 결과물이 명확하므로 가시성이 매우 좋다.
(정답률: 62%)
  • 적용사례가 많고, 가장 오래됐으며 널리 사용되는 방법으로 결과물이 명확하므로 가시성이 매우 좋다. 이 설명은 옳은 설명입니다.
profile_image
1

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

14. 다음 데이터베이스에 관한 설명 중 옳은 것은?

  1. 개념스키마는 개체 간의 관계와 제약 조건을 정의한다.
  2. 데이터베이스는 응용프로그램의 네트워크 종속성을 해결한다.
  3. 데이터의 논리적 구조가 변경되어도 응용프로그램은 변경되지 않는 속성을 물리적 데이터 독립성이라고 한다.
  4. 외부스키마는 물리적 저장장치와 밀접한 계층이다.
(정답률: 30%)
  • 개념스키마는 데이터베이스에서 가장 높은 수준의 논리적 구조로, 개체 간의 관계와 제약 조건을 정의하는 역할을 합니다. 이는 데이터베이스의 전체적인 구조를 결정하며, 이를 기반으로 다른 스키마들이 생성됩니다. 따라서 개념스키마는 데이터베이스 설계의 핵심이 되는 스키마입니다.
profile_image
1

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

15. 'A', 'B', 'L', 'E' 순서로 문자들을 이진 탐색 트리(Binary Search Tree)에 추가했을 때 결과 트리의 깊이(depth)는? (단, 트리의 깊이는 트리에 속한 노드의 최대 레벨을 의미하며, 루트 노드의 레벨은 1로 정의한다.)

  1. 3
  2. 4
  3. 2
  4. 1
(정답률: 53%)
  • 이진 탐색 트리는 왼쪽 서브트리는 루트보다 작은 값, 오른쪽 서브트리는 루트보다 큰 값으로 구성된다. 따라서 'A'를 루트로 추가하면, 'B'는 오른쪽 서브트리에 추가되고, 'L'은 왼쪽 서브트리에 추가된다. 마지막으로 'E'를 추가하면 'B'의 왼쪽 서브트리에 추가된다. 이렇게 구성된 트리의 깊이는 4이다.

    보기에서는 순서가 '3', '4', '2', '1'로 주어졌는데, 이 순서대로 이진 탐색 트리를 구성하면 깊이가 3이 된다. 이유는 '3'을 루트로 추가하면, '4'는 오른쪽 서브트리에 추가되고, '2'는 왼쪽 서브트리에 추가된다. 마지막으로 '1'을 추가하면 '2'의 왼쪽 서브트리에 추가된다. 따라서 깊이는 3이 된다.
profile_image
1

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

16. 다음 중 값이 나머지 셋과 다른 것은?

  1. 10진수 436.625
  2. 8진수 (664.5)8
  3. 16진수 (1B4.C)16
  4. 10진수 0.436625×103
(정답률: 58%)
  • 나머지 값들은 모두 10진수로 표현 가능하지만, 16진수 (1B4.C)16는 10진수로 변환하면 436.75가 되기 때문에 나머지 값들과 다릅니다.
profile_image
1

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

17. 다음 중 인터럽트 입출력 제어방식은?

  1. 입출력을 하기 위해 CPU가 계속 Flag를 검사하고, 자료전송도 CPU가 직접 처리하는 방식이다.
  2. 입출력을 하기 위해 CPU가 계속 Flag를 검사할 필요가 없고, 대신 입출력 인터페이스가 CPU에게 데이터 전송준비가 되었음을 알리고 자료전송은 CPU가 직접 처리하는 방식이다.
  3. 입출력 장치가 직접 주기억장치를 접근하여 Data Block을 입출력하는 방식으로, 입출력 전송이 CPU 레지스터를 경유하지 않고 수행된다.
  4. CPU의 관여 없이 채널 제어기가 직접 채널 명령어로 작성된 프로그램을 해독하고 실행하여 주기억장치와 입출력장치 사이에서 자료전송을 처리하는 방식이다.
(정답률: 45%)
  • "입출력을 하기 위해 CPU가 계속 Flag를 검사할 필요가 없고, 대신 입출력 인터페이스가 CPU에게 데이터 전송준비가 되었음을 알리고 자료전송은 CPU가 직접 처리하는 방식"은 DMA(Direct Memory Access) 방식입니다. 입출력 인터페이스가 CPU에게 데이터 전송 준비가 되었음을 알리면 CPU는 해당 작업을 처리하기 위해 대기하지 않고 다른 작업을 수행할 수 있습니다. 이 방식은 CPU의 부담을 줄이고 입출력 속도를 높일 수 있습니다.
profile_image
1

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

18. 소프트웨어 설계의 원칙으로 옳지 않은 것은?

  1. 상세설계로 갈수록 추상화 수준은 증가한다.
  2. 계층적 조직이 제시되며, 모듈적이어야 한다.
  3. 설계는 분석 모델까지 추적이 가능하도록 한다.
  4. 요구사항 분석에서 얻은 정보를 이용하여 반복적 방법을 통해 이루어져야 한다.
(정답률: 67%)
  • "상세설계로 갈수록 추상화 수준은 증가한다."가 옳지 않은 것은, 상세설계는 구체적인 구현 단계이므로 추상화 수준이 낮아지기 때문입니다. 추상화는 일반적인 개념을 추출하는 과정이며, 상세설계는 이를 실제 코드로 구현하는 단계이므로 구체화되는 과정입니다. 따라서 상세설계로 갈수록 추상화 수준은 낮아지게 됩니다.
profile_image
1

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

19. 다음 웹 캐시에 대한 설명 중 옳은 것은?

  1. 웹에서 사용자의 상태 정보를 보관하기 위한 것이다.
  2. 캐시 정보를 찾기 위한 방법으로 iterative와 recursive방법이 있다.
  3. 웹 사용자에게 데이터를 더 빠르게 전달할 수 있다.
  4. 인터넷을 이용한 전자상거래에서 쇼핑카트나 추천 등에 사용할 수 있다.
(정답률: 39%)
  • 웹 캐시는 이전에 요청한 데이터를 저장해두고, 다음에 같은 요청이 들어오면 저장된 데이터를 제공함으로써 웹 사용자에게 데이터를 더 빠르게 전달할 수 있습니다. 이는 네트워크 대역폭을 절약하고, 서버의 부하를 줄여서 전체적인 성능을 향상시키는 효과도 있습니다.
profile_image
1

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

20. 다음의 C프로그램을 실행한 결과로 옳은 것은? (단, 아래의 scanf() 함수의 입력으로 90을 타이핑했다고 가정)

  1. 10, 20, 10
  2. 10, 20, 90
  3. 90, 20, 10
  4. 90, 20, 90
(정답률: 67%)
  • 정답은 "90, 20, 90"입니다.

    이유는 다음과 같습니다.

    1. 먼저 scanf() 함수를 통해 입력받은 값 90이 변수 a에 저장됩니다.

    2. if문에서 a가 100보다 크거나 같은지 검사합니다. a가 90이므로 이 조건은 거짓이 됩니다.

    3. else if문에서 a가 80보다 크거나 같은지 검사합니다. a가 90이므로 이 조건은 참이 됩니다.

    4. 따라서 printf() 함수에서 "90, "이 출력됩니다.

    5. 두 번째 if문에서 b가 20보다 작은지 검사합니다. b는 초기값으로 10이 설정되어 있으므로 이 조건은 거짓이 됩니다.

    6. else if문에서 b가 30보다 작은지 검사합니다. b는 초기값으로 10이 설정되어 있으므로 이 조건은 참이 됩니다.

    7. 따라서 printf() 함수에서 "20, "이 출력됩니다.

    8. 마지막으로 printf() 함수에서 "90"이 출력됩니다.

    따라서 출력 결과는 "90, 20, 90"이 됩니다.
profile_image
1

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

< 이전회차목록