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

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

이 페이지는 9급 국가직 공무원 컴퓨터일반 2020-07-11 기출문제를 CBT 방식으로 풀이하고 정답 및 회원들의 상세 해설을 확인할 수 있는 페이지입니다.

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

목록

1과목: 과목 구분 없음

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

  1. 분절화(Segmentation)
  2. 표본화(Sampling)
  3. 부호화(Encoding)
  4. 양자화(Quantization)
(정답률: 80%)
  • 펄스부호변조(PCM)는 아날로그 신호를 디지털로 바꾸는 과정으로, 표본화 $\rightarrow$ 양자화 $\rightarrow$ 부호화의 3단계를 거칩니다.
    분절화(Segmentation)는 PCM의 표준 과정에 포함되지 않습니다.

    오답 노트

    표본화: 일정한 시간 간격으로 신호를 추출함
    양자화: 추출된 신호를 정수 값으로 근사화함
    부호화: 양자화된 값을 2진수로 변환함
profile_image
1

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

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

  1. 데이터를 프로그램과 분리함으로써 데이터 독립성이 향상된다.
  2. 데이터의 공유와 동시 접근이 가능하다.
  3. 데이터의 중복을 허용하여 데이터의 일관성을 유지한다.
  4. 데이터의 무결성과 보안성을 유지한다.
(정답률: 86%)
  • 데이터 일관성을 유지하기 위해서는 데이터의 중복을 최소화해야 합니다. 중복을 허용하면 데이터 수정 시 일부만 변경되어 불일치 현상이 발생할 수 있기 때문입니다.
profile_image
1

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

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

  1. Accumulator(AC):연산 과정의 데이터를 일시적으로 저장하는 레지스터
  2. Program Counter(PC):다음에 인출될 명령어의 주소를 보관하는 레지스터
  3. Memory Address Register(MAR):가장 최근에 인출한 명령어를 보관하는 레지스터
  4. Memory Buffer Register(MBR):기억장치에 저장될 데이터 혹은 기억장치로부터 읽힌 데이터가 일시적으로 저장되는 버퍼 레지스터
(정답률: 80%)
  • Memory Address Register(MAR)는 CPU가 기억장치에서 데이터를 읽거나 쓰기 위해 접근하려는 메모리의 주소를 일시적으로 보관하는 레지스터입니다.

    오답 노트

    가장 최근에 인출한 명령어를 보관하는 레지스터: 명령어 레지스터(IR)
profile_image
1

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

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

  1. 요구 사항 분석→시제품 설계→고객의 시제품 평가→시제품 개발→시제품 정제→완제품 생산
  2. 요구 사항 분석→시제품 설계→시제품 개발→고객의 시제품 평가→시제품 정제→완제품 생산
  3. 요구 사항 분석→고객의 시제품 평가→시제품 개발→시제품 설계→시제품 정제→완제품 생산
  4. 요구 사항 분석→시제품 개발→시제품 설계→고객의 시제품 평가→시제품 정제→완제품 생산
(정답률: 87%)
  • 원형 모델은 사용자의 요구사항을 빠르게 파악하기 위해 시제품을 반복적으로 제작하는 모델입니다. 기본적으로 분석, 설계, 구현의 흐름을 따르며, 고객의 평가와 정제 과정을 거쳐 완제품을 생산합니다.
    정답 순서: 요구 사항 분석 $\rightarrow$ 시제품 설계 $\rightarrow$ 시제품 개발 $\rightarrow$ 고객의 시제품 평가 $\rightarrow$ 시제품 정제 $\rightarrow$ 완제품 생산
profile_image
1

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

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

  1. 버스(bus)형 토폴로지는 설치가 간단하고 비용이 저렴하다.
  2. 링(ring)형 토폴로지는 통신 회선에 컴퓨터를 추가하거나 삭제하는 등 네트워크 재구성이 용이하다.
  3. 트리(tree)형 토폴로지는 허브(hub)에 문제가 발생해도 전체 네트워크에 영향을 주지 않는다.
  4. 성(star)형 토폴로지는 중앙집중적인 구조이므로 고장 발견과 유지보수가 쉽다.
(정답률: 72%)
  • 트리형 토폴로지는 계층적인 구조로, 상위 노드인 허브(hub)가 하위 노드들을 관리합니다. 따라서 중앙 노드인 허브에 문제가 발생하면 해당 허브에 연결된 모든 하위 네트워크에 심각한 영향을 줍니다.
profile_image
1

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

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

  1. RAID 1 구조는 데이터를 두 개 이상의 디스크에 패리티 없이 중복 저장한다.
  2. RAID 2 구조는 데이터를 각 디스크에 비트 단위로 분산 저장하고 여러 개의 해밍코드 검사디스크를 사용한다.
  3. RAID 4 구조는 각 디스크에 데이터를 블록 단위로 분산 저장하고 하나의 패리티 검사디스크를 사용한다.
  4. RAID 5 구조는 각 디스크에 데이터와 함께 이중 분산 패리티 정보를 블록 단위로 분산 저장한다.
(정답률: 47%)
  • RAID 5는 패리티 정보를 모든 디스크에 분산 저장하는 방식입니다. 이중 분산 패리티를 사용하여 더 높은 결함 허용 능력을 제공하는 구조는 RAID 6입니다.
profile_image
1

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

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

  1. 다중 스레드는 사용자의 응답성을 증가시킨다.
  2. 스레드는 그들이 속한 프로세스의 자원들과 메모리를 공유한다.
  3. 프로세스를 생성하는 것보다 스레드를 생성하여 문맥을 교환하면 오버헤드가 줄어든다.
  4. 다중 스레드는 한 스레드에 문제가 생기더라도 전체 프로세스에 영향을 미치지 않는다.
(정답률: 62%)
  • 다중 스레드는 프로세스의 메모리 공간과 자원을 공유하기 때문에, 한 스레드에서 치명적인 오류가 발생하면 공유 자원을 사용하는 전체 프로세스가 영향을 받아 종료될 수 있습니다.
profile_image
1

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

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

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

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

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

  1. LRU는 최근에 가장 오랫동안 사용되지 않았던 블록을 교체하는 방법이다.
  2. FIFO는 캐시에 적재된 지 가장 오래된 블록을 먼저 교체하는 방법이다.
  3. LFU는 캐시 블록마다 참조 횟수를 기록함으로써 가장 많이 참조된 블록을 교체하는 방법이다.
  4. Random은 사용 횟수와 무관하게 임의로 블록을 교체하는 방법이다.
(정답률: 76%)
  • LFU(Least Frequently Used) 알고리즘은 참조 횟수를 기록하여 사용 빈도가 가장 적은 블록을 우선적으로 교체하는 방식입니다. 따라서 가장 많이 참조된 블록을 교체한다는 설명은 틀렸습니다.
profile_image
1

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

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

  1. 53.35
  2. 53.321
  3. 53.681
  4. 53.688
(정답률: 57%)
  • 8진수를 16진수로 변환하기 위해서는 먼저 2진수로 변환한 뒤, 4비트씩 묶어 16진수로 변환하는 과정이 필요합니다.
    1. 8진수 $123.321$을 2진수로 변환: $001\ 010\ 011.011\ 010\ 001_2$
    2. 소수점을 기준으로 4비트씩 묶기 (빈 자리는 0으로 채움): $0000\ 0101\ 0011.0110\ 1000\ 1000_2$
    3. 16진수로 변환: $53.688_{16}$
profile_image
1

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

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

  1. 공개키 암호화는 암호화하거나 복호화하는 데 동일한 키를 사용한다.
  2. 공개키 암호화는 비공개키 암호화에 비해 암호화 알고리즘이 복잡하여 처리속도가 느리다.
  3. 공개키 암호화의 대표적인 알고리즘에는 데이터 암호화 표준(Data Encryption Standard)이 있다.
  4. 비밀키 암호화는 암호화와 복호화 과정에서 서로 다른 키를 사용하는 비대칭 암호화(asymmetric encryption)다.
(정답률: 66%)
  • 공개키 암호화는 비대칭 키 방식을 사용하여 키 관리가 용이하지만, 수학적 알고리즘이 복잡하여 대칭키(비공개키) 방식보다 처리 속도가 느린 특징이 있습니다.

    오답 노트

    공개키 암호화는 동일한 키가 아닌 서로 다른 쌍의 키를 사용함
    데이터 암호화 표준(DES)은 비공개키(대칭키) 암호화 알고리즘임
    비밀키 암호화는 서로 다른 키가 아닌 동일한 키를 사용하는 대칭 암호화임
profile_image
1

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

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

  1. 세마포어(Semaphore)
  2. 모니터(Monitor)
  3. 상호배제(Mutual Exclusion)
  4. 문맥교환(Context Switching)
(정답률: 79%)
  • CPU가 현재 실행 중인 프로세스의 상태(Context)를 PCB에 저장하고, 다음으로 실행할 프로세스의 상태를 복구하여 교체하는 작업을 문맥교환(Context Switching)이라고 합니다.

    오답 노트

    세마포어, 모니터, 상호배제: 프로세스 간 동기화 및 임계 구역 접근 제어를 위한 기법들
profile_image
1

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

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

  1. DNS
  2. PaaS
  3. SaaS
  4. IaaS
(정답률: 68%)
  • 클라우드 서비스 모델 중 개발 환경과 SDK 등 플랫폼 자체를 제공하는 서비스는 PaaS입니다.

    오답 노트

    IaaS: 물리적 서버, 스토리지 등 인프라 자원을 가상화하여 제공
    SaaS: 설치 없이 웹을 통해 소프트웨어 기능을 직접 이용
profile_image
1

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

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

  1. 200
  2. 300
  3. 400
  4. 500
(정답률: 80%)
  • 포인터 연산을 통해 배열의 특정 요소에 접근하고 값을 계산하는 문제입니다.
    1. ptr은 array의 시작 주소를 가리키므로, *(ptr+3)은 배열의 4번째 요소인 400을 의미합니다.
    2. 여기에 100을 더하면 $400 + 100 = 500$이 됩니다.
    따라서 실행 결과는 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;
(정답률: 65%)
  • 연결 리스트에서 노드를 삽입하려면 기존의 연결 고리를 끊지 않고 새로운 노드를 먼저 연결한 뒤, 앞 노드의 링크를 수정해야 합니다.
    1. 먼저 tmp의 link에 first가 가리키던 second의 주소(first.link)를 대입하여 tmp와 second를 연결합니다.
    2. 그 다음 first의 link에 tmp의 주소(&tmp)를 대입하여 first와 tmp를 연결합니다.
    따라서 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
(정답률: 46%)
  • C언어의 if문 조건식 내에서 '='는 비교가 아닌 대입 연산자입니다.
    1. `if (a = 2)` 문장에서 변수 $a$에 2가 대입되며, 대입된 값 2는 0이 아니므로 '참(true)'으로 처리됩니다.
    2. 이에 따라 첫 번째 if문 내부의 `b = a + 1`이 실행되어 $b$는 $2 + 1 = 3$이 됩니다.
    3. 최종적으로 `printf`를 통해 출력되는 $a$와 $b$의 값은 2, 3입니다.
profile_image
1

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

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

  1. A
  2. C
  3. D
  4. F
(정답률: 74%)
  • 후위 순회는 '왼쪽 자식 노드 $\rightarrow$ 오른쪽 자식 노드 $\rightarrow$ 루트 노드' 순으로 방문합니다.
    제시된 트리를 후위 순회하면 방문 순서는 다음과 같습니다.
    D $\rightarrow$ G $\rightarrow$ E $\rightarrow$ B $\rightarrow$ F $\rightarrow$ C $\rightarrow$ 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) 스케줄링은 우선순위에 따라 준비 큐를 여러 개 사용하는 방식이다.
(정답률: 49%)
  • FCFS 스케줄링은 먼저 도착한 프로세스를 먼저 처리하는 비선점 방식이므로, 실행 시간이 긴 프로세스가 앞에 있을 경우 뒤의 프로세스들이 오래 대기하게 되어 대화식 시스템에는 부적합합니다.
profile_image
1

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

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

  1. 데이터링크(datalink) 계층, 전송(transport) 계층, 세션(session) 계층 및 응용(application) 계층으로 구성된다.
  2. ICMP는 데이터링크 계층에서 사용 가능한 프로토콜이다.
  3. UDP는 전송 계층에서 사용되는 비연결형 프로토콜이다.
  4. 응용 계층은 데이터가 목적지까지 찾아갈 경로를 설정하기 위해 라우팅(routing) 프로토콜을 운영한다.
(정답률: 74%)
  • UDP는 전송 계층에서 동작하며, 연결 설정 과정 없이 데이터를 전송하는 비연결형 프로토콜입니다.

    오답 노트

    데이터링크, 전송, 세션, 응용 계층 구성: TCP/IP는 네트워크 액세스, 인터넷, 전송, 응용 계층으로 구성됨
    ICMP: 인터넷 계층 프로토콜임
    라우팅 프로토콜: 인터넷 계층에서 경로 설정을 수행함
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 = '홍길동');
(정답률: 55%)
  • UNION 연산자는 두 쿼리의 결과 집합을 합치는 연산자로, 선택된 컬럼의 수와 데이터 타입이 일치해야 합니다. 테이블에서 STUDENT의 (studno, name)과 PROFESSOR의 (profno, name)은 모두 (숫자, 문자열) 구성으로 일치하므로 정상 동작합니다.

    오답 노트

    SELECT deptno, position, AVG(salary) FROM PROFESSOR GROUP BY deptno;: GROUP BY에 포함되지 않은 position 컬럼을 SELECT 절에 단독으로 사용할 수 없습니다.
    WHERE COUNT(*) > 2: 집계 함수를 조건으로 사용할 때는 WHERE가 아닌 HAVING 절을 사용해야 합니다.
    WHERE height > (SELECT height, grade...): 서브쿼리의 결과 컬럼 수는 메인쿼리의 비교 대상인 height 하나와 일치해야 하지만, height와 grade 두 개를 반환하여 비교가 불가능합니다.
profile_image
1

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

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