9급 국가직 공무원 컴퓨터일반 필기 기출문제복원 (2024-03-23)

9급 국가직 공무원 컴퓨터일반 2024-03-23 필기 기출문제 해설

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

9급 국가직 공무원 컴퓨터일반
(2024-03-23 기출문제)

목록

1과목: 과목 구분 없음

1. 컴퓨터에서 사용하는 정보량의 단위를 크기가 작은 것부터 큰 것 순서대로 바르게 나열한 것은?

  1. EB, GB, PB, TB
  2. EB, PB, GB, TB
  3. GB, TB, EB, PB
  4. GB, TB, PB, EB
(정답률: 80%)
  • 컴퓨터 정보량 단위는 1024배씩 증가하며, GB(Gigabyte) $\rightarrow$ TB(Terabyte) $\rightarrow$ PB(Petabyte) $\rightarrow$ EB(Exabyte) 순으로 크기가 커집니다.
profile_image
1

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

2. 다음 논리회로도에서 출력 F가 0이 되는 입력 조합을 바르게 연결한 것은?

(정답률: 80%)
  • 논리회로의 출력 $F$가 0이 되기 위한 입력 조건을 찾는 문제입니다. 전체 회로는 $F = X \text{ OR } (Y \text{ XOR } Z)$ 구조입니다.
    OR 게이트의 출력이 0이 되려면 모든 입력이 0이어야 하므로, $X = 0$이고 $(Y \text{ XOR } Z) = 0$이어야 합니다.
    XOR 게이트는 두 입력이 서로 같을 때 0을 출력하므로, $Y$와 $Z$의 값이 같아야 합니다.
    따라서 $X = 0, Y = 1, Z = 1$ (또는 $X = 0, Y = 0, Z = 0$) 조합일 때 출력 $F$는 0이 됩니다.

    오답 노트

    X=0, Y=0, Z=1: XOR 결과가 1이 되어 F=1
    X=0, Y=1, Z=0: XOR 결과가 1이 되어 F=1
    X=1, Y=0, Z=0: X가 1이므로 F=1
profile_image
1

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

3. 암호화 및 복호화를 위하여 개인키와 공개키가 필요한 비대칭키 암호화 기법은?

  1. AES
  2. DES
  3. RSA
  4. SEED
(정답률: 82%)
  • RSA는 공개키(Public Key)와 개인키(Private Key)라는 서로 다른 두 개의 키를 사용하는 대표적인 비대칭키 암호화 기법입니다.

    오답 노트

    AES, DES, SEED: 암호화와 복호화에 동일한 키를 사용하는 대칭키 암호화 기법
profile_image
1

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

4. OSI 모형의 네트워크 계층 프로토콜에 속하지 않는 것은?

  1. ICMP
  2. IGMP
  3. IP
  4. SLIP
(정답률: 76%)
  • SLIP은 물리 계층과 네트워크 계층 사이에서 동작하는 데이터링크 계층 프로토콜입니다.

    오답 노트

    ICMP, IGMP, IP: 모두 네트워크 계층(3계층)에서 동작하는 프로토콜
profile_image
1

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

5. 클라우드 컴퓨팅 서비스에서 애플리케이션을 구축, 테스트, 설치할 수 있도록 통합환경을 제공하는 것은?

  1. IaaS
  2. NAS
  3. PaaS
  4. SaaS
(정답률: 54%)
  • 애플리케이션 구축, 테스트, 설치를 위한 통합 환경(OS, 런타임, 미들웨어 등)을 제공하는 서비스는 PaaS입니다.

    오답 노트

    IaaS: 기본적인 컴퓨팅 인프라(서버, 스토리지, 네트워크)만 제공
    SaaS: 클라우드 기반의 완성된 소프트웨어 서비스를 제공
profile_image
1

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

6. 10진수 뺄셈 (7-12)를 2의 보수를 이용하여 계산한 결과는? (단, 저장 공간은 8비트로 한다)

  1. 0000 0100
  2. 0000 0101
  3. 1111 0101
  4. 1111 1011
(정답률: 69%)
  • 10진수 뺄셈 $7 - 12$의 결과인 $-5$를 8비트 2의 보수 방식으로 표현하는 과정입니다.
    ① [기본 공식]
    $$2\text{s Complement} = (1\text{s Complement}) + 1$$
    ② [숫자 대입]
    $$5 = 00000101 \rightarrow 1\text{s Comp} = 11111010 \rightarrow 2\text{s Comp} = 11111010 + 1$$
    ③ [최종 결과]
    $$11111011$$
profile_image
1

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

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

  1. RAID 레벨 0: 패리티 없이 데이터를 분산 저장한다.
  2. RAID 레벨 1: 패리티 비트를 사용하여 오류를 검출한다.
  3. RAID 레벨 2: 해밍 코드를 사용하여 오류 검출 및 정정이 가능하다.
  4. RAID 레벨 5: 데이터와 함께 패리티 정보를 블록 단위로 분산 저장한다.
(정답률: 51%)
  • RAID 레벨 1은 데이터를 동일하게 복제하여 저장하는 미러링(Mirroring) 방식을 사용하며, 패리티 비트를 사용하지 않습니다.

    오답 노트

    RAID 레벨 0: 스트라이핑을 통해 데이터를 분산 저장함
    RAID 레벨 2: 해밍 코드를 사용하여 오류 검출 및 정정이 가능함
    RAID 레벨 5: 패리티 정보를 모든 디스크에 분산 저장하여 효율성을 높임
profile_image
1

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

8. RISC와 비교하여 CISC의 특징으로 옳지 않은 것은?

  1. 명령어의 종류가 많다.
  2. 명령어의 길이가 고정적이다.
  3. 명령어 파이프라인이 비효율적이다.
  4. 회로 구성이 복잡하다.
(정답률: 66%)
  • CISC(Complex Instruction Set Computer)는 복잡하고 다양한 명령어를 제공하여 소프트웨어적인 효율성을 높인 설계 방식입니다. 명령어의 종류가 많고 회로가 복잡하며, 명령어의 길이가 가변적이기 때문에 파이프라이닝 효율이 떨어지는 특징이 있습니다.

    오답 노트

    명령어의 길이가 고정적이다: 이는 RISC의 특징입니다.
profile_image
1

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

9. 다음 파이썬 코드는 이진 탐색을 이용하여 자연수 데이터를 탐색하는 함수이다. (가), (나)에 들어갈 내용을 바르게 연결한 것은? (단, ds는 오름차순으로 정렬된 중복 없는 자연수 리스트이고, key는 찾고자 하는 값이다)

(정답률: 69%)
  • 이진 탐색은 정렬된 리스트에서 중앙값과 찾으려는 값을 비교하여 탐색 범위를 절반씩 줄여나가는 알고리즘입니다.
    찾는 값(key)이 중앙값(ds[mid])보다 작으면 탐색 범위의 끝(high)을 중앙값의 왼쪽으로 옮겨야 하므로 $\text{high} = \text{mid} - 1$이 되고, 찾는 값이 중앙값보다 크면 탐색 범위의 시작(low)을 중앙값의 오른쪽으로 옮겨야 하므로 $\text{low} = \text{mid} + 1$이 됩니다.
profile_image
1

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

10. 3개의 페이지 프레임으로 구성된 기억장치에서 다음과 같은 참조열 순으로 페이지가 참조될 때, 페이지 부재 발생 횟수가 가장 적은 교체 방법은? (단, 초기 페이지 프레임은 비어 있으며, 페이지 교체 과정에서 사용 빈도수가 동일한 경우는 가장 오래된 것을 먼저 교체한다)

  1. FIFO(First In First Out)
  2. LFU(Least Frequently Used)
  3. LRU(Least Recently Used)
  4. MFU(Most Frequently Used)
(정답률: 57%)
  • 참조열 에 대해 각 알고리즘별 페이지 부재(Page Fault) 횟수를 분석하여 가장 적은 방법을 찾습니다.
    1. FIFO: 가장 먼저 들어온 페이지를 교체합니다. (부재 횟수: 7회)
    2. LFU: 참조 횟수가 가장 적은 페이지를 교체합니다. (부재 횟수: 8회)
    3. LRU: 가장 오랫동안 사용되지 않은 페이지를 교체합니다. (부재 횟수: 6회)
    4. MFU: 참조 횟수가 가장 많은 페이지를 교체합니다. (부재 횟수: 8회)
    따라서 페이지 부재가 6회로 가장 적게 발생하는 LRU(Least Recently Used)가 정답입니다.
profile_image
1

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

11. 교착상태(deadlock)가 발생하기 위한 필요조건에 해당하지 않는 것은?

  1. 상호 배제(mutual exclusion)
  2. 선점(preemption)
  3. 순환 대기(circular wait)
  4. 점유와 대기(hold and wait)
(정답률: 74%)
  • 교착상태(Deadlock)가 발생하기 위해서는 상호 배제, 점유와 대기, 비선점, 환형 대기라는 4가지 조건이 모두 동시에 만족되어야 합니다. 따라서 '선점(preemption)'은 발생 조건이 아니며, 오히려 비선점 상태여야 교착상태가 발생합니다.
profile_image
1

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

12. 다음 CPU 스케줄링 알고리즘 중 비선점형 알고리즘만을 모두 고르면?

  1. ㄱ, ㄴ
  2. ㄱ, ㄹ
  3. ㄴ, ㄷ
  4. ㄷ, ㄹ
(정답률: 59%)
  • CPU 스케줄링에서 비선점형 알고리즘은 프로세스가 CPU를 할당받으면 종료되거나 대기 상태로 전환될 때까지 CPU를 강제로 뺏지 않는 방식입니다.
    비선점형 알고리즘: FCFS(First Come First Served), SJF(Shortest Job First), HRN(Highest Response-ratio Next)
    선점형 알고리즘: RR(Round Robin), SRT(Shortest Remaining Time), 다단계 큐 등
    따라서 비선점형인 ㄱ. FCFS 스케줄링과 ㄴ. HRN 스케줄링이 정답입니다.
profile_image
1

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

13. 네트워크 접속 형태 중 트리형 토폴로지(topology)에 대한 설명으로 옳지 않은 것은?

  1. 네트워크의 확장이 용이하다.
  2. 병목 현상이 나타나지 않는다.
  3. 분산처리 방식을 구현할 수 있다.
  4. 중앙의 서버 컴퓨터에 장애가 발생하면 전체 네트워크에 영향을 준다.
(정답률: 71%)
  • 트리형 토폴로지는 계층적 구조로 네트워크 확장이 용이하지만, 상위 노드로 갈수록 트래픽이 집중되어 병목 현상이 발생할 수 있습니다.

    오답 노트

    네트워크의 확장이 용이하다: 트리형의 주요 장점임
    분산처리 방식을 구현할 수 있다: 계층 구조를 통해 가능함
    중앙의 서버 컴퓨터에 장애가 발생하면 전체 네트워크에 영향을 준다: 최상위 루트 노드 장애 시 하위 네트워크 통신 불가
profile_image
1

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

14. IPv4 주소를 클래스별로 분류했을 때, B 클래스에 해당하는 것은?

  1. 12.23.34.45
  2. 111.111.11.11
  3. 128.128.128.128
  4. 222.111.222.111
(정답률: 68%)
  • IPv4 주소 클래스는 첫 번째 옥텟의 범위로 구분합니다. B 클래스는 $128.0.0.0$부터 $191.255.255.255$까지의 범위를 가지므로, 128.128.128.128이 이에 해당합니다.
profile_image
1

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

15. 다음 설명에 해당하는 모듈의 결합도는?

  1. 공통 결합도(common coupling)
  2. 내용 결합도(content coupling)
  3. 외부 결합도(external coupling)
  4. 자료 결합도(data coupling)
(정답률: 54%)
  • 한 모듈이 다른 모듈의 내부 기능이나 자료를 직접 참조하거나 제어가 이동하는 경우는 결합도가 가장 높은 내용 결합도(content coupling)에 해당합니다.

    오답 노트

    공통 결합도: 전역 변수를 공유하는 경우
    외부 결합도: 외부의 데이터나 프로토콜을 참조하는 경우
    자료 결합도: 파라미터를 통해서만 상호 작용하는 가장 이상적인 경우
profile_image
1

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

16. 다음 <정보>를 이용하여 아래에 주어진 <연산>을 차례대로 수행한 후의 스택 상태는?

(정답률: 69%)
  • 스택(Stack)은 LIFO(Last-In-First-Out) 구조로, Push는 데이터를 넣고 top을 증가시키며, Pop은 최상단 데이터를 제거하고 top을 감소시킵니다.
    연산 과정:
    1. Create(s, 4): top = -1
    2. Push(s, 'S'): s[0]='S', top = 0
    3. Push(s, 'T'): s[1]='T', top = 1
    4. Pop(s): 'T' 제거, top = 0
    5. Push(s, 'R'): s[1]='R', top = 1
    6. Push(s, 'P'): s[2]='P', top = 2
    7. Push(s, 'Q'): s[3]='Q', top = 3
    8. Pop(s): 'Q' 제거, top = 2
    최종 상태: s[0]='S', s[1]='R', s[2]='P'이며 top은 2를 가리킵니다.
profile_image
1

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

17. 다음은 전체 버킷 개수가 11개이고 버킷당 1개의 슬롯을 가지는 빈 해시 테이블이다. 입력키 12, 33, 13, 55, 23, 83, 11을 순서대로 저장하였을 때, 입력키 23이 저장된 버킷 번호는? (단, 해시 함수는 h(k)=k mod 11이고, 충돌 해결은 선형 조사법을 사용한다)

  1. 1
  2. 2
  3. 3
  4. 4
(정답률: 60%)
  • 해시 함수 $h(k) = k \bmod 11$과 선형 조사법(충돌 시 다음 빈 슬롯으로 이동)을 적용하여 저장 위치를 계산합니다.
    1. $12 \bmod 11 = 1$ $\rightarrow$ 버킷 1 저장
    2. $33 \bmod 11 = 0$ $\rightarrow$ 버킷 0 저장
    3. $13 \bmod 11 = 2$ $\rightarrow$ 버킷 2 저장
    4. $55 \bmod 11 = 0$ $\rightarrow$ 버킷 0 충돌 $\rightarrow$ 버킷 1 충돌 $\rightarrow$ 버킷 2 충돌 $\rightarrow$ 버킷 3 저장
    5. $23 \bmod 11 = 1$ $\rightarrow$ 버킷 1 충돌 $\rightarrow$ 버킷 2 충돌 $\rightarrow$ 버킷 3 충돌 $\rightarrow$ 버킷 4 저장
    따라서 입력키 23은 버킷 4에 저장됩니다.
profile_image
1

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

18. 다음 파이썬 코드는 std 변수에 저장된 각각의 Student 객체에 대해 학생 id 및 국어, 영어 성적의 평균을 출력한다. (가)~(다)에 들어갈 내용을 바르게 연결한 것은?

(정답률: 51%)
  • 파이썬 클래스 메서드 호출과 반복문 구조를 묻는 문제입니다.
    (가)는 클래스 내부 메서드이므로 $self.sum()$을 호출하여 2로 나누어야 하며, (나)는 Student 객체들이 담긴 리스트 $std$를 순회해야 합니다. (다)는 반복문 변수 $to$를 통해 객체의 속성 $id$와 메서드 $avg()$의 결과값을 출력해야 합니다.
    따라서 (가) $self.sum() / 2$, (나) $std$, (다) $to.id, to.avg()$가 정답입니다.
profile_image
1

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

19. DBMS에서의 병행 수행 및 병행 제어에 대한 설명으로 옳은 것은?

  1. 2단계 로킹 규약을 적용하면 트랜잭션 스케줄의 직렬 가능성을 보장할 수 있으나 교착상태가 발생할 수도 있다.
  2. 트랜잭션이 데이터에 공용 lock 연산을 수행하면 해당 데이터에 read, write 연산을 모두 수행할 수 있다.
  3. 연쇄 복귀는 하나의 트랜잭션이 여러 개의 데이터 변경 연산을 수행할 때 일관성 없는 상태의 데이터베이스에서 데이터를 가져와 연산을 수행함으로써 모순된 결과가 발생하는 것이다.
  4. 갱신 분실은 트랜잭션이 완료되기 전에 장애가 발생하여 rollback 연산을 수행하면, 이 트랜잭션이 장애 발생 전에 변경한 데이터를 가져가 변경 연산을 수행한 또 다른 트랜잭션에도 rollback 연산을 수행하여야 한다는 것이다.
(정답률: 45%)
  • 2단계 로킹 규약은 트랜잭션이 필요한 모든 락을 획득하는 확장 단계와 모든 락을 해제하는 수축 단계로 나누어 직렬 가능성을 보장하지만, 서로 락을 기다리는 교착상태가 발생할 수 있습니다.

    오답 노트

    공용 lock 연산: 읽기만 가능하며 쓰기 연산은 불가능함
    연쇄 복귀: 장애 발생 시 해당 데이터를 사용한 다른 트랜잭션까지 함께 롤백되어야 하는 현상임
    갱신 분실: 두 개 이상의 트랜잭션이 동시에 데이터를 갱신하여 한 트랜잭션의 갱신 결과가 사라지는 현상임
profile_image
1

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

20. 다음 C 프로그램의 출력 결과는?

  1. 1 2 3 5 7
  2. 1 3 5 7 9
  3. 3 3 5 9 9
  4. 3 5 3 8 8
(정답률: 53%)
  • 재귀 함수 recursive(n)의 호출 흐름과 출력 순서를 분석하는 문제입니다. n이 2 이하일 때는 n을 반환하고, 2보다 클 때는 recursive(n-1)과 recursive(n-2)의 합을 구한 뒤 그 합(sum)을 출력합니다.
    1. recursive(2) = 2, recursive(1) = 1
    2. recursive(3) = recursive(2) + recursive(1) = 2 + 1 = 3 $\rightarrow$ 3 출력
    3. recursive(4) = recursive(3) + recursive(2) = 3 + 2 = 5 $\rightarrow$ 5 출력
    4. recursive(5)의 내부 호출 과정에서 recursive(3)이 다시 호출되어 3이 출력되고, 이후 recursive(4)와 recursive(3)의 합인 8이 출력됩니다.
    최종적으로 출력되는 순서는 3 5 3 8 이며, 마지막에 main 함수에서 recursive(5)의 최종 결과값인 8을 출력하므로 3 5 3 8 8 이 됩니다.
profile_image
1

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

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