Q1. 다음 중 기능 요구사항에 해당하는 것은?
① 시스템 가용성 99% 유지
② 로그인 기능을 제공해야 한다
③ 응답시간은 2초 이내여야 한다
④ 개인정보 암호화를 적용해야 한다
👉 정답: ② / 시스템이 수행해야 할 동작
Q2. 다음 중 비기능 요구사항으로 가장 적절한 것은?
① 회원 등록 처리
② 주문 내역 조회
③ 데이터 처리 속도
④ 게시글 작성 기능
👉 정답: ③ / 성능 요구는 비기능
Q3. 요구사항 개발 절차의 올바른 순서는?
① 분석→도출→확인→명세
② 도출→분석→명세→확인
③ 도출→명세→분석→확인
④ 분석→명세→도출→확인
👉 정답: ② / 표준 절차
Q4. 요구사항 명세서(SRS)에 대한 설명으로 옳지 않은 것은?
① 사용자와 개발자 간 계약 문서 역할
② 테스트 기준이 된다
③ 설계 완료 후 작성된다
④ 요구사항을 문서화한 산출물이다
👉 정답: ③ / 요구사항 단계 산출물
Q5. 다음 중 UML의 구조 다이어그램에 해당하지 않는 것은?
① 클래스 다이어그램
② 컴포넌트 다이어그램
③ 활동 다이어그램
④ 배치 다이어그램
👉 정답: ③ / 활동은 행위 다이어그램
Q6. 사용자의 요구를 시나리오 형태로 표현하는 UML 다이어그램은?
① 시퀀스 다이어그램
② 상태 다이어그램
③ 유스케이스 다이어그램
④ 클래스 다이어그램
👉 정답: ③ / 사용자 관점 기능 표현
Q7. 클래스 간 전체-부분 관계를 나타내며 빈 마름모로 표시되는 것은?
① 연관
② 집합
③ 합성
④ 의존
👉 정답: ②
Q8. 채워진 마름모로 표현되는 UML 관계는?
① 일반화
② 집합
③ 합성
④ 의존
👉 정답: ③
Q9. 객체 간 메시지 전달을 시간 순서로 표현하는 다이어그램은?
① 활동
② 상태
③ 시퀀스
④ 패키지
👉 정답: ③
Q10. 객체의 상태 변화 과정을 표현하는 다이어그램은?
① 클래스
② 상태
③ 시퀀스
④ 배치
👉 정답: ②
Q11. 객체지향의 4대 특징이 아닌 것은?
① 상속
② 다형성
③ 모듈화
④ 캡슐화
👉 정답: ③
Q12. 객체 내부 구현을 감추고 인터페이스만 제공하는 개념은?
① 다형성
② 정보 은닉
③ 추상화
④ 상속
👉 정답: ②
Q13. 부모 클래스의 속성과 메서드를 물려받는 것은?
👉 정답: 상속
Q14. 동일 메시지에 대해 다른 동작을 수행하는 특성은?
👉 정답: 다형성
Q15. 복잡한 시스템을 단순화하여 표현하는 것은?
👉 정답: 추상화
Q16. 좋은 설계의 조건으로 옳은 것은?
👉 정답: 낮은 결합도, 높은 응집도
Q17. 하나의 인스턴스만 생성되도록 하는 디자인 패턴은?
👉 정답: 싱글톤 패턴
Q18. 기존 클래스의 인터페이스를 다른 인터페이스로 변환하는 패턴은?
👉 정답: 어댑터 패턴
Q19. 상위 기능을 세분화하여 설계하는 방식은?
👉 정답: 하향식 설계
Q20. 객체 간 메시지 전달 중심으로 설계하는 방식은?
👉 정답: 객체지향 설계
Q1. 후입선출(LIFO) 구조를 갖는 자료구조는?
① 큐 ② 스택 ③ 트리 ④ 그래프
👉 정답: ②
Q2. 선입선출(FIFO) 구조는?
👉 정답: 큐
Q3. 완전이진트리 구조를 가지며 우선순위를 유지하는 것은?
👉 정답: 힙
Q4. 평균 시간복잡도가 O(n log n)이고 피벗을 사용하는 정렬은?
👉 정답: 퀵 정렬
Q5. 안정 정렬에 해당하는 것은?
👉 정답: 병합 정렬
Q6. 최악의 경우 O(n²)인 정렬은?
👉 정답: 버블 정렬
Q7. 분할정복 기법을 사용하지 않는 정렬은?
👉 정답: 삽입 정렬
Q8. 후위 표기식 계산에 가장 적합한 자료구조는?
👉 정답: 스택
Q9. 너비 우선 탐색(BFS)에 사용되는 자료구조는?
👉 정답: 큐
Q10. 깊이 우선 탐색(DFS)에 사용되는 자료구조는?
👉 정답: 스택
Q11. 배열에서 원하는 데이터를 찾기 위해 처음부터 순서대로 비교하는 탐색 방법은?
① 이진 탐색 ② 해시 탐색 ③ 순차 탐색 ④ 깊이 우선 탐색
👉 정답: ③ / 정렬 안 되어 있어도 사용 가능
Q12. 정렬된 배열에서 중간 값을 기준으로 탐색 범위를 줄여가는 방법은?
① 선택 정렬 ② 이진 탐색 ③ 버블 정렬 ④ 선형 탐색
👉 정답: ②
Q13. 스택(Stack)의 특징으로 옳은 것은?
① FIFO 구조 ② LIFO 구조 ③ 임의 접근 가능 ④ 양쪽 삽입 가능
👉 정답: ② / 후입선출
Q14. 큐(Queue)의 자료구조 특징은?
① LIFO ② FILO ③ FIFO ④ 무작위 접근
👉 정답: ③ / 선입선출
Q15. 재귀 알고리즘의 필수 요소로 옳은 것은?
① 반복문 사용 ② 종료 조건 존재 ③ 전역 변수 사용 ④ 스택 사용 금지
👉 정답: ② / 종료 조건 없으면 무한 호출
Q16. 다음 중 시간 복잡도가 가장 큰 것은?
① O(log n) ② O(n) ③ O(n log n) ④ O(n²)
👉 정답: ④
Q17. 소프트웨어 테스트에서 모듈 내부 구조를 기준으로 수행하는 테스트는?
① 블랙박스 테스트 ② 화이트박스 테스트 ③ 인수 테스트 ④ 시스템 테스트
👉 정답: ②
Q18. 프로그램의 기능이 요구사항에 맞는지 확인하는 테스트는?
① 단위 테스트 ② 통합 테스트 ③ 시스템 테스트 ④ 알파 테스트
👉 정답: ③
Q19. UML에서 객체 간의 동적 상호작용을 시간 흐름에 따라 표현하는 다이어그램은?
① 클래스 다이어그램 ② 시퀀스 다이어그램 ③ 패키지 다이어그램 ④ 컴포넌트 다이어그램
👉 정답: ②
Q20. UML에서 시스템의 기능을 사용자 관점에서 표현하는 다이어그램은?
① 활동 다이어그램 ② 상태 다이어그램 ③ 유스케이스 다이어그램 ④ 객체 다이어그램
👉 정답: ③
Q1. 릴레이션에서 반복 속성을 제거하는 정규형은?
① 1NF ② 2NF ③ 3NF ④ BCNF
👉 정답: ① / 원자값만 허용
Q2. 부분 함수 종속을 제거하는 단계는?
① 1NF ② 2NF ③ 3NF ④ 4NF
👉 정답: ②
Q3. 이행적 함수 종속을 제거하는 단계는?
① 2NF ② 3NF ③ BCNF ④ 4NF
👉 정답: ②
Q4. 모든 결정자가 후보키가 되도록 하는 정규형은?
① 2NF ② 3NF ③ BCNF ④ 5NF
👉 정답: ③
Q5. 유일성과 최소성을 만족하는 키는?
① 슈퍼키 ② 후보키 ③ 기본키 ④ 외래키
👉 정답: ②
Q6. 후보키 중 기본키로 선택되지 않은 키는?
① 대체키 ② 외래키 ③ 슈퍼키 ④ 복합키
👉 정답: ①
Q7. 다른 릴레이션의 기본키를 참조하는 키는?
👉 정답: 외래키
Q8. 데이터 삽입 시 사용하는 SQL 명령은?
👉 정답: INSERT
Q9. 조건에 맞는 튜플을 검색하는 절은?
👉 정답: WHERE
Q10. 그룹별 집계를 수행하는 절은?
👉 정답: GROUP BY
Q11. 그룹 조건을 지정하는 절은?
👉 정답: HAVING
Q12. 결과를 오름차순 또는 내림차순으로 정렬하는 절은?
👉 정답: ORDER BY
Q13. 검색 결과에서 중복을 제거하는 키워드는?
👉 정답: DISTINCT
Q14. 두 테이블의 공통 속성을 기준으로 결합하는 연산은?
👉 정답: JOIN
Q15. 트랜잭션의 원자성을 의미하는 것은?
👉 정답: 전부 수행되거나 전부 취소
Q16. 트랜잭션의 일관성은 무엇을 의미하는가?
👉 정답: 무결성 제약조건 만족 상태 유지
Q17. 동시에 실행되는 트랜잭션 간 간섭이 없는 성질은?
👉 정답: 고립성(Isolation)
Q18. 커밋된 데이터가 영구 저장되는 성질은?
👉 정답: 지속성(Durability)
Q19. 커밋되지 않은 데이터를 읽는 현상은?
👉 정답: Dirty Read
Q20. 인덱스를 사용하는 주된 목적은?
👉 정답: 검색 속도 향상
Q1. 다음 C 코드의 출력 결과는?
int a=5;
printf("%d", a++);
① 4 ② 5 ③ 6 ④ 오류
👉 정답: ② / 후위 증가
Q2. Java에서 배열의 길이를 구하는 속성은?
① size ② length ③ count ④ len
👉 정답: ②
Q3. Java 기본 자료형이 아닌 것은?
① int ② float ③ boolean ④ String
👉 정답: ④
Q4. 반복문을 즉시 종료하는 명령어는?
👉 정답: break
Q5. 자기 자신을 다시 호출하는 함수 구조는?
👉 정답: 재귀 호출
Q6. Java에서 상속을 나타내는 키워드는?
👉 정답: extends
Q7. Java에서 인터페이스 구현 시 사용하는 키워드는?
👉 정답: implements
Q8. 예외 처리를 위한 구문은?
👉 정답: try-catch
Q9. 객체 생성을 위한 키워드는?
👉 정답: new
Q10. 메서드 이름은 같고 매개변수가 다른 기법은?
👉 정답: 오버로딩
Q11. 상속 관계에서 부모 메서드를 재정의하는 것은?
👉 정답: 오버라이딩
Q12. 접근 제한자 중 가장 범위가 좁은 것은?
👉 정답: private
Q13. C언어에서 동적 메모리 할당 함수는?
👉 정답: malloc()
Q14. 포인터가 가리키는 값을 참조하는 연산자는?
👉 정답: * (역참조 연산자)
Q15. Python에서 리스트에 요소를 추가하는 메서드는?
👉 정답: append()
Q16. 논리 AND 연산자는(C언어)?
👉 정답: &&
Q17. switch문에서 각 case 종료 시 필요한 명령은?
👉 정답: break
Q18. Java 프로그램 실행 시작 메서드는?
👉 정답: main()
Q19. 지역변수의 기본 특징은?
👉 정답: 선언된 블록 내에서만 사용 가능
Q20. 초기화하지 않은 지역변수를 사용하면?
👉 정답: 컴파일 오류(Java 기준)
Q1. 개발 단계를 순차적으로 진행하는 모델은?
👉 정답: 폭포수 모델
Q2. 위험 분석을 반복 수행하는 모델은?
👉 정답: 나선형 모델
Q3. 사용자 요구를 빠르게 확인하기 위해 시제품을 만드는 모델은?
👉 정답: 프로토타입 모델
Q4. 반복적 개발과 협업을 강조하는 방법론은?
👉 정답: 애자일
Q5. XP(eXtreme Programming)의 대표 실천 방법은?
👉 정답: 페어 프로그래밍
Q6. 스크럼에서 반복 개발 주기를 의미하는 용어는?
👉 정답: 스프린트
Q7. 소프트웨어 변경사항을 통제하고 관리하는 활동은?
👉 정답: 형상관리
Q8. 형상 항목을 식별하고 목록화하는 활동은?
👉 정답: 형상 식별
Q9. 변경 결과가 기준에 맞는지 확인하는 활동은?
👉 정답: 형상 감사
Q10. ISO/IEC 9126에서 정의한 소프트웨어 품질 특성이 아닌 것은?
👉 정답: 유지 비용 / 표준 품질 특성 아님
Q11. 시스템 평균 고장 간 시간을 의미하는 지표는?
👉 정답: MTBF
Q12. 프로젝트 일정 계획 수립에 사용하는 도구는?
👉 정답: 간트 차트
Q13. 위험을 줄이기 위한 전략으로 적절하지 않은 것은?
👉 정답: 무시한다
Q14. 소프트웨어 비용 산정 모형은?
👉 정답: COCOMO
Q15. 기능 중심 소프트웨어 규모 산정 기법은?
👉 정답: FP(Function Point)
Q16. 재사용의 주요 목적은?
👉 정답: 개발 생산성 향상
Q17. CMMI 성숙도 3단계는?
👉 정답: 정의(Defined)
Q18. CMMI 성숙도 최고 단계는?
👉 정답: 최적화(Optimizing)
Q19. 정보보안의 3대 요소에 해당하지 않는 것은?
👉 정답: 책임성 / 기밀성·무결성·가용성
Q20. 역할 기반 접근 통제 모델은?
👉 정답: RBAC