9급 지방직 공무원 서울시 컴퓨터일반 필기 기출문제복원 (2015-06-13)

9급 지방직 공무원 서울시 컴퓨터일반 2015-06-13 필기 기출문제 해설

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

9급 지방직 공무원 서울시 컴퓨터일반
(2015-06-13 기출문제)

목록

1과목: 과목 구분 없음

1. 다른 컴퓨터 시스템들과의 통신이 개방된 시스템 간의 연결을 다루는 OSI 모델에서 <보기>가 설명하는 계층은?

  1. 데이터 링크 계층
  2. 물리 계층
  3. 전송 계층
  4. 표현 계층
(정답률: 62%)
  • 물리적 전송 오류를 감지하고, 오류 제어(error control)를 통해 송신자가 데이터를 재전송(retransmission)하도록 처리하는 기능은 OSI 7계층 중 데이터 링크 계층의 핵심 역할입니다.
profile_image
1

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

2. 가상기억장치(virtual memory)에 대한 설명으로 가장 옳은 것은?

  1. 가상기억장치를 사용하면 메모리 단편화가 발생하지 않는다.
  2. 가상기억장치는 실기억장치로의 주소변환 기법이 필요하다.
  3. 가상기억장치의 참조는 실기억장치의 참조보다 빠르다.
  4. 페이징 기법은 가변적 크기의 페이지 공간을 사용한다.
(정답률: 81%)
  • 가상기억장치는 물리적 메모리보다 큰 주소 공간을 사용하므로, 가상 주소를 실제 물리 주소로 매핑하는 주소변환 기법(MMU 등)이 반드시 필요합니다.

    오답 노트

    메모리 단편화 발생하지 않는다: 페이징 기법 사용 시 내부 단편화가 발생할 수 있음
    참조가 더 빠르다: 실기억장치 참조보다 주소 변환 과정이 추가되어 더 느림
    페이징 기법은 가변적 크기: 페이징은 고정 크기, 세그먼팅이 가변 크기를 사용함
profile_image
1

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

3. 스키마 R(A, B, C, D)와 함수적 종속 {A→B, A→C}을 가질 때 다음 중 BCNF 정규형은?

  1. S(A, B, C, D)
  2. S(A, B)와 T(A, C, D)
  3. S(A, C)와 T(A, B, D)
  4. S(A, B, C)와 T(A, D)
(정답률: 54%)
  • BCNF는 모든 결정자가 후보키여야 하는 정규형입니다. 주어진 함수적 종속성에서 $A$가 $B$와 $C$를 결정하므로, 결정자 $A$를 기준으로 분리하여 $S(A, B, C)$와 나머지 속성을 포함한 $T(A, D)$로 분해하는 것이 적절합니다.
profile_image
1

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

4. 해싱(hashing)에 대한 설명으로 옳지 않은 것은?

  1. 검색 속도가 빠르며 삽입, 삭제의 빈도가 높을 때 유리한 방식이다.
  2. 해싱기법에는 숫자 분석법(digit analysis), 제산법(division), 제곱법(mid-square), 접지법(folding) 등이 있다.
  3. 충돌 시 오버플로(overflow) 해결의 부담이 과중되나, 충돌해결에 필요한 기억공간이 필요하지는 않다.
  4. 오버플로(overflow)가 발생했을 때 해결기법으로 개방 주소법(open addressing)과 폐쇄 주소법(close addressing)이 있다.
(정답률: 78%)
  • 해싱에서 오버플로(충돌)가 발생하면 이를 해결하기 위해 별도의 저장 공간(체이닝 등)이나 빈 버킷을 찾는 추가적인 탐색 과정이 필요하므로, 충돌 해결을 위한 기억 공간이나 처리 비용이 반드시 발생합니다.

    오답 노트

    검색 속도: 해시 함수를 통해 직접 주소를 찾으므로 매우 빠름
    해싱 기법: 숫자 분석법, 제산법, 제곱법, 접지법 등이 대표적임
    해결 기법: 개방 주소법과 폐쇄 주소법(체이닝)이 존재함
profile_image
1

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

5. 다음 IPv4에 대한 설명 중 올바른 것은?

  1. 주소는 6바이트 크기로 되어 있다.
  2. 하나의 패킷에는 출발지주소와 목적지주소가 포함되어 있다.
  3. 주소 공간은 3바이트 네트워크 주소 부분과 3바이트 호스트 주소 부분으로 나누어진다.
  4. 스위치는 IPv4주소를 사용하여 해당 패킷이 어느 포트로 이동해야 할지 결정한다.
(정답률: 76%)
  • IPv4 패킷은 네트워크 상에서 데이터를 정확히 전달하기 위해 송신자의 주소인 출발지 주소와 수신자의 주소인 목적지 주소를 반드시 포함해야 합니다.

    오답 노트

    주소 크기: 6바이트가 아니라 4바이트임
    주소 공간: 네트워크와 호스트 부분의 크기는 서브넷 마스크에 따라 가변적이며 고정된 3바이트가 아님
    스위치: IPv4 주소가 아닌 MAC 주소를 사용하여 포트를 결정함
profile_image
1

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

6. 다중 쓰레드(multi thread) 프로그래밍을 할 때 다음 C언어의 변수들 중에서 임계구역(critical section)에 해당하는 것은?

  1. 매크로변수(macro variable)
  2. 지역변수(local variable)
  3. 함수인자(argument)
  4. 전역변수(global variable)
(정답률: 75%)
  • 임계구역은 여러 쓰레드가 동시에 접근하여 값이 변경될 수 있는 공유 자원 영역을 의미합니다. 전역변수는 프로그램 전체에서 공유되므로 여러 쓰레드가 동시에 접근할 때 데이터 불일치 문제가 발생할 수 있어 임계구역에 해당합니다.

    오답 노트

    지역변수, 함수인자: 각 쓰레드의 독립적인 스택 영역에 할당되어 공유되지 않음
    매크로변수: 컴파일 단계에서 상수로 치환되므로 실행 중 값이 변하는 공유 자원이 아님
profile_image
1

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

7. 입력값으로 5, 2, 3, 1, 8이 주어졌을 때 버블 정렬(bubble sort)의 1회전(pass) 결과는?

  1. 1, 2, 3, 5, 8
  2. 2, 3, 1, 5, 8
  3. 2, 5, 3, 1, 8
  4. 8, 5, 3, 2, 1
(정답률: 82%)
  • 버블 정렬은 인접한 두 원소를 비교하여 큰 값을 뒤로 보내는 과정을 반복하며, 1회전이 끝나면 가장 큰 값이 맨 뒤로 이동합니다.
    과정: (5,2) 비교 $\rightarrow$ 2,5,3,1,8 $\rightarrow$ (5,3) 비교 $\rightarrow$ 2,3,5,1,8 $\rightarrow$ (5,1) 비교 $\rightarrow$ 2,3,1,5,8 $\rightarrow$ (5,8) 비교 $\rightarrow$ 2,3,1,5,8
profile_image
1

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

8. 데이터 링크 계층에서 전송 오류를 해결하는 과정에서 사용하는 프레임(frame)의 종류가 아닌 것은?

  1. 부정 응답 프레임
  2. 비트 프레임
  3. 긍정 응답 프레임
  4. 정보 프레임
(정답률: 63%)
  • 데이터 링크 계층의 흐름 및 오류 제어를 위해 사용하는 프레임은 실제 데이터를 담는 정보 프레임, 수신 성공을 알리는 긍정 응답 프레임, 수신 실패를 알리는 부정 응답 프레임으로 구분됩니다. 비트 프레임이라는 용어는 오류 해결을 위한 프레임 종류에 해당하지 않습니다.
profile_image
1

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

9. 현재 사용되는 PC에서와 같이, 일반적인 폰-노이만 방식의 중앙처리장치에 대한 설명으로 옳지 않은 것은?

  1. 중앙처리장치의 중요 구성요소는 산술논리장치(ALU)와 제어부(CU)이다.
  2. 산술논리장치의 계산 결과는 레지스터에 저장된다.
  3. 중앙처리장치에 연결된 어드레스 버스는 단방향 통신을 지원한다.
  4. 중앙처리장치와 주기억장치 사이의 통신은 대부분 DMA방식으로 처리된다.
(정답률: 57%)
  • 중앙처리장치(CPU)와 주기억장치 사이의 일반적인 데이터 통신은 CPU가 직접 제어하는 방식이며, DMA(Direct Memory Access) 방식은 CPU의 개입 없이 입출력 장치와 메모리가 직접 데이터를 주고받아 CPU의 부하를 줄이기 위해 사용하는 특수 방식입니다.

    오답 노트

    산술논리장치(ALU)와 제어부(CU) 구성: CPU의 핵심 구성 요소임
    레지스터 저장: ALU의 연산 결과는 임시 저장소인 레지스터에 저장됨
    어드레스 버스 단방향: CPU가 주소를 지정하여 보내는 단방향 통신이 맞음
profile_image
1

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

10. 다음 C프로그램을 실행한 결과로 옳은 것은?

  1. nanoit
  2. nation
  3. noitan
  4. notian
(정답률: 58%)
  • 주어진 C언어 코드는 문자열 "nation"의 인덱스 $0$부터 $3$까지를 대상으로 대칭 위치의 문자를 서로 교환하는 스왑(Swap) 로직을 수행합니다.
    1. $i=0$: str[5]('n')과 str[0]('n') 교환 $\rightarrow$ "nation"
    2. $i=1$: str[4]('o')와 str[1]('a') 교환 $\rightarrow$ "notian"
    3. $i=2$: str[3]('i')와 str[2]('t') 교환 $\rightarrow$ "notian" (이미 교환됨)
    4. $i=3$: str[2]('t')와 str[3]('i') 교환 $\rightarrow$ "notian"
    최종적으로 출력되는 결과는 notian입니다.
profile_image
1

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

11. 다음 중 컴퓨터 내부에서 제어장치의 구성 요소에 해당되지 않는 것은?

  1. 메모리 버퍼 레지스터
  2. 세그먼트 포인터
  3. 프로그램 카운터
  4. 명령어 레지스터
(정답률: 89%)
  • 제어장치는 CPU 내에서 명령어를 해석하고 각 장치에 제어 신호를 보내는 역할을 하며, 프로그램 카운터, 명령어 레지스터, 메모리 버퍼 레지스터 등이 이에 해당합니다. 세그먼트 포인터는 메모리 주소 지정을 위한 레지스터로 제어장치의 핵심 구성 요소와는 거리가 멉니다.
profile_image
1

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

12. 교착상태(deadlock)를 해결할 수 있는 방법으로 적당하지 않은 것은?

  1. 프로세스들이 필요로 하는 자원에 대해 배타적인 통제권을 갖게 한다.
  2. 자원에 선형으로 고유번호를 할당하고, 각 프로세스는 현재 점유한 자원의 고유번호보다 큰 번호 방향으로만 자원을 요구하도록 한다.
  3. 한 프로세스가 실행되는 데 필요한 모든 자원을 할당한 후 실행시킨다.
  4. 자원을 점유하고 있는 프로세스가 다른 자원을 요구할 때, 점유하고 있는 자원을 반납하고 요구하도록 한다.
(정답률: 62%)
  • 프로세스들이 필요로 하는 자원에 대해 배타적인 통제권을 갖게 하는 상호배제(Mutual Exclusion)는 교착상태를 해결하는 방법이 아니라, 오히려 교착상태를 유발하는 4가지 필수 조건 중 하나입니다.
profile_image
1

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

13. 소프트웨어 프로토타이핑(prototyping)에 대한 설명으로 옳지 않은 것은?

  1. 개발자가 구축할 소프트웨어의 모델을 사전에 만드는 공정으로서 요구사항을 효과적으로 유도, 수집한다.
  2. 프로토타이핑에 의해 만들어진 프로토타입은 폐기될 수 있고, 재사용될 수도 있다.
  3. 프로토타입은 기능적으로 제품의 하위 기능을 담당하는 작동 가능한 모형이다.
  4. 적용사례가 많고, 가장 오래됐으며 널리 사용되는 방법으로 결과물이 명확하므로 가시성이 매우 좋다.
(정답률: 75%)
  • 프로토타이핑은 요구사항을 구체화하기 위해 시제품을 빠르게 만들어 검토하는 기법입니다. 적용 사례가 많고 가장 오래되었으며 결과물이 명확하여 가시성이 좋은 방법은 폭포수 모델(Waterfall Model)에 대한 설명입니다.
profile_image
1

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

14. 다음 데이터베이스에 관한 설명 중 옳은 것은?

  1. 개념스키마는 개체 간의 관계와 제약 조건을 정의한다.
  2. 데이터베이스는 응용프로그램의 네트워크 종속성을 해결한다.
  3. 데이터의 논리적 구조가 변경되어도 응용프로그램은 변경되지 않는 속성을 물리적 데이터 독립성이라고 한다.
  4. 외부스키마는 물리적 저장장치와 밀접한 계층이다.
(정답률: 50%)
  • 개념스키마는 전체 데이터베이스의 논리적 구조로, 모든 사용자 관점을 통합하여 개체 간의 관계, 제약 조건, 보안 정책 등을 정의하는 계층입니다.

    오답 노트

    네트워크 종속성: 데이터베이스는 응용프로그램과 데이터의 독립성을 제공하여 종속성을 해결함
    물리적 데이터 독립성: 논리적 구조가 변경되어도 응용프로그램이 영향받지 않는 것은 논리적 데이터 독립성임
    외부스키마: 사용자나 응용프로그램 관점의 뷰이며, 물리적 저장장치와 밀접한 것은 내부스키마임
profile_image
1

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

15. 'A', 'B', 'L', 'E' 순서로 문자들을 이진 탐색 트리(Binary Search Tree)에 추가했을 때 결과 트리의 깊이(depth)는? (단, 트리의 깊이는 트리에 속한 노드의 최대 레벨을 의미하며, 루트 노드의 레벨은 1로 정의한다.)

  1. 3
  2. 4
  3. 2
  4. 1
(정답률: 62%)
  • 이진 탐색 트리는 루트 노드를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽에 배치합니다.
    1. 'A'가 루트 노드가 됩니다. (레벨 1)
    2. 'B'는 'A'보다 크므로 'A'의 오른쪽에 배치됩니다. (레벨 2)
    3. 'L'은 'A'보다 크고 'B'보다 크므로 'B'의 오른쪽에 배치됩니다. (레벨 3)
    4. 'E'는 'A'보다 크고 'B'보다 크지만 'L'보다 작으므로 'L'의 왼쪽에 배치됩니다. (레벨 4)
    따라서 트리의 최대 레벨인 깊이는 4가 됩니다.
profile_image
1

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

16. 다음 중 값이 나머지 셋과 다른 것은?

  1. 10진수 436.625
  2. 8진수 (664.5)8
  3. 16진수 (1B4.C)16
  4. 10진수 0.436625×103
(정답률: 66%)
  • 각 진법의 수를 10진수로 변환하여 값을 비교합니다.
    ① 10진수 $436.625$는 그대로 $436.625$입니다.
    ② 8진수 $(664.5)_8$ 변환: $$(6 \times 8^2) + (6 \times 8^1) + (4 \times 8^0) + (5 \times 8^{-1}) = 384 + 48 + 4 + 0.625 = 436.625$$
    ③ 16진수 $(1B4.C)_{16}$ 변환: $$(1 \times 16^2) + (11 \times 16^1) + (4 \times 16^0) + (12 \times 16^{-1}) = 256 + 176 + 4 + 0.75 = 436.75$$
    ④ 10진수 $0.436625 \times 10^3 = 436.625$
    따라서 값이 다른 것은 16진수 $(1B4.C)_{16}$입니다.
profile_image
1

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

17. 다음 중 인터럽트 입출력 제어방식은?

  1. 입출력을 하기 위해 CPU가 계속 Flag를 검사하고, 자료전송도 CPU가 직접 처리하는 방식이다.
  2. 입출력을 하기 위해 CPU가 계속 Flag를 검사할 필요가 없고, 대신 입출력 인터페이스가 CPU에게 데이터 전송준비가 되었음을 알리고 자료전송은 CPU가 직접 처리하는 방식이다.
  3. 입출력 장치가 직접 주기억장치를 접근하여 Data Block을 입출력하는 방식으로, 입출력 전송이 CPU 레지스터를 경유하지 않고 수행된다.
  4. CPU의 관여 없이 채널 제어기가 직접 채널 명령어로 작성된 프로그램을 해독하고 실행하여 주기억장치와 입출력장치 사이에서 자료전송을 처리하는 방식이다.
(정답률: 55%)
  • 인터럽트 입출력 제어방식은 CPU가 입출력 장치의 상태를 계속 확인(Polling)하지 않고, 장치가 준비되었을 때 CPU에 인터럽트 신호를 보내 알려줌으로써 효율성을 높이는 방식입니다.

    오답 노트

    CPU가 계속 Flag를 검사: 프로그램에 의한 I/O(Polling) 방식입니다.
    입출력 장치가 직접 주기억장치 접근: DMA(Direct Memory Access) 방식입니다.
    채널 제어기가 직접 처리: 채널(Channel) 제어 방식입니다.
profile_image
1

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

18. 소프트웨어 설계의 원칙으로 옳지 않은 것은?

  1. 상세설계로 갈수록 추상화 수준은 증가한다.
  2. 계층적 조직이 제시되며, 모듈적이어야 한다.
  3. 설계는 분석 모델까지 추적이 가능하도록 한다.
  4. 요구사항 분석에서 얻은 정보를 이용하여 반복적 방법을 통해 이루어져야 한다.
(정답률: 77%)
  • 소프트웨어 설계는 상위 단계에서 하위 단계로 내려갈수록 구체화되는 과정이므로, 상세설계로 갈수록 추상화 수준은 낮아지고 구체화 수준이 증가해야 합니다.
profile_image
1

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

19. 다음 웹 캐시에 대한 설명 중 옳은 것은?

  1. 웹에서 사용자의 상태 정보를 보관하기 위한 것이다.
  2. 캐시 정보를 찾기 위한 방법으로 iterative와 recursive방법이 있다.
  3. 웹 사용자에게 데이터를 더 빠르게 전달할 수 있다.
  4. 인터넷을 이용한 전자상거래에서 쇼핑카트나 추천 등에 사용할 수 있다.
(정답률: 42%)
  • 웹 캐시는 자주 사용하는 데이터를 임시 저장소에 보관하여, 동일한 요청 시 서버까지 가지 않고 빠르게 응답함으로써 웹 사용자에게 데이터를 더 빠르게 전달할 수 있는 기술입니다.

    오답 노트

    사용자의 상태 정보 보관, 쇼핑카트/추천 사용: 세션(Session)이나 쿠키(Cookie)에 대한 설명입니다.
    iterative와 recursive 방법: DNS(도메인 네임 시스템)의 쿼리 방식입니다.
profile_image
1

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

20. 다음의 C프로그램을 실행한 결과로 옳은 것은? (단, 아래의 scanf() 함수의 입력으로 90을 타이핑했다고 가정)

  1. 10, 20, 10
  2. 10, 20, 90
  3. 90, 20, 10
  4. 90, 20, 90
(정답률: 67%)
  • 포인터 변수를 이용한 값의 변경과 역참조 원리를 묻는 문제입니다.
    1. $i=10, j=20$으로 초기화되고, 포인터 $k$가 $i$의 주소를 가리킵니다. ($\text{*k}$는 $i$와 동일한 메모리 공간)
    2. $\text{scanf}("%d", k)$를 통해 $k$가 가리키는 곳($i$)에 90을 입력받으므로 $i$의 값은 90이 됩니다.
    3. $\text{printf}$에서 $i$는 90, $j$는 20, $\text{*k}$는 $i$의 값인 90이 출력됩니다.
    최종 결과: 90, 20, 90
profile_image
1

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

< 이전회차목록