9급 국가직 공무원 컴퓨터일반 필기 기출문제복원 (2015-04-18)

9급 국가직 공무원 컴퓨터일반
(2015-04-18 기출문제)

목록

1. 시스템 소프트웨어에 포함되지 않는 것은?

  1. 스프레드시트(spreadsheet)
  2. 로더(loader)
  3. 링커(linker)
  4. 운영체제(operating system)
(정답률: 85%)
  • 스프레드시트는 시스템 소프트웨어가 아닌 애플리케이션 소프트웨어이기 때문입니다. 시스템 소프트웨어는 컴퓨터 시스템의 기본적인 동작을 제어하고 관리하는 소프트웨어를 말하며, 운영체제, 로더, 링커 등이 이에 해당합니다. 스프레드시트는 엑셀과 같은 표 형태의 데이터를 관리하고 계산하는 애플리케이션 소프트웨어로, 시스템 소프트웨어와는 별개의 범주에 속합니다.
profile_image
1

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

2. OSI 7계층 중 브리지(bridge)가 복수의 LAN을 결합하기 위해 동작하는 계층은?

  1. 물리 계층
  2. 데이터 링크 계층
  3. 네트워크 계층
  4. 전송 계층
(정답률: 80%)
  • 브리지는 데이터 링크 계층에서 동작합니다. 이는 브리지가 MAC 주소를 이용하여 패킷을 전달하고, 물리적인 네트워크를 연결하여 데이터를 전송하기 때문입니다. 따라서 브리지는 같은 네트워크 대역에서 통신하는 장치들을 연결하여 효율적인 통신을 가능하게 합니다.
profile_image
1

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

3. 데이터베이스 설계 과정에서 목표 DBMS의 구현 데이터 모델로 표현된 데이터베이스 스키마가 도출되는 단계는?

  1. 요구사항 분석 단계
  2. 개념적 설계 단계
  3. 논리적 설계 단계
  4. 물리적 설계 단계
(정답률: 70%)
  • 목표 DBMS의 구현 데이터 모델로 표현된 데이터베이스 스키마가 도출되는 단계는 논리적 설계 단계입니다. 이는 요구사항 분석 단계에서 수집된 요구사항과 개념적 설계 단계에서 생성된 개념적 모델을 바탕으로 실제 데이터베이스 구조를 설계하는 단계로, 데이터 모델링 기법을 사용하여 논리적 데이터 모델을 생성하고 이를 DBMS가 지원하는 데이터 모델로 변환하여 데이터베이스 스키마를 도출합니다. 이 단계에서는 데이터베이스의 구조와 제약 조건 등을 정의하며, 이후 물리적 설계 단계에서는 이를 실제 데이터베이스 시스템에 맞게 구현하는 작업을 수행합니다.
profile_image
1

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

4. 객체지향 프로그래밍의 특징 중 상속 관계에서 상위 클래스에 정의된 메소드(method) 호출에 대해 각 하위 클래스가 가지고 있는 고유한 방법으로 응답할 수 있도록 유연성을 제공하는 것은?

  1. 재사용성(reusability)
  2. 추상화(abstraction)
  3. 다형성(polymorphism)
  4. 캡슐화(encapsulation)
(정답률: 72%)
  • 다형성은 상속 관계에서 상위 클래스에 정의된 메소드를 하위 클래스에서 오버라이딩하여 각 클래스마다 고유한 방법으로 응답할 수 있도록 유연성을 제공합니다. 이를 통해 코드의 재사용성을 높이고 추상화된 상위 클래스를 기반으로 다양한 하위 클래스를 만들 수 있습니다. 또한 캡슐화를 통해 클래스 내부의 구현을 숨기고 외부에서는 인터페이스만을 사용할 수 있도록 보호할 수 있습니다. 하지만 이 중에서 상위 클래스에 정의된 메소드를 호출하는 것은 다형성에 해당합니다.
profile_image
1

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

5. 다음은 캐시 기억장치를 사상(mapping) 방식 기준으로 분류한 것이다. 캐시 블록은 4개 이상이고 사상 방식을 제외한 모든 조건이 동일하다고 가정할 때, 평균적으로 캐시 적중률(hit ratio)이 높은 것에서 낮은 것 순으로 바르게 나열한 것은?

  1. ㄱ-ㄴ-ㄷ
  2. ㄴ-ㄷ-ㄱ
  3. ㄷ-ㄱ-ㄴ
  4. ㄱ-ㄷ-ㄴ
(정답률: 66%)
  • 캐시 적중률은 캐시 블록의 수와 사상 방식에 따라 달라진다.
    - 직접 사상 방식은 캐시 블록이 1개이므로 적중률이 가장 낮다.
    - 연관 사상 방식은 캐시 블록이 많아질수록 적중률이 높아지므로 가장 높다.
    - 집합 사상 방식은 캐시 블록이 적어질수록 적중률이 높아지므로 연관 사상 방식보다는 낮지만 직접 사상 방식보다는 높다.

    따라서, 캐시 블록이 4개 이상이고 사상 방식을 제외한 모든 조건이 동일하다면, 연관 사상 방식이 가장 높은 적중률을 보이고, 그 다음으로 집합 사상 방식이 높으며, 직접 사상 방식이 가장 낮다. 따라서 정답은 "ㄴ-ㄷ-ㄱ"이다.
profile_image
1

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

6. 다음 논리회로의 부울식으로 옳은 것은?

  1. F = AC' + BC
  2. F(A, B, C) = Σm(0, 1, 2, 3, 6, 7)
  3. F = (AC')'
  4. F = (A' + B' + C)(A+ B' + C')
(정답률: 60%)
  • 주어진 논리회로를 분석해보면, AND 게이트를 통해 A와 C'를 AND 연산하고, 또 다른 AND 게이트를 통해 B와 C를 AND 연산한 후, OR 게이트를 통해 두 결과를 OR 연산하고 있다. 따라서 부울식으로 나타내면 F = AC' + BC가 된다.

    그러나 이 식을 더 간단하게 표현할 수 있다. AC'와 BC는 둘 다 C'와 C를 AND 연산한 결과이므로, C'와 C 중 하나만 1이어도 결과는 0이 된다. 따라서 AC' + BC는 A와 B를 OR 연산하고, 그 결과에 C'와 C를 AND 연산한 것과 같다. 이를 다시 부울식으로 나타내면 F = (A + B)(C' + C)'가 된다.

    이제 이 식을 더 간단하게 변형해보자. C'와 C는 서로 상호배타적인 값이므로, C' + C는 항상 1이 된다. 따라서 (C' + C)'는 항상 0이 된다. 이를 다시 부울식으로 나타내면 (C' + C)' = 0이 된다. 따라서 F = (A + B)(C' + C)' = (A + B)(0) = 0이 된다.

    하지만 이 문제에서는 F가 0이 되는 것이 아니라, F = (AC')'가 되어야 한다고 한다. 이는 위에서 구한 F = 0과는 다른 식이다. 따라서 주어진 논리회로와 부합하지 않는다.

    따라서 옳은 부울식은 F = AC' + BC이다.
profile_image
1

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

7. 소프트웨어 개발 프로세스 모델 중 하나인 나선형 모델(spiral model)에 대한 설명으로 옳지 않은 것은?

  1. 폭포수(waterfall) 모델과 원형(prototype) 모델의 장점을 결합한 모델이다.
  2. 점증적으로 개발을 진행하여 소프트웨어 품질을 지속적으로 개선할 수 있다.
  3. 위험을 분석하고 최소화하기 위한 단계가 포함되어 있다.
  4. 관리가 복잡하여 대규모 시스템의 소프트웨어 개발에는 적합하지 않다.
(정답률: 93%)
  • "관리가 복잡하여 대규모 시스템의 소프트웨어 개발에는 적합하지 않다."가 옳지 않은 설명입니다. 나선형 모델은 대규모 시스템의 개발에 적합한 모델 중 하나입니다. 이 모델은 위험 분석과 최소화를 위한 단계가 포함되어 있어, 대규모 시스템의 복잡성과 위험성을 다루는 데 적합합니다.
profile_image
1

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

8. 다음 표는 단일 CPU에 진입한 프로세스의 도착 시간과 처리하는 데 필요한 실행 시간을 나타낸 것이다. 프로세스 간 문맥 교환에 따른 오버헤드는 무시한다고 할 때, SRT(Shortest Remaining Time) 스케줄링 알고리즘을 사용한 경우 네 프로세스의 평균 반환시간(turnaround time)은?

  1. 4.25
  2. 7
  3. 8.75
  4. 10
(정답률: 60%)
  • SRT 스케줄링 알고리즘은 현재 실행 중인 프로세스보다 남은 실행 시간이 더 적은 프로세스를 우선적으로 실행하는 방식이다. 따라서, 시간 0에서 시작하여 P1이 먼저 도착하므로 P1을 실행한다. P1의 실행 시간은 3이고, P2와 P3의 남은 실행 시간은 각각 5와 4이다. 따라서, 시간 3에서 P1이 종료되고, P3을 실행한다. P3의 실행 시간은 4이고, P2의 남은 실행 시간은 5이다. 따라서, 시간 7에서 P3이 종료되고, P2를 실행한다. P2의 실행 시간은 5이고, P4의 남은 실행 시간은 6이다. 따라서, 시간 12에서 P2가 종료되고, P4를 실행한다. P4의 실행 시간은 6이므로, 시간 18에서 P4가 종료된다. 따라서, P1의 반환시간은 3, P2의 반환시간은 15, P3의 반환시간은 4, P4의 반환시간은 18이다. 따라서, 평균 반환시간은 (3+15+4+18)/4 = 40/4 = 10이다. 따라서, 정답은 10이다.
profile_image
1

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

9. 이더넷(Ethernet)의 매체 접근 제어(MAC) 방식인 CSMA/CD에 대한 설명으로 옳지 않은 것은?

  1. CSMA/CD 방식은 CSMA 방식에 충돌 검출 기법을 추가한 것으로 IEEE 802.11b의 MAC 방식으로 사용된다.
  2. 충돌 검출을 위해 전송 프레임의 길이를 일정 크기 이상으로 유지해야 한다.
  3. 전송 도중 충돌이 발생하면 임의의 시간 동안 대기하기 때문에 지연시간을 예측하기 어렵다.
  4. 여러 스테이션으로부터의 전송 요구량이 증가하면 회선의 유효 전송률은 단일 스테이션에서 전송할 때 얻을 수 있는 유효 전송률보다 낮아지게 된다.
(정답률: 55%)
  • 정답은 "CSMA/CD 방식은 CSMA 방식에 충돌 검출 기법을 추가한 것으로 IEEE 802.11b의 MAC 방식으로 사용된다."가 아닙니다. CSMA/CD 방식은 이더넷에서 사용되는 MAC 방식으로, IEEE 802.11b와는 다른 기술입니다.

    - "충돌 검출을 위해 전송 프레임의 길이를 일정 크기 이상으로 유지해야 한다." : 맞는 설명입니다. 충돌 검출을 위해 충돌이 발생할 가능성이 있는 최대 거리까지 프레임을 전송해야 하므로, 프레임의 길이를 일정 크기 이상으로 유지해야 합니다.
    - "전송 도중 충돌이 발생하면 임의의 시간 동안 대기하기 때문에 지연시간을 예측하기 어렵다." : 맞는 설명입니다. 충돌이 발생하면 임의의 시간 동안 대기하므로, 전송 지연 시간을 예측하기 어렵습니다.
    - "여러 스테이션으로부터의 전송 요구량이 증가하면 회선의 유효 전송률은 단일 스테이션에서 전송할 때 얻을 수 있는 유효 전송률보다 낮아지게 된다." : 맞는 설명입니다. 여러 스테이션으로부터 전송 요구량이 증가하면 충돌이 발생할 가능성이 높아지므로, 회선의 유효 전송률은 단일 스테이션에서 전송할 때 얻을 수 있는 유효 전송률보다 낮아지게 됩니다.
profile_image
1

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

10. 다음은 C언어로 내림차순 버블정렬 알고리즘을 구현한 함수이다. ㉠에 들어갈 if문의 조건으로 올바른 것은? (단, size는 1차원 배열인 value의 크기이다)

  1. value[x] > value[y+1]
  2. value[x] < value[y+1]
  3. value[y] > value[y+1]
  4. value[y] < value[y+1]
(정답률: 42%)
  • ㉠ if (value[y] < value[y+1])

    이유: 버블정렬은 인접한 두 원소를 비교하여 큰 값을 뒤로 보내는 정렬 알고리즘이다. 따라서, 현재 위치의 값(value[y])이 다음 위치의 값(value[y+1])보다 작을 경우에만 두 값을 교환해야 한다. 그렇지 않으면 이미 큰 값이 뒤로 보내졌기 때문에 교환할 필요가 없다. 따라서, "value[y] < value[y+1]"가 올바른 조건이다.
profile_image
1

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

11. 객체지향 기법을 지원하지 않는 프로그래밍 언어는?

  1. LISP
  2. Java
  3. Python
  4. C#
(정답률: 75%)
  • LISP는 함수형 프로그래밍 언어로, 객체지향 기법을 지원하지 않습니다. LISP는 함수를 중심으로 프로그래밍을 하며, 객체지향 프로그래밍에서 사용되는 클래스, 객체, 상속 등의 개념이 없습니다. 따라서 객체지향 기법을 지원하지 않는 프로그래밍 언어 중 하나입니다.
profile_image
1

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

12. 관계형 모델(relational model)의 릴레이션(relation)에 대한 설명으로 옳지 않은 것은?

  1. 릴레이션의 한 행(row)을 투플(tuple)이라고 한다.
  2. 속성(attribute)은 릴레이션의 열(column)을 의미한다.
  3. 한 릴레이션에 존재하는 모든 투플들은 상이해야 한다.
  4. 한 릴레이션의 속성들은 고정된 순서를 갖는다.
(정답률: 82%)
  • 한 릴레이션의 속성들은 고정된 순서를 갖는다는 설명이 옳지 않은 것이다. 릴레이션의 속성들은 순서와 상관없이 릴레이션을 구성하는 열(column)을 의미한다. 따라서 속성들의 순서는 중요하지 않다.
profile_image
1

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

13. 컴퓨터 버스에 대한 설명으로 옳지 않은 것은?

  1. 주소 정보를 전달하는 주소 버스(address bus), 데이터 전송을 위한 데이터 버스(data bus), 그리고 명령어 전달을 위한 명령어 버스(instruction bus)로 구성된다.
  2. 3-상태(3-state) 버퍼를 이용하면 데이터를 송신하고 있지 않는 장치의 출력이 버스에 연결된 다른 장치와 간섭하지 않도록 분리시킬 수 있다.
  3. 특정 장치를 이용하면 버스를 통해서 입출력 장치와 주기억 장치 간 데이터가 CPU를 거치지 않고 전송될 수 있다.
  4. 다양한 장치를 연결하기 위한 별도의 버스가 추가적으로 존재할 수 있다.
(정답률: 64%)
  • 주소 버스, 데이터 버스, 명령어 버스로 구성되지 않은 것은 옳지 않은 설명입니다. 다른 보기들은 컴퓨터 버스의 특징과 기능을 설명하고 있습니다.
profile_image
1

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

14. 다음 이진 트리(binary tree)의 노드들을 후위 순회(post-order traversal)한 경로를 나타낸 것은?

  1. F→H→I→D→E→G→B→C→A
  2. D→F→E→B→H→I→G→C→A
  3. D→B→F→E→A→C→H→G→I
  4. I→H→G→C→F→E→D→B→A
(정답률: 81%)
  • 후위 순회는 왼쪽 서브트리, 오른쪽 서브트리, 루트 노드 순으로 방문하는 순회 방법입니다. 따라서 이진 트리를 후위 순회하면 D의 왼쪽 서브트리인 F, H, I를 먼저 방문하고, 그 다음으로 D의 오른쪽 서브트리인 E, G를 방문합니다. 마지막으로 루트 노드인 D를 방문합니다. 이어서 B의 왼쪽 서브트리인 H, I를 방문하고, 오른쪽 서브트리인 G를 방문합니다. 마지막으로 루트 노드인 B를 방문합니다. 마지막으로 전체 이진 트리의 루트 노드인 A를 방문합니다. 따라서 정답은 "D→F→E→B→H→I→G→C→A" 입니다.
profile_image
1

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

15. 프로토콜에 대한 설명으로 옳지 않은 것은?

  1. ARP는 데이터 링크 계층의 프로토콜로 MAC 주소에 대해 해당 IP 주소를 반환해 준다.
  2. UDP를 사용하면 일부 데이터의 손실이 발생할 수 있지만 TCP에 비해 전송 오버헤드가 적다.
  3. MIME는 텍스트, 이미지, 오디오, 비디오 등의 멀티미디어 전자우편을 위한 규약이다.
  4. DHCP는 한정된 개수의 IP 주소를 여러 사용자가 공유할 수 있도록 동적으로 가용한 주소를 호스트에 할당해준다.
(정답률: 78%)
  • 정답은 "ARP는 데이터 링크 계층의 프로토콜로 MAC 주소에 대해 해당 IP 주소를 반환해 준다."입니다. ARP는 MAC 주소를 IP 주소로 변환해주는 프로토콜이며, IP 주소를 반환해주는 것이 아닙니다.
profile_image
1

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

16. 비결정적 유한 오토마타(non-deterministic finite automata)에 대한 설명으로 옳지 않은 것은?

  1. 한 상태에서 전이 시 다음 상태를 선택할 수 있다.
  2. 입력 심볼을 읽지 않고도 상태 전이를 할 수 있다.
  3. 어떤 비결정적 유한 오토마타라도 같은 언어를 인식하는 결정적 유한 오토마타(deterministic finite automata)로 변환이 가능하다.
  4. 모든 문맥 자유 언어(context-free language)를 인식한다.
(정답률: 45%)
  • "모든 문맥 자유 언어(context-free language)를 인식한다."는 옳지 않은 설명입니다. 비결정적 유한 오토마타는 일부 문맥 자유 언어를 인식할 수 있지만, 모든 문맥 자유 언어를 인식하지는 못합니다. 이는 파싱 테이블을 구성하는 데 있어서 비결정적 유한 오토마타가 결정적 유한 오토마타보다 더 많은 상태를 필요로 하기 때문입니다.
profile_image
1

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

17. 클라우드 컴퓨팅 서비스 모델과 이에 대한 설명이 바르게 짝지어진 것은? (순서대로 IaaS, PaaS, SaaS)

  1. ㄷ, ㄴ, ㄱ
  2. ㄴ, ㄱ, ㄷ
  3. ㄷ, ㄱ, ㄴ
  4. ㄱ, ㄷ, ㄴ
(정답률: 74%)
  • 정답은 "ㄷ, ㄱ, ㄴ" 입니다.

    IaaS는 인프라를 제공하는 서비스 모델로, 가상화된 컴퓨팅 리소스를 제공합니다. 따라서 물리적인 서버, 스토리지, 네트워크 등의 인프라를 제공합니다.

    PaaS는 플랫폼을 제공하는 서비스 모델로, 애플리케이션을 개발, 실행, 관리할 수 있는 플랫폼을 제공합니다. 따라서 개발자가 애플리케이션을 만들기 위한 환경을 제공합니다.

    SaaS는 소프트웨어를 제공하는 서비스 모델로, 클라우드 상에서 소프트웨어를 제공하고 사용자는 인터넷을 통해 해당 소프트웨어를 사용합니다. 따라서 소프트웨어를 제공합니다.

    따라서, IaaS가 인프라를 제공하고, PaaS가 플랫폼을 제공하며, SaaS가 소프트웨어를 제공하기 때문에 "ㄷ, ㄱ, ㄴ"이 정답입니다.
profile_image
1

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

18. 다음 C 언어로 작성된 프로그램의 실행 결과에서 세 번째 줄에 출력되는 것은?

  1. func(3) : 6
  2. func(2) : 2
  3. func(1) : 1
  4. func(0) : 0
(정답률: 72%)
  • 이 프로그램은 재귀 함수를 이용하여 1부터 n까지의 합을 구하는 함수를 구현한 것입니다.

    함수 func(n)은 n이 0이면 0을 반환하고, 그렇지 않으면 n과 func(n-1)의 합을 반환합니다.

    따라서, func(1)은 1을 반환하고, func(2)는 2와 func(1)의 합인 3을 반환하고, func(3)은 3과 func(2)의 합인 6을 반환합니다.

    따라서, 실행 결과에서 세 번째 줄에는 "func(1) : 1"이 출력됩니다.
profile_image
1

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

19. 서브넷 마스크(subnet mask)를 255.255.255.224로 하여 한 개의 C클래스 주소 영역을 동일한 크기의 8개 하위 네트워크로 나누었다. 분할된 네트워크에서 브로드캐스트를 위한 IP 주소의 오른쪽 8비트에 해당하는 값으로 옳은 것은?

  1. 0
  2. 64
  3. 159
  4. 207
(정답률: 57%)
  • 서브넷 마스크가 255.255.255.224이므로, 3비트를 하위 네트워크 ID로 사용하고, 5비트를 호스트 ID로 사용한다. 따라서 각 하위 네트워크는 32개의 호스트를 가질 수 있다.

    8개의 하위 네트워크를 만들기 위해서는 3비트가 필요하므로, 하위 네트워크 ID는 3비트로 구성된다. 따라서 브로드캐스트를 위한 IP 주소의 오른쪽 8비트에 해당하는 값은 호스트 ID이다.

    각 하위 네트워크의 첫 번째 호스트 IP 주소는 하위 네트워크 ID와 호스트 ID를 모두 0으로 설정한 것이다. 예를 들어, 첫 번째 하위 네트워크의 첫 번째 호스트 IP 주소는 192.168.0.0이 된다.

    각 하위 네트워크의 마지막 호스트 IP 주소는 호스트 ID를 모두 1로 설정한 것이다. 예를 들어, 첫 번째 하위 네트워크의 마지막 호스트 IP 주소는 192.168.0.31이 된다.

    각 하위 네트워크의 브로드캐스트 IP 주소는 하위 네트워크 ID는 그대로 두고, 호스트 ID를 모두 1로 설정한 것이다. 예를 들어, 첫 번째 하위 네트워크의 브로드캐스트 IP 주소는 192.168.0.31이 된다.

    따라서, 브로드캐스트를 위한 IP 주소의 오른쪽 8비트에 해당하는 값은 각 하위 네트워크의 브로드캐스트 IP 주소의 호스트 ID 부분이다. 첫 번째 하위 네트워크의 브로드캐스트 IP 주소는 192.168.0.31이므로, 오른쪽 8비트에 해당하는 값은 31이다. 이 값은 보기 중에서 "159"이 아니므로, 정답은 "159"이 아니다.
profile_image
1

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

20. 연결리스트(linked list)의 ‘preNode’ 노드와 그 다음 노드 사이에 새로운 ‘newNode’ 노드를 삽입하기 위해 빈 칸 ㉠에 들어갈 명령문으로 옳은 것은?

  1. newNode->link = preNode;
  2. newNode->link = preNode->link;
  3. newNode->link->link = preNode;
  4. newNode = preNode->link;
(정답률: 86%)
  • 새로운 노드를 preNode와 그 다음 노드 사이에 삽입하기 위해서는 preNode의 링크를 새로운 노드로 연결해야 합니다. 그리고 새로운 노드의 링크를 그 다음 노드로 연결해야 합니다. 따라서 "newNode->link = preNode->link;"가 옳은 명령문입니다. 이 명령문은 preNode의 다음 노드를 가리키는 링크를 새로운 노드의 링크로 복사하므로, 새로운 노드가 preNode와 그 다음 노드 사이에 삽입됩니다.
profile_image
1

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

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