
소프트웨어 설계
❖ 클래스 설계원칙에 대한 바른 설명은?
① 단일 책임원칙 : 하나의 클래스만 변경 가능 해야한다.
② 개발-폐쇄의 원칙 : 클래스는 확장에 대해 열려 있어야 하며 변겨에 대한 닫혀 있어야 한다.
③ 리스코프 교체의 원칙 : 여러 개의 책임을 가진 클래스는 하나의 책임을 가진 클래스로 대체되어야 한다.
④ 의존관계 역전의 원칙 : 클라이언트는 자신이 사용하는 메소드와 의존관계를 갖지 않도록 해야 한다.
정답
② 개발-폐쇄의 원칙 : 클래스는 확장에 대해 열려 있어야 하며 변겨에 대한 닫혀 있어야 한다.
❖ GoF(Gangs of Four) 디자인 패턴에서 생성(Creational) 패턴에 해당하는 것은?
① 컴퍼지트 (Composite)
② 어댑터 (Adapter)
③ 추상 팩토리 (Abstract Factory)
④ 옵서버 (Observer)
정답
③ 추상 팩토리 (Abstract Factory)
❖ 아키텍처 설계과정이 올바른 순서로 나열된 것은?
㉮ 설계 목표 설정
㉯ 시스템 타입 결정
㉰ 스타일 적용 및 커스터미이즈
㉱ 서브시스템의 기능, 인터페이스 동작 작성
㉲ 아키텍처 설계 검토
① ㉮ → ㉯ → ㉰ → ㉱ → ㉲
② ㉲ → ㉮ → ㉯ → ㉱ → ㉰
③ ㉮ → ㉲ → ㉯ → ㉱ → ㉰
④ ㉮ → ㉯ → ㉰ → ㉲ → ㉱
정답
① ㉮ → ㉯ → ㉰ → ㉱ → ㉲
소프트웨어 개발
❖ 인터페이스 간의 통신을 위해 이용되는 데이터 포맷이 아닌 것은
① AJTML
② JSON
③ XML
④ YAML
정답
① AJTML
❖ 프로그램 설계도의 하나의 NS Chart에 대한 설명으로 가장 거리가 먼 것은?
① 논리의 기술에 중점을 두고 도형을 이용한 표현 방법이다.
② 이해하기 쉽고 코드 변환이 용이하다.
③ 화살표나 GOTO를 사용하여 이해하기 쉽다.
④ 연속, 선택, 반복 등의 제어 논리 구조를 표현한다.
정답
③ 화살표나 GOTO를 사용하여 이해하기 쉽다.
❖ 순서가 A, B, C, D로 정해진 입력자료를 push, push, pop, push, push, pop, pop, pop 순서로 스택연산을 수행하는 경우 출력 결과는?
① B D C A
② A B C D
③ B A C D
④ A B D C
정답
① B D C A
데이터베이스 구축
❖ 다음 SQL문의 실행결과로 생성되는 튜플 수는?
SELECT 급여 FROM 사원;
<사원> 테이블
사원ID | 사원명 | 급여 | 부서ID |
101 | 박철수 | 30000 | 1 |
102 | 한나라 | 35000 | 2 |
103 | 김감동 | 40000 | 3 |
104 | 이구수 | 35000 | 2 |
105 | 최초록 | 40000 | 3 |
① 1
② 3
③ 4
④ 5
정답
④ 5
❖ 다음 SQL 문에서 사용된 BETWEEN 연산의 의미와 동일한 것은?
SELECT *
FROM 성적
WHERE (점수 BETWEEN 90 AND 95) AND 학과 = ‘컴퓨터공학과’
① 점수 >= 90 AND 점수 <= 95
② 점수 > 90 AND 점수 < 95
③ 점수 > 90 AND 점수 <= 95
④ 점수 >= 90 AND 점수 < 95
정답
① 점수 >= 90 AND 점수 <= 95
❖ 트랜잭션의 상태 중 트랜잭션의 수행이 실패하여 Rollback 연산을 실행한 상태는?
① 철회 (Aborted)
② 부분 완료 (Partially Committed)
③ 완료 (Commit)
④ 실패 (Fail)
정답
① 철회 (Aborted)
프로그래밍 언어 활용
❖ 다음 JAVA 프로그램이 실행되었을 때, 실행 결과는?
public class Ape {
static void rs(char a[]) {
for (int i=0; i<a.length; i++)
if (a[i] == ‘B’)
a[i] = ‘C’;
else if (i == a.length -1)
a[i] = a[i-1];
else
a[i] = a[i+1];
}
static void pca(char a[]) {
for(int i=0; i<a.length; i++)
System.out.print(a[i]);
System.out.printn();
}
public static void main(String[] args) {
char c[] = { ’A’, ’B’, ’D’, ’D’, ’A’, ’B’, ’C’};
rs(c);
pca(c);
}
}
① BCDABCA
② BCDABCC
③ CDDACCC
④ CDDACCA
정답
② BCDABCC
❖ 개발 환경 구성을 위한 빌드 (Build) 도구에 해당하지 않는 것은?
① Ant
② Kerberos
③ Maven
④ Gradle
정답
② Kerberos
❖ 3개의 페이지 프레임을 갖는 시스템에서 페이지 참조 순서가 1, 2, 1, 0, 4, 1, 3 일 경우 FIFO 알고리즘에 의한 페이지 교체의 경우 프레임의 최종 상태는?
① 1, 2, 0
② 2, 4, 3
③ 1, 4, 2
④ 4, 1, 3
정답
④ 4, 1, 3
정보시스템 구축관리
❖ Secure 코딩에서 입력 데이터의 보안 약점과 관련한 설명으로 틀린 것은?
① SQL 삽입 : 사용자의 입력 값 등 외부 입력 값이 SQL 쿼리에 삽입되어 공격
② 크로스사이트 스크립트 : 검증되지 않은 외부 입력 값에 의해 브라우저에서 악의적인 코드가 실행
③ 운영체제 명령어 삽입 : 운영체제 명령어 파라미터 입력 값이 적절한 사전검증을 거치지 않고 사용되어 공격자가 운영체제 명령어를 조작
④ 자원 삽입 : 사용자가 내부 입력 값을 통해 시스템 내에 사용이 불가능한 자원을 지속적으로 입력함으로써 시스템에 과부하 발생
정답
④ 자원 삽입 : 사용자가 내부 입력 값을 통해 시스템 내에 사용이 불가능한 자원을 지속적으로 입력함으로써 시스템에 과부하 발생
❖ Windows 파일 시스템인 FAT와 비교했을 때의 NTFS의 특징이 아닌 것은?
① 보안에 취약
② 대용 볼륨에 효율적
③ 자동 압축 및 안정성
④ 저용량 볼륨에서의 속도 저하
정답
① 보안에 취약
❖ DES는 몇 비트의 암호화 알고리즘인가?
① 8
② 24
③ 64
④ 132
정답
③ 64