2022년 3월 5일 기출문제 오답노트
1과목 소프트웨어 설계
19. 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어를 말하는 것은?
- EAI
- Enterprise Application Integration: 기업 응용 프로그램 통합, 기업용 응용 프로그램의 구조적 통합 방안을 가리킴
- FEP
- Front-End Processor: 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 차지하는 시간을 줄여주는 프로그램이나 하드웨어
- GPL
- General Public License: 자유 소프트웨어 재단(OSF)에서 만든 자유 소프트웨어 라이선스
- Duplexing
- 이중통신 또는 쌍방향 통신은 두 지점 사이에서 정보를 주고 받는 전자 통신 시스템을 말함
- 이중통신을 할 때마다 전송 방향마다 두 개의 통신 선호를 사용하면 단순하지만 전송로를 아끼기 위해 여러 종류의 전송 방식이 쓰인다
2과목 소프트웨어 개발
23. 스택(Stack)에 대한 옳은 내용으로만 나열된 것은?
- FIFO 방식으로 처리된다
- FIFO: 큐 / FILO: 스택
- 순서 리스트의 뒤에서 노드가 삽입되며, 앞에서 노드가 제거된다
- 큐
- 선형 리스트의 양쪽 끝에서 삽입과 삭제가 모두 가능한 자료 구조이다
- 데크
- 인터럽트 처리, 서브루틴 호출 작업 등에 응용된다
36. 분할 정복(Divide and Conquer)에 기반한 알고리즘으로 피벗을 사용하여 최악의 경우
회의 비교를 수행해야 하는 정렬은?
종류 | 최상 | 평균 | 최악 |
삽입정렬 | n | n^2 | n^2 |
선택정렬 | n^2 | n^2 | n^2 |
버블정렬 | n^2 | n^2 | n^2 |
셸 정렬 | n | n^1.5 | n^2 |
퀵 정렬 | nlog2n | nlog2n | n^2 |
힙 정렬 | nlog2n | nlog2n | nlog2n |
병합정렬 | nlog2n | nlog2n | nlog2n |
- 선택정렬: 배열 내 최소값을 찾은 다음 정렬되지 않은 맨 앞 값과 교환하며 정렬해 나가는 방법
- 버블정렬: 왼쪽에서부터 두 데이터를 비교 → 앞에 있는 데이터가 뒤에 있는 데이터보다 크면 자리를 바꾸는 정렬 알고리즘
- 삽입정렬: 한 개의 값을 추출한 다음 앞쪽으로 비교해서 본인의 자리를 알맞게 찾아가게끔 하는 정렬
- 퀵 정렬: 분할 정복 알고리즘의 하나
- 하나의 리스트를 피벗을 기준으로 두 개의 비균등한 크기로 분할하고 분할된 부분 리스트를 정렬한 다음 두 개의 정렬된 부분 리스트를 합하여 전체가 정렬된 리스트가 되게 하는 방법
3과목 데이터베이스 구축
53. 다음 SQL문의 실행 결과로 생성되는 튜플 수는?
- 5
55. 트랜잭션의 상태 중 트랜잭션의 수행이 실패하여 Rollback 연산을 실행한 상태는?
- Active: 트랜잭션이 시작했고 동작 중인 상태
- Partially Committed: 트랜잭션에서 실행한 모든 쿼리문이 완료되었지만, 최종적으로 데이터베이스에 반영하지 않은 상태(Commit 명령을 수행하지 않은 상태)를 의미함
- Committed: 트랜잭션 작업이 정상적으로 마무리, 종료된 상태
- Failed: 트랜잭션이 작업이 수행 도중 비정상적으로 종료되어 실패한 상태
- Aborted: 트랜잭션이 실패 후 트랜잭션이 취소, 이전 상태로 돌아간 상태 = Rollback 연산이 실행된 상태
- 추가 정보: IT위키 - 트랜잭션
4과목 프로그래밍 언어 활용
69. 다음과 같은 형태로 임계 구역의 접근을 제어하는 상호배제 기법은?
- Dekker Algorithm
- 프로세스가 두 개일 때 상호 배제를 보장하는 최초의 알고리즘, Flag와 Turn 변수를 사용하여 조정
- Lamport Algorithm
- 프로세스 n개의 상호 배제 문제를 해결, 프로세스에게 고유한 번호를 부여하고 번호를 기준으로 우선순위를 정해 우선순위가 높은 프로세스가 먼저 임계구역에 진입하도록 구현
- Peterson Algorithm
- 프로세스가 두 개일때 상호 배제 보장, 데커의 알고리즘과 유사, 상대방에게 진입 기회를 양보한다는 차이가 있고 보다 더 간단하게 구현됨
- Semaphore
- 공유된 자원의 데이터 혹은 임계영역 등에 따라 여러 Process 혹은 Thread가 접근하는 것을 막아줌(동기화 대상이 하나 이상)
72. 다음 C언어프로그램이 실행되었을 때, 실행 결과는?
- While에서 조건식 대신 1을 지정하게 되면 무한히 반복되는 루프가 만들어짐
- i가 4가 되면 Break로 While문을 빠져나오게 되면서 i는 4가 됨
73. 다음 JAVA 프로그램이 실행되었을 때, 실행 결과는?
- 다음과 같이 이해하고 풀이 시작
- c의 문자열 크기: 7이므로 a.length = 7
- for문 - i가 7미만일 때까지 반복
- if문(a[i] = 'C')
- a[0] = A → 해당하지 않기 때문에 else if문으로 이동
- a[1] = B
- B → C
- B C D D A B C
- a[2] = D → 해당하지 않기 때문에 else if문으로 이동
- a[3] = D → 해당하지 않기 때문에 else if문으로 이동
- a[4] = A → 해당하지 않기 때문에 else if문으로 이동
- a[5] = B
- B → C
- B C D A B C C
- a[6] = C → 해당하지 않기 때문에 else if문으로 이동
- else if문(a[i] = a[i-1])
- 0 != 6 → 해당하지 않기 때문에 else문으로 이동
- 2 != 6 → 해당하지 않기 때문에 else문으로 이동
- 3 != 6 → 해당하지 않기 때문에 else문으로 이동
- 4 != 6 → 해당하지 않기 때문에 else문으로 이동
- 6
- C = C
- B C D A B C C
- else문(a[i] = a[i+1])
- 0
- A → B
- B B D D A B C
- 2
- D = D
- B C D D A B C
- 3
- D → A
- B C D A A B C
- 4
- A → B
- B C D A B B C
- if문(a[i] = 'C')
5과목 정보시스템 구축관리
83. 위조된 매체 접근 제어(MAC) 주소를 지속적으로 네트워크로 흘려보내, 스위치 MAC 주소 테이블의 저장 기능을 혼란시켜 더미 허브(Dummy Hub)처럼 작동하는 공격은?
- Parsing
- 하나의 프로그램을 런타임 환경이 실제로 진행할 수 있는 내부 포맷으로 분석, 변환
- LAN Tapping
- LAN 신호를 직접 자신에게 끌어오는 방식으로 공격
- Switch Jamming
- 스위치 기능이 방해 받아 정상 동작을 하지 못해 스위치가 더미 허브처럼 작동하게 되는 것
- FTP Flooding
- TCP의 3 Way Handshake 취약점을 이용한 DoS 공격으로 다량의 SYN패킷을 보내 백로그큐를 가득 채우는 공격
- 통상적으로 위 공격법을 TCP SYN Flooding이라고 칭하는 경우가 많음
- FTP프로토콜을 사용한 서버에 다량의 SYN 패킷을 보내 마비시키는 것을 FTP Flooding이라고 볼 수 있음
88. Dos(Denial of Service) 공격과 관련한 내용으로 틀린 것은?
- Smurf 공격은
멀티캐스트를 활용하여 공격 대상이 네트워크의 임의의 시스템에 패킷을 보내게 만드는 공격이다- 브로드캐스트
93. Secure 코딩에서 입력 데이터의 보안 약점과 관련한 설명으로 틀린 것은?
- 자원 삽입: 사용자가 내부 입력 값을 통해 시스템 내에
사용이 불가능한 자원을 지속적으로 입력함으로써 시스템에 과부하 발생- 자원을 조작할 수 있는 문자열을 삽입하여 시스템이 보호하는 자원에 임의로 접근할 수 있는 취약점
95. DES는 몇 비트의 암호화 알고리즘인가?
- 블록크기: 64bit
- 키 길이: 56bit (7bit마다 오류검출을 위한 정보가 1bit씩 들어가기 때문)
참고 사이트: https://www.comcbt.com/xe/gscomcbt
전자문제집 CBT - 최강 자격증 기출문제 전자문제집 CBT
자격증 필기 기출문제를 컴퓨터를 이용하여 풀고 자동으로 채점하며 무료로 해설을 제공하는 사이트
www.comcbt.com