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

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

목록

1. 아날로그 신호를 디지털 신호로 변조하기 위한 펄스부호변조(PCM) 과정으로 옳지 않은 것은?

  1. 분절화(Segmentation)
  2. 표본화(Sampling)
  3. 부호화(Encoding)
  4. 양자화(Quantization)
(정답률: 80%)
  • 분절화(Segmentation)는 아날로그 신호를 일정한 길이의 구간으로 나누는 과정으로, PCM 과정에서는 사용되지 않습니다. PCM 과정에서 사용되는 과정은 표본화(Sampling), 양자화(Quantization), 부호화(Encoding)입니다. 따라서 정답은 "분절화(Segmentation)"입니다.
profile_image
1

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

2. DBMS를 사용하는 이점으로 옳지 않은 것은?

  1. 데이터를 프로그램과 분리함으로써 데이터 독립성이 향상된다.
  2. 데이터의 공유와 동시 접근이 가능하다.
  3. 데이터의 중복을 허용하여 데이터의 일관성을 유지한다.
  4. 데이터의 무결성과 보안성을 유지한다.
(정답률: 81%)
  • DBMS는 데이터의 중복을 최소화하여 데이터의 일관성을 유지하는 것이 목적이므로, "데이터의 중복을 허용하여 데이터의 일관성을 유지한다."는 옳지 않은 이유입니다. 중복된 데이터는 일관성을 해치고 데이터의 무결성을 위반할 수 있기 때문에 DBMS는 중복을 최소화하고 데이터를 통합하여 일관성을 유지합니다.
profile_image
1

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

3. CPU 내의 레지스터에 대한 설명으로 옳지 않은 것은?

  1. Accumulator(AC):연산 과정의 데이터를 일시적으로 저장하는 레지스터
  2. Program Counter(PC):다음에 인출될 명령어의 주소를 보관하는 레지스터
  3. Memory Address Register(MAR):가장 최근에 인출한 명령어를 보관하는 레지스터
  4. Memory Buffer Register(MBR):기억장치에 저장될 데이터 혹은 기억장치로부터 읽힌 데이터가 일시적으로 저장되는 버퍼 레지스터
(정답률: 78%)
  • "Memory Address Register(MAR):가장 최근에 인출한 명령어를 보관하는 레지스터"가 옳지 않은 설명입니다. MAR은 CPU가 메모리에서 데이터를 읽거나 쓸 때 사용하는 레지스터로, 메모리 주소를 저장합니다. 따라서 MAR에는 가장 최근에 인출한 명령어가 저장되는 것이 아닙니다.
profile_image
1

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

4. 소프트웨어 개발 프로세스 중 원형(Prototyping) 모델의 단계별 진행 과정을 올바르게 나열한 것은?

  1. 요구 사항 분석→시제품 설계→고객의 시제품 평가→시제품 개발→시제품 정제→완제품 생산
  2. 요구 사항 분석→시제품 설계→시제품 개발→고객의 시제품 평가→시제품 정제→완제품 생산
  3. 요구 사항 분석→고객의 시제품 평가→시제품 개발→시제품 설계→시제품 정제→완제품 생산
  4. 요구 사항 분석→시제품 개발→시제품 설계→고객의 시제품 평가→시제품 정제→완제품 생산
(정답률: 83%)
  • 정답은 "요구 사항 분석→시제품 설계→시제품 개발→고객의 시제품 평가→시제품 정제→완제품 생산"입니다.

    원형 모델은 초기에 개발할 제품의 요구 사항을 파악하고, 이를 바탕으로 시제품을 만들어 고객의 요구 사항을 파악하고 개선하는 과정을 반복하는 모델입니다.

    따라서, 요구 사항 분석 단계에서는 고객의 요구 사항을 파악하고, 시제품 설계 단계에서는 이를 바탕으로 시제품의 구조와 기능을 설계합니다. 시제품 개발 단계에서는 설계한 시제품을 실제로 개발하고, 고객의 시제품 평가 단계에서는 개발한 시제품을 고객에게 제공하여 피드백을 받습니다. 시제품 정제 단계에서는 고객의 피드백을 바탕으로 시제품을 개선하고, 완제품 생산 단계에서는 최종적으로 개선된 시제품을 생산합니다.
profile_image
1

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

5. 네트워크 토폴로지에 대한 설명으로 옳지 않은 것은?

  1. 버스(bus)형 토폴로지는 설치가 간단하고 비용이 저렴하다.
  2. 링(ring)형 토폴로지는 통신 회선에 컴퓨터를 추가하거나 삭제하는 등 네트워크 재구성이 용이하다.
  3. 트리(tree)형 토폴로지는 허브(hub)에 문제가 발생해도 전체 네트워크에 영향을 주지 않는다.
  4. 성(star)형 토폴로지는 중앙집중적인 구조이므로 고장 발견과 유지보수가 쉽다.
(정답률: 62%)
  • "트리(tree)형 토폴로지는 허브(hub)에 문제가 발생해도 전체 네트워크에 영향을 주지 않는다."가 옳지 않은 설명입니다. 트리형 토폴로지는 중앙에 루트 노드가 있고, 그 아래에 여러 개의 서브 노드가 붙어 있는 구조입니다. 이 때, 루트 노드나 중간 노드에 문제가 발생하면 그 아래에 있는 모든 노드들에게 영향을 미칩니다. 따라서, 트리형 토폴로지에서도 중요한 노드들에 대한 백업이나 대체 장치가 필요합니다.
profile_image
1

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

6. RAID(Redundant Array of Independent Disks) 레벨에 대한 설명으로 옳지 않은 것은?

  1. RAID 1 구조는 데이터를 두 개 이상의 디스크에 패리티 없이 중복 저장한다.
  2. RAID 2 구조는 데이터를 각 디스크에 비트 단위로 분산 저장하고 여러 개의 해밍코드 검사디스크를 사용한다.
  3. RAID 4 구조는 각 디스크에 데이터를 블록 단위로 분산 저장하고 하나의 패리티 검사디스크를 사용한다.
  4. RAID 5 구조는 각 디스크에 데이터와 함께 이중 분산 패리티 정보를 블록 단위로 분산 저장한다.
(정답률: 43%)
  • RAID 1 구조는 데이터를 두 개 이상의 디스크에 패리티 없이 중복 저장한다. 이것이 옳지 않은 설명입니다.

    RAID 5 구조는 각 디스크에 데이터와 함께 이중 분산 패리티 정보를 블록 단위로 분산 저장합니다. 이중 분산 패리티 정보는 데이터를 복원하는 데 사용됩니다. 따라서 RAID 5 구조는 데이터의 안정성과 성능을 모두 고려한 구조입니다.
profile_image
1

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

7. 다중 스레드(Multi Thread) 프로그래밍의 이점에 대한 설명으로 옳지 않은 것은?

  1. 다중 스레드는 사용자의 응답성을 증가시킨다.
  2. 스레드는 그들이 속한 프로세스의 자원들과 메모리를 공유한다.
  3. 프로세스를 생성하는 것보다 스레드를 생성하여 문맥을 교환하면 오버헤드가 줄어든다.
  4. 다중 스레드는 한 스레드에 문제가 생기더라도 전체 프로세스에 영향을 미치지 않는다.
(정답률: 55%)
  • 다중 스레드는 한 스레드에 문제가 생기더라도 전체 프로세스에 영향을 미치지 않는다는 설명이 옳지 않습니다. 한 스레드에서 발생한 오류나 예외가 전체 프로세스에 영향을 미칠 수 있습니다. 예를 들어, 한 스레드에서 메모리 누수가 발생하면 전체 프로세스의 성능이 저하될 수 있습니다. 따라서, 다중 스레드를 사용할 때에도 각 스레드에서 발생할 수 있는 문제에 대해 적극적으로 대처해야 합니다.
profile_image
1

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

8. OSI(Open Systems Interconnect) 모델에 대한 설명으로 옳지 않은 것은?

  1. 네트워크 계층은 데이터 전송에 관한 서비스를 제공하는 계층으로 송신 측과 수신 측 사이의 실제적인 연결 설정 및 유지, 오류 복구와 흐름 제어 등을 수행한다.
  2. 데이터링크 계층은 네트워크 계층에서 받은 데이터를 프레임(frame)이라는 논리적인 단위로 구성하고 전송에 필요한 정보를 덧붙여 물리 계층으로 전달한다.
  3. 세션 계층은 전송하는 두 종단 프로세스 간의 접속(session)을 설정하고, 유지하고 종료하는 역할을 한다.
  4. 표현 계층은 전송하는 데이터의 표현 방식을 관리하고 암호화하거나 데이터를 압축하는 역할을 한다.
(정답률: 58%)
  • 옳지 않은 설명은 "네트워크 계층은 데이터 전송에 관한 서비스를 제공하는 계층으로 송신 측과 수신 측 사이의 실제적인 연결 설정 및 유지, 오류 복구와 흐름 제어 등을 수행한다."입니다. 올바른 설명은 "전송 계층은 송신 측과 수신 측 간의 신뢰성 있는 데이터 전송을 보장하며, 오류 검출 및 복구, 흐름 제어 등을 수행한다."입니다.
profile_image
1

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

9. 캐시기억장치 교체 알고리즘에 대한 설명으로 옳지 않은 것은?

  1. LRU는 최근에 가장 오랫동안 사용되지 않았던 블록을 교체하는 방법이다.
  2. FIFO는 캐시에 적재된 지 가장 오래된 블록을 먼저 교체하는 방법이다.
  3. LFU는 캐시 블록마다 참조 횟수를 기록함으로써 가장 많이 참조된 블록을 교체하는 방법이다.
  4. Random은 사용 횟수와 무관하게 임의로 블록을 교체하는 방법이다.
(정답률: 78%)
  • LFU는 캐시 블록마다 참조 횟수를 기록함으로써 가장 많이 참조된 블록을 교체하는 방법이 맞는 설명입니다.
profile_image
1

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

10. 8진수 123.321을 16진수로 변환한 것은?

  1. 53.35
  2. 53.321
  3. 53.681
  4. 53.688
(정답률: 58%)
  • 8진수 123.321을 10진수로 변환하면 83.203125가 됩니다. 이를 16진수로 변환하면 53.688이 됩니다. 이유는 16진수에서 소수점 이하 자리는 16의 음의 거듭제곱으로 표현되며, 0.5를 16진수로 표현하면 0.8입니다. 따라서 83을 16진수로 표현한 53과 0.203125를 16진수로 표현한 0.8을 합쳐서 53.688이 됩니다.
profile_image
1

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

11. 암호화 기술에 대한 설명으로 옳은 것은?

  1. 공개키 암호화는 암호화하거나 복호화하는 데 동일한 키를 사용한다.
  2. 공개키 암호화는 비공개키 암호화에 비해 암호화 알고리즘이 복잡하여 처리속도가 느리다.
  3. 공개키 암호화의 대표적인 알고리즘에는 데이터 암호화 표준(Data Encryption Standard)이 있다.
  4. 비밀키 암호화는 암호화와 복호화 과정에서 서로 다른 키를 사용하는 비대칭 암호화(asymmetric encryption)다.
(정답률: 61%)
  • 공개키 암호화는 비공개키 암호화와 달리 복잡한 알고리즘을 사용하기 때문에 처리속도가 느리다.
profile_image
1

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

12. CPU를 다른 프로세스로 교환하려면 이전 프로세스의 상태를 보관하고 새로운 프로세스의 보관된 상태로 복구하는 작업이 필요하다. 이 작업으로 옳은 것은?

  1. 세마포어(Semaphore)
  2. 모니터(Monitor)
  3. 상호배제(Mutual Exclusion)
  4. 문맥교환(Context Switching)
(정답률: 76%)
  • 문맥교환(Context Switching)은 CPU가 다른 프로세스로 전환될 때, 이전 프로세스의 상태를 저장하고 새로운 프로세스의 상태로 복구하는 작업을 말합니다. 따라서 CPU 스케줄링에서 다른 프로세스로 전환하기 위해서는 문맥교환 작업이 필요합니다. 세마포어, 모니터, 상호배제는 동기화 기법으로, 프로세스 간의 공유 자원에 대한 접근을 제어하는 데 사용됩니다.
profile_image
1

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

13. 응용프로그램 제작에 필요한 개발환경, SDK 등 플랫폼 자체를 서비스 형태로 제공하는 클라우드 컴퓨팅 서비스 모델은?

  1. DNS
  2. PaaS
  3. SaaS
  4. IaaS
(정답률: 60%)
  • PaaS는 Platform as a Service의 약자로, 응용프로그램 제작에 필요한 개발환경, SDK 등 플랫폼 자체를 서비스 형태로 제공하는 클라우드 컴퓨팅 서비스 모델입니다. 따라서 응용프로그램을 개발하고 배포하는 데 필요한 모든 것을 제공하므로, 개발자는 인프라 관리에 대한 부담을 덜 수 있습니다.
profile_image
1

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

14. 다음 프로그램의 실행 결과로 옳은 것은?

  1. 200
  2. 300
  3. 400
  4. 500
(정답률: 78%)
  • 이 프로그램은 1부터 100까지의 수 중에서 3의 배수이면서 5의 배수인 수를 모두 더한 값을 출력하는 프로그램입니다. 3과 5의 최소공배수는 15이므로, 15의 배수는 3의 배수와 5의 배수를 모두 만족합니다. 따라서 1부터 100까지의 수 중에서 15의 배수를 모두 더하면 됩니다. 15, 30, 45, 60, 75, 90, 105의 합은 15(1+2+3+4+5+6+7) = 15*28 = 420입니다. 따라서 정답은 400보다 큰 500이 됩니다.
profile_image
1

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

15. 다음 프로그램은 연결 리스트를 만들기 위한 코드의 일부분이다.

아래 그림과 같이 두 개의 노드 first, second가 연결되었다고 가정하고, 위의 코드를 참조하여 노드 tmp를 노드 first와 노드 second 사이에 삽입하고자 할 때, 프로그램 코드로 옳은 것은?

  1. tmp.link = &first;
    first.link = &tmp;
  2. tmp.link = first.link;
    first.link = &tmp;
  3. tmp.link = &second;
    first.link = second.link;
  4. tmp.link = NULL;
    second.link = &tmp;
(정답률: 57%)
  • 노드 tmp를 first와 second 사이에 삽입하기 위해서는, tmp의 link를 first의 link로 설정하고, first의 link를 tmp로 설정해야 한다. 이렇게 하면, tmp가 first와 second를 연결하게 된다. 따라서, 옳은 코드는 "tmp.link = first.link;
    first.link = &tmp;" 이다.
profile_image
1

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

16. 다음 C 프로그램의 결과로 옳은 것은?

  1. 2, 3
  2. 2, 2
  3. 1, 2
  4. 2, 10
(정답률: 41%)
  • 이 프로그램은 2차원 배열 arr을 선언하고, 각 요소를 0으로 초기화한 후, arr[1][1]부터 arr[3][3]까지의 요소를 1씩 증가시키고, arr[2][2]부터 arr[4][4]까지의 요소를 2씩 증가시킨 후, arr[3][3]부터 arr[5][5]까지의 요소를 3씩 증가시킨다.

    따라서, arr[2][2]의 값은 2, arr[3][2]의 값은 3이 된다. 따라서 정답은 "2, 3"이다.
profile_image
1

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

17. 다음 이진 트리에 대하여 후위 순회를 하는 경우 다섯 번째 방문하는 노드는?

  1. A
  2. C
  3. D
  4. F
(정답률: 70%)
  • 이진 트리의 후위 순회는 왼쪽 서브트리, 오른쪽 서브트리, 루트 노드 순으로 방문하는 것입니다. 따라서 다음과 같은 순서로 노드를 방문합니다.

    1. B
    2. E
    3. G
    4. H
    5. F
    6. D
    7. C
    8. A

    따라서 다섯 번째 방문하는 노드는 "F"입니다.
profile_image
1

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

18. 프로세스 스케줄링에 대한 설명으로 옳지 않은 것은?

  1. FCFS(First Come First Served) 스케줄링은 비선점 방식으로 대화식 시스템에 적합하다.
  2. SJF(Shortest Job First) 스케줄링은 실행 시간이 가장 짧은 작업(프로세스)을 신속하게 실행하므로 평균 대기시간이 FCFS 스케줄링보다 짧다.
  3. Round-Robin 스케줄링은 우선순위가 적용되지 않은 단순한 선점형 방식이다.
  4. 다단계 큐(Multilevel Queue) 스케줄링은 우선순위에 따라 준비 큐를 여러 개 사용하는 방식이다.
(정답률: 44%)
  • "FCFS(First Come First Served) 스케줄링은 비선점 방식으로 대화식 시스템에 적합하다." 이 설명이 옳지 않은 것은 아니지만, 대화식 시스템에 적합하지 않다는 이유는 FCFS 스케줄링이 먼저 도착한 작업이 먼저 실행되기 때문에, 작업의 실행시간이 긴 경우 다른 작업들이 오래 기다려야 하기 때문입니다. 따라서, 대화식 시스템에서는 응답시간이 빠른 SJF나 Round-Robin 스케줄링이 더 적합합니다.
profile_image
1

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

19. TCP/IP 프로토콜 스택에 대한 설명으로 옳은 것은?

  1. 데이터링크(datalink) 계층, 전송(transport) 계층, 세션(session) 계층 및 응용(application) 계층으로 구성된다.
  2. ICMP는 데이터링크 계층에서 사용 가능한 프로토콜이다.
  3. UDP는 전송 계층에서 사용되는 비연결형 프로토콜이다.
  4. 응용 계층은 데이터가 목적지까지 찾아갈 경로를 설정하기 위해 라우팅(routing) 프로토콜을 운영한다.
(정답률: 70%)
  • TCP/IP 프로토콜 스택은 데이터링크, 전송, 세션, 응용 계층으로 구성되며, UDP는 전송 계층에서 사용되는 비연결형 프로토콜이다. 이는 데이터를 전송할 때 연결 설정과 해제 과정이 없으며, 데이터의 손실이나 중복 전송 등의 오류 처리를 하지 않는다는 것을 의미한다.
profile_image
1

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

20. 다음 테이블 인스턴스(Instance)들에 대하여 오류 없이 동작하는 SQL(Structured Query Language) 문장은?

  1. SELECT deptno, position, AVG(salary)
    FROM PROFESSOR
    GROUP BY deptno;
  2. (SELECT studno, name
    FROM STUDENT
    WHERE deptno = 101)
    UNION
    (SELECT profno, name
    FROM PROFESSOR
    WHERE deptno = 101);
  3. SELECT grade, COUNT(*), AVG(height)
    FROM STUDENT
    WHERE COUNT(*) > 2
    GROUP BY grade;
  4. SELECT name, grade, height
    FROM STUDENT
    WHERE height > (SELECT height, grade
    FROM STUDENT
    WHERE name = '홍길동');
(정답률: 45%)
  • 해당 테이블 인스턴스에서 STUDENT와 PROFESSOR 테이블에서 deptno가 101인 학생과 교수의 studno, profno, name을 모두 출력하는 것이므로 UNION을 사용하여 두 개의 SELECT 문을 합치면 된다. SELECT 문에서는 각각의 테이블에서 필요한 컬럼들을 선택하고, WHERE 절에서는 deptno가 101인 데이터만을 선택하도록 조건을 걸어준다. 따라서 정답은 "(SELECT studno, name FROM STUDENT WHERE deptno = 101) UNION (SELECT profno, name FROM PROFESSOR WHERE deptno = 101);"이다.
profile_image
1

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

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