9급 국가직 공무원 컴퓨터일반 필기 기출문제복원 (2013-07-27)

9급 국가직 공무원 컴퓨터일반
(2013-07-27 기출문제)

목록

1. 객체 지향 프로그래밍에 대한 설명으로 옳지 않은 것은?

  1. 하나의 클래스를 사용하여 여러 객체를 생성하는데, 각각의 객체를 클래스의 인스턴스(instance)라고 한다.
  2. 객체는 속성(attributes)과 행동(behaviors)으로 구성된다.
  3. 한 클래스가 다른 클래스의 속성과 행동을 상속(inheritance) 받을 수 있다.
  4. 다형성(polymorphism)은 몇 개의 클래스 객체들을 묶어서 하나의 객체처럼 다루는 프로그래밍 기법이다.
(정답률: 85%)
  • 다형성(polymorphism)은 몇 개의 클래스 객체들을 묶어서 하나의 객체처럼 다루는 프로그래밍 기법이 아니라, 하나의 메소드나 클래스가 다양한 방식으로 동작하는 것을 의미하는 개념이다. 다형성은 상속과 인터페이스를 통해 구현되며, 같은 이름의 메소드나 클래스가 다른 동작을 수행할 수 있도록 하는 기능이다.
profile_image
1

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

2. 다음 두 이진수에 대한 NAND 비트(bitwise) 연산 결과는?

  1. 001100002
  2. 101110112
  3. 110011112
  4. 010001002
(정답률: 80%)
  • NAND 연산은 두 비트가 모두 1일 때 0을 반환하고, 그 외에는 1을 반환합니다. 따라서, 두 이진수를 NAND 연산하면 다음과 같습니다.

    1. 0 NAND 1 = 1
    2. 0 NAND 0 = 1
    3. 1 NAND 1 = 0
    4. 1 NAND 1 = 0
    5. 1 NAND 0 = 1
    6. 1 NAND 1 = 0
    7. 0 NAND 1 = 1
    8. 1 NAND 1 = 0

    따라서, 결과는 "110011112" 입니다.
profile_image
1

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

3. 컴퓨터의 입출력과 관련이 없는 것은?

  1. 폴링(polling)
  2. 인터럽트(interrupt)
  3. DMA(Direct Memory Access)
  4. 세마포어(semaphore)
(정답률: 81%)
  • 세마포어는 프로세스 동기화와 관련된 개념으로, 공유 자원에 대한 접근을 제어하기 위해 사용됩니다. 따라서 입출력과는 직접적인 연관이 없습니다. 반면 폴링, 인터럽트, DMA는 모두 컴퓨터의 입출력과 관련된 기술이며, 입출력 장치와의 효율적인 데이터 전송을 위해 사용됩니다.
profile_image
1

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

4. RAID 레벨 0에서 성능 향상을 위해 채택한 기법은?

  1. 미러링(mirroring) 기법
  2. 패리티(parity) 정보저장 기법
  3. 스트라이핑(striping) 기법
  4. 쉐도잉(shadowing) 기법
(정답률: 79%)
  • RAID 레벨 0에서는 데이터를 여러 개의 디스크에 분산하여 저장하는 스트라이핑(striping) 기법을 채택합니다. 이는 데이터를 동시에 여러 디스크에서 읽고 쓰기 때문에 입출력 속도가 빨라지는 장점이 있습니다. 하지만, 스트라이핑 기법은 데이터를 분산 저장하기 때문에 하나의 디스크가 고장나면 해당 디스크에 저장된 모든 데이터가 손실될 수 있다는 단점이 있습니다.
profile_image
1

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

5. 악성코드에 대한 설명으로 옳지 않은 것은?

  1. 파일 감염 바이러스는 대부분 메모리에 상주하며 프로그램 파일을 감염시킨다.
  2. 웜(worm)은 자신의 명령어를 다른 프로그램 파일의 일부분에 복사하여 컴퓨터를 오동작하게 하는 종속형 컴퓨터 악성코드이다.
  3. 트로이 목마는 겉으로 보기에 정상적인 프로그램인 것 같으나 악성코드를 숨겨두어 시스템을 공격한다.
  4. 매크로 바이러스는 프로그램에서 어떤 작업을 자동화하기 위해 정의한 내부 프로그래밍 언어를 사용하여 데이터 파일을 감염시킨다.
(정답률: 75%)
  • 옳지 않은 설명은 "웜(worm)은 자신의 명령어를 다른 프로그램 파일의 일부분에 복사하여 컴퓨터를 오동작하게 하는 종속형 컴퓨터 악성코드이다." 이다. 웜은 자신의 명령어를 다른 프로그램 파일에 복사하지 않고, 네트워크를 통해 자신을 복제하여 전파하는 자체 복제형 컴퓨터 악성코드이다.
profile_image
1

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

6. 가상 메모리(virtual memory)에 대한 설명으로 옳지 않은 것은?

  1. 가상 메모리는 프로그래머가 물리 메모리(physical memory)크기 문제를 염려할 필요 없이 프로그램을 작성할 수 있게 한다.
  2. 가상 주소(virtual address)의 비트 수는 물리 주소(physical address)의 비트 수에 비해 같거나 커야 한다.
  3. 메모리 관리 장치(memory management unit)는 가상 주소를 물리 주소로 변환하는 역할을 한다.
  4. 가상 메모리는 페이지 공유를 통해 두 개 이상의 프로세스들이 메모리를 공유하는 것을 가능하게 한다.
(정답률: 78%)
  • 가상 주소(virtual address)의 비트 수는 물리 주소(physical address)의 비트 수에 비해 같거나 커야 한다는 설명이 옳지 않습니다. 가상 주소와 물리 주소의 비트 수는 서로 독립적으로 결정되며, 가상 주소의 비트 수가 물리 주소보다 작을 수도 있습니다.
profile_image
1

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

7. BNF(Backus-Naur Form)로 표현된 다음 문법에 의해 생성될 수 없는 id는?

  1. a
  2. a1b
  3. abc321
  4. 3a2b1c
(정답률: 82%)
  • BNF 문법에 따르면 id는 letter 또는 letter digit로 시작하며, 이어지는 문자열은 letter, digit, underscore(_)로 이루어져야 한다.

    따라서 "3a2b1c"는 id로 생성될 수 없다. 이유는 다음과 같다.

    - "3"은 digit으로 시작하므로 letter 또는 letter digit로 시작하지 않는다.
    - "a2b1c"는 letter digit로 시작하지 않으며, underscore가 없으므로 id로 생성될 수 없다.

    따라서 정답은 "3a2b1c"이다.

    보기에서 id로 생성될 수 있는 문자열은 "a", "a1b", "abc321"이다.
profile_image
1

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

8. 다음 C 프로그램 실행 결과로 출력되는 sum 값으로 옳은 것은?

  1. 8
  2. 9
  3. 10
  4. 11
(정답률: 73%)
  • 이 프로그램은 1부터 4까지의 숫자를 더하는 것입니다. 따라서 sum 값은 1+2+3+4 = 10이 됩니다. 하지만 for문에서 i가 3일 때 continue 문이 실행되어 i=3일 때의 덧셈이 생략되고 다음 반복으로 넘어가므로, 3이 더해지지 않습니다. 따라서 sum 값은 10-3 = 7이 됩니다. 하지만 마지막으로 sum에 2를 더해주는 문장이 있으므로, 최종적으로 sum 값은 7+2 = 9가 됩니다. 따라서 정답은 "9"입니다.
profile_image
1

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

9. 캐시 메모리가 다음과 같을 때, 캐시 메모리의 집합(set) 수는?

  1. 256
  2. 512
  3. 1024
  4. 2048
(정답률: 61%)
  • 캐시 메모리의 크기는 64KB 이고, 블록 크기는 32B 이므로, 총 블록 수는 64KB / 32B = 2048 개입니다. 집합 수는 2048 / 4-way set associative = 512 입니다. 따라서 정답은 "512" 입니다.
profile_image
1

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

10. 다음 자료를 버블 정렬(bubble sort) 알고리즘을 적용하여 오름차순으로 정렬할 때, 세 번째 패스(pass)까지 실행한 정렬 결과로 옳은 것은?

  1. 2, 1, 3, 5, 8
  2. 1, 2, 3, 5, 8
  3. 2, 3, 1, 5, 8
  4. 2, 3, 5, 1, 8
(정답률: 64%)
  • 버블 정렬은 인접한 두 원소를 비교하여 큰 값을 뒤로 보내는 정렬 알고리즘이다.

    첫 번째 패스에서는 2와 1을 비교하여 1이 더 작으므로 위치를 바꾸어 1, 2, 3, 5, 8이 된다.

    두 번째 패스에서는 2와 3을 비교하여 위치를 바꾸지 않고 그대로 1, 2, 3, 5, 8이 된다.

    세 번째 패스에서는 3과 1을 비교하여 1이 더 작으므로 위치를 바꾸어 1, 2, 3, 5, 8이 된다.

    따라서 정답은 "1, 2, 3, 5, 8"이다.
profile_image
1

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

11. 전통적인 폰 노이만(Von Neumann) 구조에 대한 설명으로 옳지 않은 것은?

  1. 폰 노이만 구조의 최초 컴퓨터는 에니악(ENIAC)이다.
  2. 내장 프로그램 개념(stored program concept)을 기반으로 한다.
  3. 산술논리연산장치는 명령어가 지시하는 연산을 실행한다.
  4. 숫자의 형태로 컴퓨터 명령어를 주기억장치에 저장한다.
(정답률: 87%)
  • "폰 노이만 구조의 최초 컴퓨터는 에니악(ENIAC)이다."라는 설명이 옳지 않은 이유는, 폰 노이만 구조는 1945년에 제안되었지만, 에니악은 1946년에 완성되었기 때문입니다. 따라서, 폰 노이만 구조의 최초 컴퓨터는 에니악이 아니라, 이전에 개발된 다른 컴퓨터들이 해당됩니다.
profile_image
1

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

12. 소프트웨어 개발 프로세스 모형에 대한 설명으로 옳은 것은?

  1. 폭포수(waterfall) 모델은 개발 초기단계에 시범 소프트웨어를 만들어 사용자에게 경험하게 함으로써 사용자 피드백을 신속하게 제공할 수 있다.
  2. 프로토타입(prototyping) 모델은 개발이 완료되고 사용단계에 들어서야 사용자 의견을 반영할 수 있다.
  3. 익스트림 프로그래밍(extreme programming)은 1950년대 항공방위 소프트웨어 시스템 개발경험을 토대로 처음 개발되어 1970년대부터 널리 알려졌다.
  4. 나선형(spiral) 모델은 위험 분석을 해나가면서 시스템을 개발한다.
(정답률: 89%)
  • 나선형 모델은 위험 분석을 해나가면서 시스템을 개발하는 모델이다. 이는 개발 과정에서 발생할 수 있는 위험을 사전에 파악하고 예방하기 위해 위험 분석을 지속적으로 수행하며, 이를 바탕으로 개발을 진행하는 것을 의미한다. 따라서 나선형 모델은 다른 모델들보다 더 유연하고 반복적인 개발 과정을 거치며, 위험을 최소화하고 품질을 향상시키는 데에 적합하다.
profile_image
1

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

13. 범기관적 입장에서 데이터베이스를 정의한 것으로서 데이터베이스에 저장될 데이터의 종류와 데이터 간의 관계를 기술하며 데이터 보안 및 무결성 규칙에 대한 명세를 포함하는 것은?

  1. 외부스키마
  2. 내부스키마
  3. 개념스키마
  4. 물리스키마
(정답률: 79%)
  • 개념스키마는 데이터베이스를 전체적으로 관리하는 관점에서 데이터베이스를 정의한 것으로, 데이터의 종류와 관계, 보안 및 무결성 규칙 등을 포함합니다. 다른 스키마들은 개념스키마를 구체화하거나 구현하는 데 필요한 세부 정보를 담고 있습니다. 따라서 개념스키마는 데이터베이스의 전반적인 구조와 기능을 이해하는 데 중요한 역할을 합니다.
profile_image
1

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

14. 다음 부울 함수식 F를 간략화한 결과로 옳은 것은?

  1. F=AC+B'C
  2. F=AC+BC'
  3. F=A'B+B'C
  4. F=A'C+BC
(정답률: 80%)
  • AND 게이트와 OR 게이트로 이루어진 부울 함수식 F를 간략화하는 방법은 디모르간의 법칙을 이용하는 것입니다. 디모르간의 법칙은 다음과 같습니다.

    - (A+B)' = A'B'
    - (AB)' = A'+B'

    이를 이용하여 F를 간략화하면 다음과 같습니다.

    F = (A'+B)(A+C')(B+C')
    = A'B + A'C' + BC'
    = AC + A'C' + BC' (A+A' = 1)
    = AC + B'C

    따라서 정답은 "F=AC+B'C" 입니다.
profile_image
1

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

15. TCP/IP 프로토콜의 계층과 그 관련 요소의 연결이 옳지 않은 것은?

  1. 데이터 링크 계층(data link layer) : IEEE 802, Ethernet, HDLC
  2. 네트워크 계층(network layer) : IP, ICMP, IGMP, ARP
  3. 전송 계층(transport layer) : TCP, UDP, FTP, SMTP
  4. 응용 계층(application layer) : POP3, DNS, HTTP, TELNET
(정답률: 78%)
  • "데이터 링크 계층"은 프레임을 전송하는 역할을 하며, "네트워크 계층"은 패킷을 전송하는 역할을 합니다. "응용 계층"은 사용자가 사용하는 응용 프로그램과 직접적으로 연결되어 있습니다. 따라서 "전송 계층"은 TCP, UDP, FTP, SMTP와 연결되어 있습니다. 이유는 "전송 계층"은 데이터를 전송하기 위한 프로토콜을 제공하며, TCP는 신뢰성 있는 데이터 전송을 위한 프로토콜, UDP는 비신뢰성 있는 데이터 전송을 위한 프로토콜, FTP는 파일 전송을 위한 프로토콜, SMTP는 이메일 전송을 위한 프로토콜입니다.
profile_image
1

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

16. DHCP(Dynamic Host Configuration Protocol)에 대한 설명으로 옳은 것은?

  1. 자동이나 수동으로 가용한 IP 주소를 호스트(host)에 할당한다.
  2. 서로 다른 통신규약을 사용하는 네트워크들을 상호 연결하기 위해 통신규약을 전환한다.
  3. 데이터 전송 시 케이블에서의 신호 감쇠를 보상하기 위해 신호를 증폭하고 재생하여 전송한다.
  4. IP 주소를 기준으로 네트워크 패킷의 경로를 설정하며 다중 경로일 경우에는 최적의 경로를 설정한다.
(정답률: 71%)
  • DHCP는 네트워크에 연결된 호스트에게 자동이나 수동으로 가용한 IP 주소를 할당하는 프로토콜입니다. 이를 통해 호스트는 IP 주소를 수동으로 설정하지 않고도 네트워크에 연결될 수 있습니다.
profile_image
1

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

17. 다중접속(multiple access) 방식에 대한 설명으로 옳지 않은 것은?

  1. 코드분할 다중접속(CDMA)은 디지털 방식의 데이터 송수신 기술이다.
  2. 시분할 다중접속(TDMA)은 대역확산 기법을 사용한다.
  3. 주파수분할 다중접속(FDMA)은 할당된 유효 주파수 대역폭을 작은 주파수 영역인 채널로 분할한다.
  4. 시분할 다중접속(TDMA)은 할당된 주파수를 시간상에서 여러 개의 조각인 슬롯으로 나누어 하나의 조각을 한 명의 사용자가 사용하는 방식이다.
(정답률: 65%)
  • 시분할 다중접속(TDMA)은 대역확산 기법을 사용하지 않고, 할당된 주파수를 시간상에서 여러 개의 조각인 슬롯으로 나누어 하나의 조각을 한 명의 사용자가 사용하는 방식입니다. 따라서 "시분할 다중접속(TDMA)은 대역확산 기법을 사용한다."는 옳지 않은 설명입니다.
profile_image
1

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

18. 시스템의 신뢰성 평가를 위해 사용되는 지표로 평균 무장애시간(mean time to failure, MTTF)과 평균 복구시간(mean time to repair, MTTR)이 있다. 이 두 지표를 이용하여 시스템의 가용성(availability)을 나타낸 것은?

(정답률: 85%)
profile_image
1

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

19. 다음 조건에서 메인 메모리와 캐시 메모리로 구성된 메모리 계층의 평균 메모리 접근 시간은? (단, 캐시 실패 손실은 캐시 실패 시 소요되는 총 메모리 접근 시간에서 캐시 적중 시간을 뺀 시간이다)

  1. 10㎱
  2. 15㎱
  3. 20㎱
  4. 25㎱
(정답률: 66%)
  • 메모리 접근 시간은 메모리 계층에서 데이터를 찾는 데 걸리는 시간입니다. 이 문제에서는 메인 메모리 접근 시간이 100ns이고, 캐시 메모리 접근 시간이 10ns이며, 캐시 적중률이 90%라고 가정합니다.

    따라서, 캐시 적중 시간은 10ns이고, 캐시 실패 시 소요되는 시간은 10ns + 100ns = 110ns입니다.

    메모리 접근 시간은 캐시 적중률과 캐시 실패 손실을 고려하여 계산됩니다.

    캐시 적중률이 90%이므로, 10번 중 9번은 캐시에서 데이터를 찾을 수 있습니다. 따라서, 캐시 적중 시간이 10ns이므로, 캐시 접근 시간은 9 * 10ns = 90ns입니다.

    캐시 실패 시 소요되는 시간은 1번 중 1번은 메인 메모리에서 데이터를 찾아야 하므로, 캐시 실패 손실은 110ns입니다.

    따라서, 메모리 접근 시간은 (캐시 적중률 * 캐시 접근 시간) + (캐시 실패율 * 캐시 실패 손실) = (0.9 * 90ns) + (0.1 * 110ns) = 81ns + 11ns = 92ns입니다.

    따라서, 평균 메모리 접근 시간은 92ns입니다.

    하지만, 이 문제에서는 보기 중에서 가장 가까운 값인 "20㎱"을 선택해야 합니다. 이는 캐시 적중률이 100%일 때의 메모리 접근 시간입니다. 캐시 적중률이 100%일 때는 캐시 실패 손실이 없으므로, 메모리 접근 시간은 캐시 접근 시간인 90ns입니다. 이에 가장 가까운 값인 "20㎱"을 선택하게 됩니다.
profile_image
1

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

20. 다음 조건에서 A 프로그램을 실행하는데 소요되는 CPU 시간은?

  1. 0.75㎳
  2. 75㎳
  3. 3㎲
  4. 0.3㎲
(정답률: 71%)
  • A 프로그램은 3개의 명령어로 이루어져 있고, 각 명령어는 1 사이클의 CPU 시간이 소요된다. 따라서 A 프로그램을 실행하는데 필요한 총 CPU 시간은 3 사이클이므로 3 x 0.25㎳ = 0.75㎳ 이다.
profile_image
1

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

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