정보처리기사 필기 기출문제복원 (2021-08-14)

정보처리기사
(2021-08-14 기출문제)

목록

1과목: 소프트웨어 설계

1. 요구사항 검증(Requirements Validation)과 관련한 설명으로 틀린 것은?

  1. 요구사항이 고객이 정말 원하는 시스템을 제대로 정의하고 있는지 점검하는 과정이다.
  2. 개발완료 이후에 문제점이 발견될 경우 막대한 재작업 비용이 들 수 있기 때문에 요구사항 검증은 매우 중요하다.
  3. 요구사항이 실제 요구를 반영하는지, 문서상의 요구사항은 서로 상충되지 않는지 등을 점검한다.
  4. 요구사항 검증 과정을 통해 모든 요구사항 문제를 발견할 수 있다.
(정답률: 92%)
  • 정답은 "요구사항 검증 과정을 통해 모든 요구사항 문제를 발견할 수 있다."입니다. 요구사항 검증은 요구사항이 고객이 원하는 시스템을 제대로 정의하고 있는지, 요구사항이 실제 요구를 반영하는지, 문서상의 요구사항이 서로 상충되지 않는지 등을 점검하는 과정입니다. 하지만 모든 요구사항 문제를 발견할 수 있는 것은 아닙니다. 따라서 요구사항 검증은 매우 중요하지만, 개발완료 이후에도 문제점이 발견될 수 있기 때문에 요구사항 검증 이후에도 지속적인 검토와 수정이 필요합니다.
profile_image
1

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

2. UML 모델에서 한 사물의 명세가 바뀌면 다른사물에 영향을 주며, 일반적으로 한 클래스가다른 클래스를 오퍼레이션의 매개변수로 사용하는 경우에 나타나는 관계는?

  1. Association
  2. Dependency
  3. Realization
  4. Generalization
(정답률: 65%)
  • 정답은 "Dependency"입니다.

    Dependency는 한 클래스가 다른 클래스를 사용하는 관계를 나타내며, 한 사물의 명세가 바뀌면 다른 사물에 영향을 주는 경우가 있습니다. 이 관계는 일반적으로 한 클래스가 다른 클래스를 오퍼레이션의 매개변수로 사용하는 경우에 나타납니다.

    Association은 두 클래스 간의 관계를 나타내며, 두 클래스가 서로를 참조하는 경우에 사용됩니다.

    Realization은 인터페이스와 구현 클래스 간의 관계를 나타내며, 인터페이스를 구현하는 클래스가 있을 때 사용됩니다.

    Generalization은 상속 관계를 나타내며, 부모 클래스와 자식 클래스 간의 관계를 나타냅니다.
profile_image
1

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

3. 익스트림 프로그래밍 (XP)에 대한 설명으로 틀린 것은?

  1. 빠른 개발을 위해 테스트를 수행하지 않는다.
  2. 사용자의 요구사항은 언제든지 변할 수있다.
  3. 고객과 직접 대면하며 요구사항을 이야기하기 위해 사용자 스토리(User Story)를 활용할 수 있다.
  4. 기존의 방법론에 비해 실용성(Pragmatism)을 강조한 것이라고 볼 수있다.
(정답률: 91%)
  • "빠른 개발을 위해 테스트를 수행하지 않는다."는 XP의 원칙과 맞지 않는 설명입니다. XP는 빠른 개발과 동시에 테스트 주도 개발(TDD)을 강조하여 개발 초기부터 테스트를 수행하고, 지속적인 통합과 테스트를 통해 빠른 피드백과 개선을 추구합니다. 따라서 이 설명은 틀린 설명입니다.
profile_image
1

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

4. 소프트웨어 설계에서 사용되는 대표적인 추상화(Abstraction) 기법이 아닌 것은?

  1. 자료 추상화
  2. 제어 추상화
  3. 과정 추상화
  4. 강도 추상화
(정답률: 81%)
  • 강도 추상화는 소프트웨어 설계에서 사용되는 대표적인 추상화 기법이 아닙니다. 이유는 강도 추상화는 소프트웨어에서 데이터의 정확한 값이나 범위를 나타내는 것으로, 추상화의 목적과는 다르기 때문입니다. 다른 세 가지 추상화 기법인 자료 추상화, 제어 추상화, 과정 추상화는 소프트웨어 설계에서 중요한 역할을 합니다. 자료 추상화는 데이터를 추상화하여 복잡성을 줄이고, 제어 추상화는 프로그램의 제어 흐름을 추상화하여 코드의 가독성을 높이며, 과정 추상화는 프로그램의 실행 과정을 추상화하여 복잡성을 줄입니다.
profile_image
1

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

5. 객체지향 설계에서 정보 은닉(Information Hiding)과 관련한 설명으로 틀린 것은?

  1. 필요하지 않은 정보는 접근할 수 없도록 하여 한 모듈 또는 하부시스템이 다른 모듈의 구현에 영향을 받지 않게 설계되는것을 의미한다.
  2. 모듈들 사이의 독립성을 유지시키는 데 도움이 된다.
  3. 설계에서 은닉되어야 할 기본 정보로는 IP주소와 같은 물리적 코드, 상세 데이터 구조 등이 있다.
  4. 모듈 내부의 자료 구조와 접근 동작들에만 수정을 국한하기 때문에 요구사항 등변화에 따른 수정이 불가능하다.
(정답률: 84%)
  • 정답은 "모듈 내부의 자료 구조와 접근 동작들에만 수정을 국한하기 때문에 요구사항 등변화에 따른 수정이 불가능하다." 이다.

    이유는 정보 은닉은 모듈 내부의 구현 세부사항을 외부로부터 숨기는 것이지만, 이는 모듈의 인터페이스를 통해 외부와 상호작용할 수 있도록 해야 한다. 따라서 요구사항이 변경되어도 모듈의 인터페이스를 유지하면서 내부 구현을 수정할 수 있어야 한다. 정보 은닉이 요구사항 변경에 대한 유연성을 제한하는 것은 잘못된 설계이다.
profile_image
1

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

6. 소프트웨어 공학에서 모델링 (Modeling)과 관련한 설명으로 틀린 것은?

  1. 개발팀이 응용문제를 이해하는 데 도움을 줄 수 있다.
  2. 유지보수 단계에서만 모델링 기법을 활용한다.
  3. 개발될 시스템에 대하여 여러 분야의 엔지니어들이 공통된 개념을 공유하는 데 도움을 준다.
  4. 절차적인 프로그램을 위한 자료흐름도는 프로세스 위주의 모델링 방법이다.
(정답률: 89%)
  • "유지보수 단계에서만 모델링 기법을 활용한다."는 틀린 설명입니다. 모델링은 개발 생명주기의 여러 단계에서 활용될 수 있으며, 요구분석, 설계, 구현, 테스트 등 다양한 단계에서 사용됩니다. 유지보수 단계에서도 모델링 기법을 활용할 수 있지만, 그 외의 단계에서도 활용됩니다. 모델링은 시스템 개발 과정에서 응용문제를 이해하고 설계하는 데 도움을 주며, 여러 분야의 엔지니어들이 공통된 개념을 공유하는 데도 도움을 줍니다. 절차적인 프로그램을 위한 자료흐름도는 프로세스 위주의 모델링 방법 중 하나입니다.
profile_image
1

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

7. 요구 분석(Requirement Analysis)에 대한 설명으로 틀린 것은?

  1. 요구 분석은 소프트웨어 개발의 실제적인 첫 단계로 사용자의 요구에 대해 이해하는 단계라 할 수 있다.
  2. 요구 추출(Requirement Elicitation)은 프로젝트 계획 단계에 정의한 문제의 범위 안에 있는 사용자의 요구를 찾는 단계이다.
  3. 도메인 분석(Domain Analysis)은 요구에 대한 정보를 수집하고 배경을 분석하여 이를 토대로 모델링을 하게 된다.
  4. 기능적(Functional) 요구에서 시스템 구축에대한 성능, 보안, 품질, 안정 등에 대한 요구사항을 도출한다.
(정답률: 55%)
  • 기능적 사용자 요구사항 : 사용자에 의해 이해 될 수 있는 추상적 방법으로 설명

    기능석 시스템 요구사항 : 시스템 기능, 입력, 출력, 예외사항 등 
profile_image
1

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

8. 클래스 다이어그램의 요소로 다음 설명에 해당하는 용어는?

  1. Instance
  2. Operation
  3. Item
  4. Hiding
(정답률: 69%)
  • 클래스 다이어그램에서 Operation은 클래스가 수행할 수 있는 동작이나 함수를 나타내는 요소입니다. 이러한 동작은 클래스의 인스턴스에 의해 호출될 수 있으며, 클래스의 기능을 구현하는 데 사용됩니다. 따라서 위의 다이어그램에서 "withdraw()"와 "deposit()"는 Account 클래스의 Operation에 해당합니다.
profile_image
1

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

9. 분산 시스템을 위한 마스터-슬레이브(Master-Slave) 아키텍처에 대한 설명으로 틀린 것은?

  1. 일반적으로 실시간 시스템에서 사용된다.
  2. 마스터 프로세스는 일반적으로 연산, 통신, 조정을 책임진다.
  3. 슬레이브 프로세스는 데이터 수집 기능을 수행할 수 없다.
  4. 마스터 프로세스는 슬레이브 프로세스들을 제어할 수 있다.
(정답률: 80%)
  • 슬레이브 프로세스는 데이터 수집 기능을 수행할 수 없다는 설명이 틀린 것입니다. 슬레이브 프로세스는 일반적으로 데이터 수집 및 처리를 담당하며, 마스터 프로세스는 슬레이브 프로세스들을 제어하고 조정하는 역할을 합니다.
profile_image
1

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

10. 요구 사항 정의 및 분석·설계의 결과물을 표현하기 위한 모델링 과정에서 사용되는 다이어그램(Diagram)이 아닌 것은?

  1. Data Flow Diagram
  2. UML Diagram
  3. E-R Diagram
  4. AVL Diagram
(정답률: 73%)
  • AVL Diagram은 요구 사항 정의 및 분석·설계의 결과물을 표현하기 위한 모델링 과정에서 사용되지 않는다. AVL Diagram은 이진 검색 트리의 균형을 유지하기 위한 자료 구조를 나타내는 것으로, 소프트웨어 개발과는 관련이 없다. 따라서 정답은 "AVL Diagram"이다.
profile_image
1

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

11. 객체지향의 주요 개념에 대한 설명으로 틀린 것은?

  1. 캡슐화는 상위클래스에서 속성이나 연산을 전달받아 새로운 형태의 클래스로 확장하여 사용하는 것을 의미한다.
  2. 객체는 실세계에 존재하거나 생각할 수 있는 것을 말한다.
  3. 클래스는 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 것이다.
  4. 다형성은 상속받은 여러 개의 하위 객체들이 다른 형태의 특성을 갖는 객체로 이용될 수 있는 성질이다.
(정답률: 79%)
  • "캡슐화는 상위클래스에서 속성이나 연산을 전달받아 새로운 형태의 클래스로 확장하여 사용하는 것을 의미한다." 이 설명이 틀린 이유는 캡슐화는 객체의 속성과 연산을 외부에서 직접 접근하지 못하도록 정보를 은닉하는 것을 의미하기 때문이다. 따라서 상위클래스에서 속성이나 연산을 전달받아 새로운 형태의 클래스로 확장하여 사용하는 것은 상속(inheritance)의 개념이다.
profile_image
1

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

12. 사용자 인터페이스(User Interface)에 대한 설명으로 틀린 것은?

  1. 사용자와 시스템이 정보를 주고받는 상호작용이 잘 이루어지도록 하는 장치나 소프트웨어를 의미한다.
  2. 편리한 유지보수를 위해 개발자 중심으로 설계되어야 한다.
  3. 배우기가 용이하고 쉽게 사용할 수 있도록 만들어져야 한다.
  4. 사용자 요구사항이 UI에 반영될 수 있도록 구성해야 한다.
(정답률: 92%)
  • "편리한 유지보수를 위해 개발자 중심으로 설계되어야 한다."이 틀린 설명입니다. UI는 사용자와 시스템 간의 상호작용을 원활하게 하기 위한 것이므로 사용자 중심으로 설계되어야 합니다. 개발자 중심으로 설계하면 사용자가 이해하기 어렵고 불편한 UI가 만들어질 수 있습니다. 따라서 사용자 요구사항을 충분히 반영하고, 사용자가 쉽게 배우고 사용할 수 있도록 UI를 구성해야 합니다.
profile_image
1

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

13. GoF(Gang of Four) 디자인 패턴과 관련한 설명으로 틀린 것은?

  1. 디자인 패턴을 목적(Purpose)으로 분류할 때 생성, 구조, 행위로 분류할 수 있다.
  2. Strategy 패턴은 대표적인 구조 패턴으로 인스턴스를 복제하여 사용하는 구조를 말한다.
  3. 행위 패턴은 클래스나 객체들이 상호작용하는 방법과 책임을 분산하는 방법을 정의한다.
  4. Singleton 패턴은 특정 클래스의 인스턴스가 오직 하나임을 보장하고, 이 인스턴스에 대한 접근 방법을 제공한다.
(정답률: 67%)
  • 정답은 "Strategy 패턴은 대표적인 구조 패턴으로 인스턴스를 복제하여 사용하는 구조를 말한다." 이다.

    Strategy 패턴은 행위 패턴 중 하나로, 알고리즘을 캡슐화하여 동적으로 교체할 수 있도록 하는 패턴이다. 따라서 인스턴스를 복제하여 사용하는 구조와는 관련이 없다.

    그 외의 보기들은 모두 맞는 설명이다. 디자인 패턴은 생성, 구조, 행위로 분류할 수 있으며, 행위 패턴은 클래스나 객체들이 상호작용하는 방법과 책임을 분산하는 방법을 정의한다. Singleton 패턴은 특정 클래스의 인스턴스가 오직 하나임을 보장하고, 이 인스턴스에 대한 접근 방법을 제공한다.
profile_image
1

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

14. 애자일 개발 방법론과 관련한 설명으로 틀린 것은?

  1. 빠른 릴리즈를 통해 문제점을 빠르게 파악할 수 있다.
  2. 정확한 결과 도출을 위해 계획 수립과 문서화에 중점을 둔다.
  3. 고객과의 의사소통을 중요하게 생각한다.
  4. 진화하는 요구사항을 수용하는데 적합하다.
(정답률: 88%)
  • 정답은 "정확한 결과 도출을 위해 계획 수립과 문서화에 중점을 둔다." 이다. 애자일 개발 방법론은 계획 수립과 문서화보다는 작은 주기로 빠른 릴리즈를 통해 문제점을 파악하고, 고객과의 지속적인 의사소통을 통해 진화하는 요구사항을 수용하는 것을 중요시한다. 따라서 정확한 결과 도출보다는 유연성과 빠른 대응력을 강조한다.
profile_image
1

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

15. 럼바우(Rumbaugh)의 객체지향 분석 기법 중 자료 흐름도(DFD)를 주로 이용하는 것은?

  1. 기능 모델링
  2. 동적 모델링
  3. 객체 모델링
  4. 정적 모델링
(정답률: 51%)
  • 자료 흐름도(DFD)는 시스템의 데이터 흐름을 중심으로 분석하는 기법으로, 기능 모델링에 주로 이용됩니다. 기능 모델링은 시스템의 기능적인 측면을 중심으로 분석하는 것으로, 시스템의 입력과 출력, 그리고 그 사이에서 수행되는 기능들을 나타내는 모델링 기법입니다. 따라서 자료 흐름도를 이용하여 시스템의 데이터 흐름을 분석하고, 이를 기반으로 시스템의 기능적인 측면을 모델링하는 것이 기능 모델링의 핵심입니다.
profile_image
1

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

16. 순차 다이어그램(Sequence Diagram)과 관련한 설명으로 틀린 것은?

  1. 객체들의 상호 작용을 나타내기 위해 사용한다.
  2. 시간의 흐름에 따라 객체들이 주고 받는 메시지의 전달 과정을 강조한다.
  3. 동적 다이어그램보다는 정적 다이어그램에 가깝다.
  4. 교류 다이어그램(Interaction Diagram)의 한 종류로 볼 수 있다.
(정답률: 77%)
profile_image
1

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

17. 객체지향 분석 기법과 관련한 설명으로 틀린것은?

  1. 동적 모델링 기법이 사용될 수 있다.
  2. 기능 중심으로 시스템을 파악하며 순차적인처리가 중요시되는 하향식(Top-down)방식으로 볼 수 있다.
  3. 데이터와 행위를 하나로 묶어 객체를 정의내리고 추상화시키는 작업이라 할 수 있다.
  4. 코드 재사용에 의한 프로그램 생산성 향상 및 요구에 따른 시스템의 쉬운 변경이 가능하다.
(정답률: 71%)
  • "기능 중심으로 시스템을 파악하며 순차적인 처리가 중요시되는 하향식(Top-down)방식으로 볼 수 있다."는 객체지향 분석 기법과 관련한 설명으로 틀린 것이다. 객체지향 분석 기법은 기능 중심보다는 객체 중심으로 시스템을 파악하며, 상위 객체와 하위 객체 간의 상호작용을 중요시하는 상향식(bottom-up) 방식으로 볼 수 있다.
profile_image
1

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

18. 대표적으로 DOS 및 Unix 등의 운영체제에서조작을 위해 사용하던 것으로, 정해진 명령문자열을 입력하여 시스템을 조작하는 사용자인터페이스(User Interface)는?

  1. GUI(Graphical User Interface)
  2. CLI(Command Line Interface)
  3. CUI(Cell User Interface)
  4. MUI(Mobile User Interface)
(정답률: 84%)
  • CLI는 명령어를 입력하여 시스템을 조작하는 사용자 인터페이스이기 때문에, 주로 텍스트 기반의 운영체제에서 사용된다. GUI는 그래픽으로 표현된 사용자 인터페이스이며, CUI는 셀 기반의 사용자 인터페이스이다. MUI는 모바일 기기에서 사용되는 사용자 인터페이스이다. 따라서, CLI가 정답이다.
profile_image
1

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

19. 분산 시스템에서의 미들웨어 (Middleware)와 관련한 설명으로 틀린 것은?

  1. 분산 시스템에서 다양한 부분을 관리하고 통신하며 데이터를 교환하게 해주는소프트웨어로 볼 수 있다.
  2. 위치 투명성(Location Transparency)을 제공한다.
  3. 분산 시스템의 여러 컴포넌트가 요구하는 재사용가능한 서비스의 구현을 제공한다.
  4. 애플리케이션과 사용자 사이에서만 분산서비스를 제공한다.
(정답률: 86%)
  • "애플리케이션과 사용자 사이에서만 분산서비스를 제공한다."는 틀린 설명입니다. 미들웨어는 분산 시스템에서 다양한 부분을 관리하고 통신하며 데이터를 교환하는 소프트웨어로 볼 수 있습니다. 또한 위치 투명성을 제공하고 분산 시스템의 여러 컴포넌트가 요구하는 재사용 가능한 서비스의 구현을 제공합니다. 따라서 미들웨어는 애플리케이션과 사용자 사이뿐만 아니라 분산 시스템 내의 다양한 컴포넌트 간에도 분산 서비스를 제공합니다.
profile_image
1

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

20. 소프트웨어 아키텍처와 관련한 설명으로 틀린것은?

  1. 파이프 필터 아키텍처에서 데이터는 파이프를 통해 양방향으로 흐르며, 필터 이동 시 오버헤드가 발생하지 않는다.
  2. 외부에서 인식할 수 있는 특성이 담긴 소프트웨어의 골격이 되는 기본 구조로 볼수 있다.
  3. 데이터 중심 아키텍처는 공유 데이터저장소를 통해 접근자 간의 통신이 이루어지므로 각 접근자의 수정과 확장이 용이하다.
  4. 이해 관계자들의 품질 요구사항을 반영하여 품질 속성을 결정한다.
(정답률: 79%)
  • "파이프 필터 아키텍처에서 데이터는 파이프를 통해 양방향으로 흐르며, 필터 이동 시 오버헤드가 발생하지 않는다."는 틀린 설명입니다. 파이프 필터 아키텍처에서는 데이터가 단방향으로만 흐르며, 필터 이동 시에는 오버헤드가 발생할 수 있습니다. 이는 파이프 필터 아키텍처의 특징 중 하나로, 필터 간의 데이터 전송을 위해 중간 버퍼를 사용하기 때문입니다.
profile_image
1

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

2과목: 소프트웨어 개발

21. 테스트를 목적에 따라 분류했을 때,강도(Stress) 테스트에 대한 설명으로 옳은것은?

  1. 시스템에 고의로 실패를 유도하고 시스템이정상적으로 복귀하는지 테스트한다.
  2. 시스템에 과다 정보량을 부과하여 과부하 시에도 시스템이 정상적으로 작동되는지를 테스트한다.
  3. 사용자의 이벤트에 시스템이 응답하는 시간,특정 시간 내에 처리하는 업무량, 사용자 요구에 시스템이 반응하는 속도 등을 테스트한다.
  4. 부당하고 불법적인 침입을 시도하여 보안시스템이 불법적인 침투를 잘 막아내는지 테스트한다.
(정답률: 79%)
  • 강도(Stress) 테스트는 시스템에 과다 정보량을 부과하여 과부하 시에도 시스템이 정상적으로 작동되는지를 테스트하는 것이다. 즉, 시스템이 최대한의 부하를 견딜 수 있는지를 확인하는 테스트이다.
profile_image
1

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

22. 다음 자료를 버블 정렬을 이용하여오름차순으로 정렬할 경우 PASS 3의 결과는?

  1. 6, 3, 5, 7, 9
  2. 3, 5, 6, 7, 9
  3. 6, 7, 3, 5, 9
  4. 3, 5, 9, 6, 7
(정답률: 68%)
  • 96735

    PASS 1 - 9 6 7 3 5
    6 9 7 3 5
    6 7 9 3 5
    6 7 3 9 5
    6 7 3 5 9

    PASS 2 - 6 7 3 5 9
    6 3 7 5 9
    6 3 5 7 9

    PASS 3 - 6 3 5 7 9
    3 6 5 7 9
profile_image
1

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

23. 다음 그래프에서 정점 A를 선택하여 깊이우선탐색(DFS)으로 운행한 결과는?

  1. ABECDFG
  2. ABECFDG
  3. ABCDEFG
  4. ABEFGCD
(정답률: 78%)
  • 정점 A에서 시작하여 DFS를 수행하면 A-B-E-F-G-C-D 순서로 운행하게 됩니다. 따라서 정답은 "ABEFGCD"가 됩니다.

    보기 중에서 "ABEFGCD"가 정답인 이유는 다음과 같습니다.
    - "ABECDFG": E와 F의 순서가 바뀌어 있습니다.
    - "ABECFDG": E와 F의 순서가 바뀌어 있습니다. 또한 C와 D의 순서도 바뀌어 있습니다.
    - "ABCDEFG": DFS로 탐색할 때는 A-B-C-D 순서로 탐색하게 됩니다. 따라서 정답이 될 수 없습니다.
    - "ABEFGCD": DFS로 탐색할 때 A-B-E-F-G-C-D 순서로 탐색하게 됩니다. 따라서 정답이 됩니다.
  • 깊이 우선 검색은 노드의 깊이를 우선으로 검색하고 나중에 형제 노드를 검색합니다..문제를 보면 처음에 A - B - E가 되구요....E의 위치에서 더이상 내려갈곳이 없기 때문에 F로 이동을 합니다..F에서 다시 밑으로 G로 갑니다..깊이 검색이 끝났기 때문에 형제 노드인 A에서 시작하여 C로 가고 더이상 갈곳이 없기에 다시 A에서 시작 하여 D로 갑니다..결과적으 로, A B E F G C D 의 순서가 됩니다.
profile_image
1

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

24. 다음 설명에 부합하는 용어로 옳은 것은?

  1. 통합 프로그램
  2. 저장소
  3. 모듈
  4. 데이터
(정답률: 86%)
  • 이 그림은 하나의 큰 프로그램을 여러 개의 작은 모듈로 나누어 개발하는 모듈화 방식을 보여줍니다. 따라서 정답은 "모듈"입니다. 모듈은 하나의 기능을 수행하는 프로그램의 일부분으로, 독립적으로 개발하고 테스트할 수 있으며, 다른 모듈과 결합하여 하나의 큰 프로그램을 만들 수 있습니다.
profile_image
1

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

25. 테스트 드라이버(Test Driver)에 대한 설명으로 틀린 것은?

  1. 시험대상 모듈을 호출하는 간이 소프트웨어이다.
  2. 필요에 따라 매개 변수를 전달하고 모듈을 수행한 후의 결과를 보여줄 수 있다.
  3. 상향식 통합 테스트에서 사용된다.
  4. 테스트 대상 모듈이 호출하는 하위 모듈의 역할을 한다.
(정답률: 61%)
  • 정답은 "테스트 대상 모듈이 호출하는 하위 모듈의 역할을 한다."가 아닌 다른 보기입니다.

    테스트 드라이버(Test Driver)는 시험대상 모듈을 호출하는 간이 소프트웨어로, 필요에 따라 매개 변수를 전달하고 모듈을 수행한 후의 결과를 보여줄 수 있습니다. 또한 상향식 통합 테스트에서 사용됩니다. 하지만 테스트 대상 모듈이 호출하는 하위 모듈의 역할을 하는 것은 테스트 스텁(Test Stub)입니다. 테스트 스텁은 테스트 대상 모듈이 호출하는 하위 모듈의 대역을 대신하여 테스트를 수행합니다.
profile_image
1

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

26. 다음 중 선형 구조로만 묶인 것은?

  1. 스택, 트리
  2. 큐, 데크
  3. 큐, 그래프
  4. 리스트, 그래프
(정답률: 80%)
  • 큐와 데크는 선형 구조로만 묶인 자료구조입니다. 스택과 트리는 비선형 구조이며, 그래프는 비선형 구조이면서 순환 구조를 가지기 때문에 선형 구조로만 묶인 것이 아닙니다. 리스트는 선형 구조이지만, 그래프는 비선형 구조이기 때문에 선형 구조로만 묶인 것이 아닙니다.
profile_image
1

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

27. 다음은 스택의 자료 삭제 알고리즘이다. ⓐ에 들어 갈 내용으로 옳은 것은? (단, Top: 스택포인터, S: 스택의 이름)

  1. Overflow
  2. Top = Top + 1
  3. Underflow
  4. Top = Top
(정답률: 69%)
  • 스택에서 데이터를 삭제할 때는 Top 값을 1 감소시키고, 해당 위치의 데이터를 반환한다. 그러나, 이미 스택이 비어있는 상태에서 삭제를 시도하면 Top 값이 음수가 되어버리게 되는데, 이는 스택의 범위를 벗어나는 것이므로 "Underflow"가 발생한다.
  • Overflow(오버플로우) : 스택 공간이 가득찼을 때 하나의 데 이터를 더 넣으려고 하는 경우, 스택 오버플로우가 일어나고 프로그램에 오류 야기
    Underflow(언더플로우) : 스택 공간에 데이터가 없는데 프로 그램에서 스택에서 데이터를 꺼내려고 하는 경우, 스택 언더 플로우가 일어나며 프로그램에 오류를 야기
profile_image
1

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

28. 제품 소프트웨어의 사용자 매뉴얼 작성절차로 (가)~(다)와 [보기]의 기호를 바르게 연결한 것은?

  1. (가)-㉠, (나)-㉡, (다)-㉢
  2. (가)-㉢, (나)-㉡, (다)-㉠
  3. (가)-㉠, (나)-㉢, (다)-㉡
  4. (가)-㉢, (나)-㉠, (다)-㉡
(정답률: 82%)
  • 정답은 "(가)-㉢, (나)-㉡, (다)-㉠"입니다.

    (가)는 "제품 소프트웨어의 사용자 매뉴얼 작성 계획 수립" 단계이므로, 작성할 매뉴얼의 범위와 구성 등을 계획하는 것이 중요합니다. 따라서, 작성할 매뉴얼의 범위를 파악하고, 작성 방법과 구성 등을 결정하는 것이 필요합니다. 이를 위해 (가)는 계획서를 작성하고, 이를 기반으로 작성할 매뉴얼의 구성과 내용을 정합니다. 이 과정에서는 (가)-㉢의 순서로 진행됩니다.

    (나)는 "제품 소프트웨어의 사용자 매뉴얼 작성" 단계이므로, 실제로 매뉴얼을 작성하는 것이 중요합니다. 이를 위해 (나)는 작성 계획서를 기반으로 매뉴얼의 구성과 내용을 작성합니다. 이 과정에서는 (나)-㉡의 순서로 진행됩니다.

    (다)는 "제품 소프트웨어의 사용자 매뉴얼 검토 및 보완" 단계이므로, 작성된 매뉴얼을 검토하고 보완하는 것이 중요합니다. 이를 위해 (다)는 작성된 매뉴얼을 검토하고, 필요한 보완 작업을 수행합니다. 이 과정에서는 (다)-㉠의 순서로 진행됩니다.
profile_image
1

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

29. 순서가 A, B, C, D로 정해진 입력 자료를 스택에 입력한 후 출력한 결과로 불가능한 것은?

  1. D, C, B, A
  2. B, C, D, A
  3. C, B, A, D
  4. D, B, C, A
(정답률: 74%)
  • 쓰레기 같은 말장난 문제임.
    스택에 넣었다가 바로 빼는 경우들을 이용한 문제인건데 솔직히 말을 너무 모호하게 해놓음
    1. A넣고 B넣고 C넣고 D 넣고 모두 pop
    2. A넣고 B넣고 B빼고 C넣고 C빼고 D넣고 D빼고 A 빼고
    3. A넣고 B넣고 C넣고 C빼고 B빼고 A빼고 D넣고 D빼고
    4.불가능
profile_image
1

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

30. 소프트웨어 테스트에서 검증(Verification)과 확인 (Validation)에 대한 설명으로 틀린 것은?

  1. 소프트웨어 테스트에서 검증과 확인을 구별하면 찾고자 하는 결함 유형을 명확하게 하는 데 도움이 된다.
  2. 검증은 소프트웨어 개발 과정을 테스트하는 것이고, 확인은 소프트웨어 결과를 테스트 하는 것이다.
  3. 검증은 작업 제품이 요구 명세의 기능, 비기능 요구사항을 얼마나 잘 준수하는지 측정하는 작업이다.
  4. 검증은 작업 제품이 사용자의 요구에 적합한지 측정하며, 확인은 작업 제품이 개발자의 기대를 충족시키는지를 측정한다.
(정답률: 66%)
  • 검증은 개발자중심 시스템 검정 과정, "과정"을 중시한다고 생각하면 되고, 확인은 사용자 중심 시스템 검정과정, 결과를 잘 충족했는지를 중시한다고 생각하면 됨
profile_image
1

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

31. 개별 모듈을 시험하는 것으로 모듈이 정확하게 구현되었는지, 예정한 기능이 제대로 수행되는지를 점검하는 것이 주요 목적인 테스트는?

  1. 통합 테스트(Integration Test)
  2. 단위 테스트(Unit Test)
  3. 시스템 테스트(System Test)
  4. 인수 테스트(Acceptance Test)
(정답률: 76%)
  • 개별 모듈을 시험하는 것이 주요 목적이기 때문에 "단위 테스트(Unit Test)"가 정답입니다. 단위 테스트는 개발자가 작성한 코드의 각각의 함수나 모듈을 분리하여 테스트하는 것으로, 코드의 오류를 빠르게 발견하고 수정할 수 있도록 도와줍니다. 또한, 단위 테스트는 코드의 유지보수성을 높이고, 코드의 재사용성을 높이는 등의 장점을 가지고 있습니다.
profile_image
1

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

32. 형상 관리의 개념과 절차에 대한 설명으로 틀린 것은?

  1. 형상 식별은 형상 관리 계획을 근거로 형상관리의 대상이 무엇인지 식별하는 과정이다.
  2. 형상 관리를 통해 가시성과 추적성을 보장함으로써 소프트웨어의 생산성과 품질을 높일 수 있다.
  3. 형상 통제 과정에서는 형상 목록의 변경 요구를 즉시 수용 및 반영해야 한다.
  4. 형상 감사는 형상 관리 계획대로 형상관리가 진행되고 있는지, 형상 항목의 변경이 요구 사항에 맞도록 제대로 이뤄졌는지 등을 살펴보는 활동이다.
(정답률: 81%)
  • "형상 통제 과정에서는 형상 목록의 변경 요구를 즉시 수용 및 반영해야 한다."이 부분이 틀린 것입니다. 형상 통제 과정에서는 변경 요구를 검토하고 승인 절차를 거친 후에 변경을 수용하고 반영해야 합니다. 변경 요구를 즉시 수용하면 형상 관리의 일관성과 안정성을 해치게 됩니다.
profile_image
1

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

33. 소스코드 정적 분석(Static Analysis)에 대한 설명으로 틀린 것은?

  1. 소스 코드를 실행시키지 않고 분석한다.
  2. 코드에 있는 오류나 잠재적인 오류를 찾아내기 위한 활동이다.
  3. 하드웨어적인 방법으로만 코드 분석이 가능하다.
  4. 자료 흐름이나 논리 흐름을 분석하여 비정상적인 패턴을 찾을 수 있다.
(정답률: 76%)
  • "하드웨어적인 방법으로만 코드 분석이 가능하다."는 틀린 설명입니다. 소스코드 정적 분석은 소프트웨어적인 방법으로 코드를 분석합니다. 따라서 소스코드를 실행시키지 않고 코드에 있는 오류나 잠재적인 오류를 찾아내기 위한 활동이며, 자료 흐름이나 논리 흐름을 분석하여 비정상적인 패턴을 찾을 수 있습니다.
profile_image
1

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

34. 소프트웨어 개발 활동을 수행함에 있어서 시스템이 고장(Failure)을 일으키게 하며, 오류(Error)가 있는 경우 발생하는 것은?

  1. Fault
  2. Testcase
  3. Mistake
  4. Inspection
(정답률: 79%)
  • 시스템이 고장을 일으키거나 오류가 발생하는 것은 "Fault"이다. 이는 소프트웨어 개발 과정에서 발생하는 결함이나 버그로 인해 발생할 수 있다. Testcase는 테스트 케이스, Mistake는 실수, Inspection은 검사를 의미한다.
profile_image
1

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

35. 코드의 간결성을 유지하기 위해 사용되는 지침으로 틀린 것은?

  1. 공백을 이용하여 실행문 그룹과 주석을 명확히 구분한다.
  2. 복잡한 논리식과 산술식은 괄호와 들여쓰기(Indentation)를 통해 명확히 표현한다.
  3. 빈 줄을 사용하여 선언부와 구현부를 구별한다.
  4. 한 줄에 최대한 많은 문장을 코딩한다.
(정답률: 89%)
  • "한 줄에 최대한 많은 문장을 코딩한다."는 코드의 가독성을 떨어뜨리기 때문에 올바른 지침이 아니다. 한 줄에는 하나의 문장만 코딩하는 것이 좋다. 이렇게 하면 코드를 읽고 이해하기 쉬워지며, 디버깅이나 유지보수도 용이해진다.
profile_image
1

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

36. 소프트웨어 품질 목표 중 하나 이상의 하드웨어 환경에서 운용되기 위해 쉽게 수정될 수 있는 시스템 능력을 의미하는 것은?

  1. Portability
  2. Efficiency
  3. Usability
  4. Correctness
(정답률: 57%)
  • "Portability"는 하드웨어 환경에서 운용되기 위해 쉽게 수정될 수 있는 시스템 능력을 의미합니다. 다른 세 가지 목표인 "Efficiency", "Usability", "Correctness"는 시스템의 성능, 사용자 친화성, 정확성을 강조하는 것이지만, "Portability"는 시스템이 다양한 하드웨어 환경에서도 동작할 수 있도록 하는 능력을 강조합니다. 따라서 "Portability"가 정답입니다.
profile_image
1

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

37. 다음 중 최악의 경우 검색 효율이 가장 나쁜트리 구조는?

  1. 이진 탐색트리
  2. AVL 트리
  3. 2-3 트리
  4. 레드-블랙 트리
(정답률: 65%)
  • 이진 탐색트리는 데이터가 정렬되어 있지 않은 경우, 최악의 경우에는 모든 노드를 탐색해야 하기 때문에 검색 효율이 가장 나쁩니다. 이는 트리의 높이가 데이터의 개수와 같아지는 경우에 발생합니다. 따라서 이진 탐색트리는 데이터가 정렬되어 있을 때 가장 효율적으로 작동하며, 데이터의 삽입, 삭제에 대한 처리도 다른 트리 구조에 비해 복잡합니다.
profile_image
1

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

38. 다음 트리에 대한 중위 순회 운행 결과는?

  1. ABDCEF
  2. ABCDEF
  3. DBECFA
  4. DBAECF
(정답률: 68%)
  • 중위 순회는 왼쪽 자식 노드, 현재 노드, 오른쪽 자식 노드 순으로 운행하므로, 이를 따라가면 "DBAECF"가 된다. 즉, D를 루트로 하는 서브트리의 왼쪽 자식인 B를 먼저 방문하고, 그 다음에는 A를 방문하고, 다시 D를 방문한 후에 오른쪽 자식인 E를 방문하고, 그 다음에는 C를 방문하고, 마지막으로 F를 방문하면 된다.
profile_image
1

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

39. 테스트 케이스 자동 생성 도구를 이용하여 테스트 데이터를 찾아내는 방법이 아닌 것은?

  1. 스터브(Stub)와 드라이버(Driver)
  2. 입력 도메인 분석
  3. 랜덤(Random) 테스트
  4. 자료 흐름도
(정답률: 47%)
  • 스터브와 드라이버는 테스트 케이스 자동 생성 도구가 아니라, 소프트웨어 테스트에서 사용되는 기술이다. 스터브는 특정 모듈의 기능을 대체하는 가짜 모듈을 만들어서 테스트를 수행하는 것이고, 드라이버는 특정 모듈을 호출하여 테스트를 수행하는 것이다. 따라서 스터브와 드라이버는 테스트 데이터를 찾아내는 방법이 아니라, 테스트를 수행하는 방법 중 하나이다. 입력 도메인 분석, 랜덤 테스트, 자료 흐름도는 모두 테스트 케이스 자동 생성 도구를 이용하여 테스트 데이터를 찾아내는 방법이다.
profile_image
1

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

40. 저작권 관리 구성 요소 중 패키저(Packager)의 주요 역할로 옳은 것은?

  1. 콘텐츠를 제공하는 저작권자를 의미한다.
  2. 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는다.
  3. 라이선스를 발급하고 관리한다.
  4. 배포된 콘텐츠의 이용 권한을 통제한다.
(정답률: 78%)
  • 패키저는 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 역할을 합니다. 이는 콘텐츠를 보다 효율적으로 관리하고 배포할 수 있도록 도와주는 역할입니다. 예를 들어, 여러 개의 책을 하나의 패키지로 묶어서 판매할 수 있습니다. 이렇게 하면 책을 개별적으로 판매하는 것보다 효율적으로 관리할 수 있으며, 고객도 한 번에 여러 책을 구매할 수 있습니다.
profile_image
1

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

3과목: 데이터베이스 구축

41. 데이터베이스의 무결성 규정(Integrity Rule)과 관련한 설명으로 틀린 것은?

  1. 무결성 규정에는 데이터가 만족해야 될 제약 조건, 규정을 참조할 때 사용하는 식별자 등의 요소가 포함될 수 있다.
  2. 무결성 규정의 대상으로는 도메인, 키, 종속성 등이 있다.
  3. 정식으로 허가 받은 사용자가 아닌 불법적인 사용자에 의한 갱신으로부터 데이터베이스를 보호하기 위한 규정이다.
  4. 릴레이션 무결성 규정(Relation Integrity Rules)은 릴레이 션을 조작하는 과정에서의 의미적 관계(Semantic Relationship)을 명세한 것이다.
(정답률: 60%)
  • 정식으로 허가 받은 사용자가 아닌 불법적인 사용자에 의한 갱신으로부터 데이터베이스를 보호하기 위한 규정이 아니다. 데이터베이스의 무결성 규정은 데이터의 일관성, 정확성, 유효성 등을 보장하기 위한 규정이다. 따라서 무단 접근이나 갱신을 막기 위한 보안 규정과는 다른 개념이다.
profile_image
1

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

42. 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미하는 것은?

  1. 트랜잭션
  2. 튜플
  3. 카디널리티
(정답률: 81%)
  • 트랜잭션은 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위를 의미합니다. 이는 데이터베이스에서 데이터를 안전하게 처리하기 위해 필요한 개념으로, 한꺼번에 모두 수행되어야 할 일련의 연산들을 포함합니다. 예를 들어, 계좌 이체를 수행하는 경우, 출금과 입금 두 개의 연산이 모두 성공적으로 수행되어야만 전체적으로 이체가 완료됩니다. 이러한 일련의 연산들을 하나의 트랜잭션으로 묶어서 처리하면, 데이터의 일관성과 무결성을 보장할 수 있습니다.
profile_image
1

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

43. 다음 두 릴레이션 Rl과 R2의 카티션 프로덕트(cartesian product) 수행 결과는?

(정답률: 78%)
  • 카티션 프로덕트는 두 릴레이션의 모든 가능한 조합을 구하는 것이므로, R1의 튜플 수가 3개이고 R2의 튜플 수가 2개이므로 총 3 x 2 = 6개의 튜플이 생성됩니다. 따라서 정답은 "" 입니다.
  • 두 테이블 곱집합
    두 개의 테이블은 카티션 프로덕트 후 튜플의 수는 각 테이블 의 곱,
profile_image
1

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

44. 물리적 데이터베이스 설계에 대한 설명으로 거리가 먼 것은?

  1. 물리적 설계의 목적은 효율적인 방법으로 데이터를 저장하는 것이다.
  2. 트랜잭션 처리량과 응답시간, 디스크 용량 등을 고려해야 한다.
  3. 저장 레코드의 형식, 순서, 접근 경로와 같은 정보를 사용하여 설계한다.
  4. 트랜잭션의 인터페이스를 설계하며, 데이터 타입 및 데이터 타입들 간의 관계로 표현한다.
(정답률: 67%)
  • "트랜잭션의 인터페이스를 설계하며, 데이터 타입 및 데이터 타입들 간의 관계로 표현한다."가 다른 항목들과는 다르게 논리적 데이터베이스 설계에 해당하기 때문이다. 물리적 데이터베이스 설계는 논리적 데이터베이스 설계를 기반으로 하여 실제 저장장치에 데이터를 저장하는 방법을 결정하는 것이 목적이다. 따라서 저장 레코드의 형식, 순서, 접근 경로와 같은 정보를 사용하여 설계하며, 트랜잭션 처리량과 응답시간, 디스크 용량 등을 고려해야 한다.
profile_image
1

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

45. 다음 중 기본키는 NULL 값을 가져서는 안되며, 릴레이션 내에 오직 하나의 값만 존재해야 한다는 조건을 무엇이라 하는가?

  1. 개체 무결성 제약조건
  2. 참조 무결성 제약조건
  3. 도메인 무결성 제약조건
  4. 속성 무결성 제약조건
(정답률: 80%)
  • 기본키는 릴레이션 내에서 각 행을 유일하게 식별하는 역할을 하기 때문에 NULL 값을 가질 수 없으며, 중복된 값이 존재해서도 안된다. 이러한 조건을 보장하기 위해 사용되는 제약조건이 "개체 무결성 제약조건"이다. 따라서 정답은 "개체 무결성 제약조건"이다.
  • 1. 개체 무결성 : 기본키는 null 값이 될 수 없음
    2. 참조 무결성 : 외래키는 참조할 수 없는 값을 가질 수 없음
    3. 도메인 무결성 : 특정 속성값은 그 속성이 정의된 도메 인에 속한 값이어야 함
profile_image
1

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

46. SQL문에서 HAVING을 사용할 수 있는 절은?

  1. LIKE 절
  2. WHERE 절
  3. GROUP BY 절
  4. ORDER BY 절
(정답률: 77%)
  • HAVING 절은 그룹화된 결과에 대한 조건을 지정하는 절이다. 따라서 HAVING 절을 사용하려면 먼저 그룹화된 결과를 얻기 위해 GROUP BY 절을 사용해야 한다. 따라서 정답은 "GROUP BY 절"이다. WHERE 절은 그룹화된 결과에 대한 조건을 지정하는 것이 아니라, 원본 데이터에 대한 조건을 지정하는 절이다. LIKE 절은 문자열 패턴 매칭을 위해 사용되는 절이며, ORDER BY 절은 결과를 정렬하는 절이다.
  • HAVING 절 : GROUP BY와 함께 사용되며, 그룹에 대한 조 건을 지정
profile_image
1

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

47. 관계 데이터베이스에 있어서 관계 대수 연산이 아닌 것은?

  1. 디비전(Division)
  2. 프로젝트(Project)
  3. 조인(Join)
  4. 포크(Fork)
(정답률: 77%)
  • 관계 대수 연산 중 포크(Fork)는 존재하지 않는 연산입니다. 따라서 포크가 관계 데이터베이스에 있어서 관계 대수 연산이 아닙니다.
  • 관계대수 연산에는

    1. 일반 집합 연산자 합집합
    교집합
    차집합
    카티션 프로덕트

    2. 순수 관계 연산자 셀렉트
    프로젝트
    조인
    디비전
  • fork는 UNIX 환경에서 호출한 프로세스를 복사하는 함수
profile_image
1

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

48. 학적 테이블에서 전화번호가 Null값이 아닌 학생명을 모두 검색할 때, SQL 구문으로 옳은 것은?

  1. SELECT FROM 07 WHERE 전화번호 DON'T NULL;
  2. SELECT FROM WHERE 전화번호 != NOT NULL;
  3. SELECT 학생명 FROM 학적 WHERE 전화번호 IS NOT NULL;
  4. SELECT FROM WHERE 전화번호 IS NULL;
(정답률: 84%)
  • 정답은 "SELECT 학생명 FROM 학적 WHERE 전화번호 IS NOT NULL;" 이다.

    이유는 다음과 같다.

    1. "SELECT FROM 07 WHERE 전화번호 DON'T NULL;" : 문법 오류가 있다. "DON'T"은 SQL에서 사용되지 않는 키워드이다. 또한, "07"은 테이블 이름이 아니므로 사용할 수 없다.

    2. "SELECT FROM WHERE 전화번호 != NOT NULL;" : 문법 오류가 있다. "SELECT"와 "FROM" 사이에 테이블 이름이 빠져있다. 또한, "!="는 "NOT"과 함께 사용할 수 없다.

    3. "SELECT 학생명 FROM 학적 WHERE 전화번호 IS NOT NULL;" : 올바른 구문이다. "SELECT"로 학생명을 선택하고, "FROM"으로 학적 테이블을 선택하며, "WHERE"로 전화번호가 Null값이 아닌 데이터를 선택한다.

    4. "SELECT FROM WHERE 전화번호 IS NULL;" : 문법 오류가 있다. "SELECT"와 "FROM" 사이에 테이블 이름이 빠져있다. 또한, "IS NULL"이 아닌 "IS NOT NULL"을 사용해야 한다.
profile_image
1

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

49. 관계형 데이터베이스에서 다음 설명에 해당하는 키(Key)는?

  1. 후보키
  2. 대체키
  3. 슈퍼키
  4. 외래키
(정답률: 73%)
  • 이 키는 슈퍼키입니다. 슈퍼키는 유일성을 보장하는 하나 이상의 속성으로 구성된 키로, 다른 키들의 상위 개념입니다. 이 경우, "고객번호"와 "계좌번호" 두 속성으로 구성되어 있으며, 이 두 속성을 조합하면 각각의 튜플을 유일하게 식별할 수 있습니다. 따라서 이 키는 슈퍼키입니다.
profile_image
1

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

50. 데이터베이스에서 인덱스(Index)와 관련한 설명으로 틀린 것은?

  1. 인덱스의 기본 목적은 검색 성능을 최적화하는 것으로 볼 수 있다.
  2. B-트리 인덱스는 분기를 목적으로 하는 Branch Block을 가지고 있다.
  3. BETWEEN 등 범위(Range) 검색에 활용될 수 있다.
  4. 시스템이 자동으로 생성하여 사용자가 변경할 수 없다.
(정답률: 80%)
profile_image
1

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

51. 로킹 단위(Locking Granularity)에 대한 설명으로 옳은 것은?

  1. 로킹 단위가 크면 병행성 수준이 낮아진다.
  2. 로킹 단위가 크면 병행 제어 기법이 복잡해진다.
  3. 로킹 단위가 작으면 로크(lock)의 수가 적어진다.
  4. 로킹은 파일 단위로 이루어지며, 레코드와 필드는 로킹 단위가 될 수 없다.
(정답률: 65%)
  • 본 해설은 신고처리되어 블라인드 되었습니다.
    해설을 보시기 원하시면 클릭해 주세요
    신고사유
    해설이 뒷 부분이 오류입니다. 단위가 큰 것이 아니라 작으면 병행제어가 복잡해지고 로크가 많아 진다. 가 올바른 것 같습니다.
profile_image
1

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

52. 관계 대수에 대한 설명으로 틀린 것은?

  1. 원하는 릴레이션을 정의하는 방법을 제공하며 비절차적 언어이다.
  2. 릴레이션 조작을 위한 연산의 집합으로 피연산자와 결과가 모두 릴레이션이다.
  3. 일반 집합 연산과 순수 관계 연산으로 구분된다.
  4. 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다.
(정답률: 65%)
  • 관계대수 : 관계형 데이터베이스에서 원하는 정보와 그 정보 를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어이다.

    비절차적 특성은 관계해석이 지니고 있다.
profile_image
1

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

53. 데이터의 중복으로 인하여 관계연산을 처리할 때 예기치 못한 곤란한 현상이 발생하는 것을 무엇이라 하는가?

  1. 이상(Anomaly)
  2. 제한 (Restriction)
  3. 종속성(Dependency)
  4. 변환(Translation)
(정답률: 84%)
  • 이상(Anomaly)은 데이터의 중복으로 인해 발생하는 문제로, 데이터를 수정, 삽입, 삭제할 때 예기치 못한 결과가 발생하는 것을 말한다. 이상은 제한(제약), 종속성, 변환 등의 관계연산 처리 시 발생할 수 있다고 알려져 있지만, 이 중에서 가장 일반적으로 사용되는 용어가 "이상"이기 때문에 정답이다.
profile_image
1

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

54. 다음 중 SQL에서의 DDL 문이 아닌 것은?

  1. CREATE
  2. DELETE
  3. ALTER
  4. DROP
(정답률: 76%)
  • SQL에서의 DDL(Data Definition Language)은 데이터베이스의 구조를 정의하거나 조작하는 명령어를 말한다. CREATE, ALTER, DROP은 모두 데이터베이스의 구조를 정의하거나 조작하는 명령어이므로 DDL에 해당한다. 하지만 DELETE는 데이터베이스에서 데이터를 삭제하는 명령어이므로 DDL에 해당하지 않는다. 따라서 정답은 "DELETE"이다.
profile_image
1

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

55. 정규화에 대한 설명으로 적절하지 않은 것은?

  1. 데이터베이스의 개념적 설계 단계 이전에 수행한다.
  2. 데이터 구조의 안정성을 최대화한다.
  3. 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 방지한다.
  4. 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다.
(정답률: 74%)
  • "데이터베이스의 개념적 설계 단계 이전에 수행한다."는 오히려 정규화의 목적과 반대되는 내용이다. 정규화는 데이터베이스의 개념적 설계 단계에서 수행되며, 데이터 구조의 안정성을 최대화하고 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 방지하며 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다는 것이 올바른 설명이다.
  • 정규화는 논리적 설계 단계에서 수행하는 작업
profile_image
1

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

56. 트랜잭션의 주요 특성 중 하나로 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없음을 의미하는 것은?

  1. Log
  2. Consistency
  3. Isolation
  4. Durability
(정답률: 73%)
  • 정답은 "Isolation"입니다. 이유는 동시에 병행 실행되는 트랜잭션들이 서로 간섭하지 않고 독립적으로 실행되어야 하기 때문입니다. 이를 위해 트랜잭션은 다른 트랜잭션의 연산에 대한 영향을 받지 않도록 격리되어야 합니다. 이를 트랜잭션의 격리성(Isolation)이라고 합니다.
  • Atomicity(원자성)
    1. 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아 니면 전혀 반영되지 않아야 한다.
    2. 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느하나라도 오류가 발생하면 트랜잭션 전부가 취소되어야 한다.

    Consistency(일관성)
    1. 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일 관성 있는 데이터베이스 상태로 변환한다.
    2. 시스템이 가지고 있는 고정요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다.

    Isolation(독립성,격리성)
    1.둘이상의트랜잭션이동시에병행실행되는경우어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이 끼어들 수 없다.
    2. 수행중인 트랜잭션은 완전히 완료될 때까지 다른 트랜 잭션에서 수행 결과를 참조할 수 없다.

    Durablility(영속성,지속성)
    1. 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나 더라도 영구적으로 반영되어야 한다.
profile_image
1

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

57. SQL의 논리 연산자가 아닌 것은?

  1. AND
  2. OTHER
  3. OR
  4. NOT
(정답률: 85%)
  • "OTHER"는 SQL에서 사용되지 않는 연산자이기 때문에 정답입니다. SQL에서는 다른 논리 연산자인 "AND", "OR", "NOT"을 사용하여 쿼리를 작성합니다.
profile_image
1

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

58. 동시성 제어를 위한 직렬화 기법으로 트랜잭션 간의 처리 순서를 미리 정하는 방법은?

  1. 로킹 기법
  2. 타임스탬프 기법
  3. 검증 기법
  4. 배타 로크 기법
(정답률: 74%)
  • 타임스탬프 기법은 각 트랜잭션마다 고유한 타임스탬프를 부여하고, 이를 이용하여 트랜잭션 간의 처리 순서를 미리 정하는 방법입니다. 이 방법은 트랜잭션마다 순서를 정해주기 때문에 동시성 제어를 위한 직렬화 기법으로 사용됩니다. 따라서 정답은 "타임스탬프 기법"입니다.
profile_image
1

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

59. 이전 단계의 정규형을 만족하면서 후보키를 통하지 않는 조인 종속(JD : Join Dependency) 제거해야 만족하는 정규형은?

  1. 제3정규형
  2. 제4정규형
  3. 제5정규형
  4. 제6정규형
(정답률: 65%)
  • 제5정규형은 모든 조인 종속을 제거하여 만족하는 정규형이다. 이는 후보키를 통하지 않는 조인 종속까지 모두 제거하므로, 이전 단계의 정규형을 만족하면서 후보키를 통하지 않는 조인 종속을 제거하는 것이 목표인 이 문제에 적합하다. 따라서 정답은 "제5정규형"이다.
profile_image
1

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

60. 어떤 릴레이션 R에서 X와 Y를 각각 R의 애트리뷰트 집합의 부분 집합이라고 할 경우 애트리뷰트 X의 값 각각에 대해 시간에 관계없이 항상 애트리뷰트 Y의 값이 오직 하나만 연관되어 있을 때 Y는 X에 함수 종속이라고 한다. 이 함수 종속의 표기로 옳은 것은?

  1. Y → X
  2. Y ⊂ X
  3. X → Y
  4. X ⊂ Y
(정답률: 54%)
  • 정답은 "X → Y"이다.

    이유는 X가 주어졌을 때 Y의 값이 항상 유일하게 결정되기 때문이다. 즉, X의 값이 변하면 Y의 값도 변할 수 있지만, Y의 값이 변하면 X의 값은 변하지 않는다. 따라서 X가 Y에 함수적으로 종속되어 있다고 말할 수 있다.

    예를 들어, 학생의 성적 정보가 담긴 R에서 학생의 이름 X와 학생의 학번 Y가 있다고 가정해보자. 이때, 학번은 학생의 이름에 함수적으로 종속되어 있다. 즉, 학생의 이름이 주어졌을 때 학번은 항상 유일하게 결정된다. 하지만 학번이 주어졌을 때 학생의 이름은 유일하게 결정되지 않는다. 따라서 이 경우에는 "Y → X"가 아닌 "X → Y"로 표기한다.
profile_image
1

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

4과목: 프로그래밍 언어 활용

61. 모듈 내 구성 요소들이 서로 다른 기능을 같은 시간대에 함께 실행하는 경우의 응집도(Cohesion)는?

  1. Temporal Cohesion
  2. Logical Cohesion
  3. Coincidental Cohesion
  4. Sequential Cohesion
(정답률: 59%)
  • "Temporal Cohesion"은 모듈 내 구성 요소들이 서로 다른 기능을 같은 시간대에 함께 실행하는 경우의 응집도를 의미한다. 즉, 모듈 내의 구성 요소들이 시간적으로 연관되어 있어서 함께 실행되어야 하는 경우를 말한다. 이는 모듈 내의 구성 요소들이 서로 독립적인 기능을 수행하지 않고, 서로 연관된 기능을 수행하는 경우에 해당한다. 예를 들어, 파일을 읽고 쓰는 기능이 함께 실행되는 경우가 Temporal Cohesion에 해당한다.
  • Temporal Cohension(시간적 응집도)를 설명하는 문제이다.
    - Logical Cohension(논리적 응집도): 모듈 내 구성 요소들이 같은 범주에 속하는 기능끼리 묶인 경우(ex. 새글, 불러오기, 저장하기, 다른이름으로 저장하기)
    - Coincidental Cohension(우연적 응집도): 모듈 내 구성 요 소들이 뚜렷한 관계없이 묶인 경우
    - Sequential Cohension(순차적 응집도): 모듈 내 구성 요소 들이 이전의 명령어로부터 나온 출력결과를 그 다음 명령어의 입력자료로 사용하는 경우(ex. 총점과 평균의 관계)
profile_image
1

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

62. 오류 제어에 사용되는 자동반복 요청방식(ARQ)이 아닌 것은?

  1. Stop-and-wait ARQ
  2. Go-back-N ARQ
  3. Selective-Repeat ARQ
  4. Non-Acknowledge ARQ
(정답률: 64%)
  • Non-Acknowledge ARQ는 수신 측에서 패킷을 받았음에도 불구하고 응답을 보내지 않는 방식으로 오류 제어를 수행합니다. 따라서 이 방식은 자동반복 요청방식(ARQ)이 아닙니다. Stop-and-wait ARQ, Go-back-N ARQ, Selective-Repeat ARQ은 모두 자동반복 요청방식(ARQ)입니다.
  • 자동반복 요청방식(ARQ: Automatic Repeat reQuest)

    - Stop-and-Wait ARQ(정지-대기 ARQ): 송신 측이 하나의 블록을 전송한 후 수신 측에서 에러의 발생을 점검한 다음, 에러 발생 유무 신호를 보내올 때까지 기다리는 방식

    - Go-Back-N ARQ: 여러 블록을 연속적으로 전송하고, 수신 측에서 부정 응답(NAK)을 보내오면 송신 측이 오류가 발생한 블록부터 모두 재 전송

    - Selective-Repeat ARQ(선택적 재전송 ARQ): 여러 블록을 연속적으로 전송하고, 수신측에서 부정 응답(NAK)을 보내오면 송신 측이 오류가 발생한 블록만을 재전송

    - Adaptive ARQ(적응적 ARQ): 전송 효율을 최대로 하기 위 해서 데이터 블록의 길이를 채널의 상태에 따라 동적으로 변 경하는 방식
profile_image
1

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

63. 다음 파이썬(Python) 프로그램이 실행되었을 때의 결과는?

  1. 45
  2. 55
  3. 66
  4. 78
(정답률: 66%)
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
  • 파이썬 for i in range( n ) 은
    i값이 0부터 n-1까지 반복합니다
profile_image
1

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

64. 다음 C언어 프로그램이 실행되었을 때의 결과는?

  1. nation
  2. nationalter
  3. alter
  4. alternation
(정답률: 75%)
  • 본 해설은 신고처리되어 블라인드 되었습니다.
    해설을 보시기 원하시면 클릭해 주세요
    신고사유
    결과는 맞는데 과정이 동문서답입니다.
profile_image
1

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

65. JAVA에서 힙(Heap)에 남아있으나 변수가 가지고 있던 참조값을 잃거나 변수 자체가 없어짐으로써 더 이상 사용되지 않는 객체를 제거해주는 역할을 하는 모듈은?

  1. Heap Collector
  2. Garbage Collector
  3. Memory Collector
  4. Variable Collector
(정답률: 80%)
  • Garbage Collector는 JAVA에서 더 이상 사용되지 않는 객체를 제거해주는 모듈로, Heap에 남아있는 객체 중에서 변수가 가지고 있던 참조값을 잃거나 변수 자체가 없어진 객체를 자동으로 제거해줍니다. 따라서 정답은 "Garbage Collector"입니다.
profile_image
1

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

66. 다음 C언어 프로그램이 실행되었을 때의 결과는?

  1. 0
  2. 1
  3. 2
  4. 3
(정답률: 67%)
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
  • r1 = 4 <= 4 || 2 == 2; :: 참 (1)
    r2 = (3 > 0) && (4 < 5) :: 참 (1)
    r3 = !2; :: 거짓 (0)
profile_image
1

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

67. 다음 중 JAVA에서 우선순위가 가장 낮은 연산자는?

  1. --
  2. %
  3. &
  4. =
(정답률: 70%)
  • JAVA에서 우선순위가 가장 낮은 연산자는 "="입니다. 이는 대입 연산자로, 변수에 값을 할당하는 역할을 합니다. 다른 연산자들은 대입 연산자보다 우선순위가 높기 때문에, 대입 연산자는 가장 마지막에 실행됩니다. 예를 들어, a = b + c는 b와 c를 더한 값을 a에 할당하는 것을 의미합니다. 이때, 덧셈 연산자 "+"가 대입 연산자 "="보다 우선순위가 높기 때문에, b와 c를 더한 값이 먼저 계산되고, 그 결과가 a에 할당됩니다.
profile_image
1

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

68. 사용자가 요청한 디스크 입·출력 내용이 다음과 같은 순서로 큐에 들어 있을 때 SSTF 스케쥴링을 사용한 경우의 처리 순서는? (단, 현재 헤드 위치는 53 이고, 제일 안쪽이 1번, 바깥쪽이 200번 트랙이다.)

  1. 53-65-67-37-14-98-122-124-183
  2. 53-98-183-37-122-14-124-65-67
  3. 53-37-14-65-67-98-122-124-183
  4. 53-67-65-124-14-122-37-183-98
(정답률: 57%)
  • SSTF 스케쥴링은 현재 헤드 위치에서 가장 가까운 디스크를 우선적으로 처리하는 방식이다. 따라서, 처음에는 53에서 가장 가까운 65를 처리하고, 그 다음으로는 67을 처리한다. 그 다음으로는 37을 처리하고, 그 다음으로는 14를 처리한다. 이후에는 14에서 가장 가까운 98을 처리하고, 그 다음으로는 122를 처리한다. 그 다음으로는 124를 처리하고, 마지막으로 183을 처리한다. 이렇게 처리하면 디스크 헤드의 이동 거리가 최소화되므로 효율적인 스케쥴링이 된다.
  • SSTF : shortest seek time first
    현재 헤드위치에서 가장 가까운 것부터..
    현재 헤드위치가 53이므로 65가 가장 가깝고( 차이 12) 다른 것도 동일한 방법으로 해결.
profile_image
1

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

69. 192.168.1.0/24 네트워크를 FLSM 방식을 이용하여 4개의 Subnet으로 나누고 IP Subnet-zero를 적용했다. 이 때 Subnetting 된 네트워크 중 4번째 네트워크의 4번째 사용가능한 IP는 무엇인가?

  1. 192.168.1.192
  2. 192.168.1.195
  3. 192.168.1.196
  4. 192.168.1.198
(정답률: 53%)
  • FLSM 방식을 이용하여 4개의 Subnet으로 나누었으므로, 2비트를 Subnet ID로 사용하고, 6비트를 호스트 ID로 사용한다. 따라서, 각 Subnet은 64개의 호스트를 가질 수 있다.

    Subnet 1: 192.168.1.0/26 (Subnet ID: 192.168.1.0, Broadcast: 192.168.1.63)
    Subnet 2: 192.168.1.64/26 (Subnet ID: 192.168.1.64, Broadcast: 192.168.1.127)
    Subnet 3: 192.168.1.128/26 (Subnet ID: 192.168.1.128, Broadcast: 192.168.1.191)
    Subnet 4: 192.168.1.192/26 (Subnet ID: 192.168.1.192, Broadcast: 192.168.1.255)

    4번째 Subnet의 첫번째 호스트 IP는 192.168.1.193이고, 네번째 호스트 IP는 192.168.1.196이다. 따라서, 정답은 "192.168.1.196"이다.
profile_image
1

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

70. C Class에 속하는 IP address는?

  1. 200.168.30.1
  2. 10.3.2.1 4
  3. 225.2.4.1
  4. 172.16.98.3
(정답률: 58%)
  • C Class에 속하는 IP address는 첫 번째 옥텟이 192~223인 주소이다. 따라서 "200.168.30.1"은 C Class에 속하는 IP address이다.
  • ip주소를 2진수로 나타냈을 때 맨 앞자리에 따라
    A : 0으로 시작
    B: 10으로 시작
    C: 110으로 시작
profile_image
1

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

71. 다음 C언어 프로그램이 실행되었을 때의 결과는?

  1. 0
  2. 4
  3. 8
  4. 12
(정답률: 60%)
  • 본 해설은 비추 누적갯수 초과로 자동 블라인드 되었습니다.
    (AI해설 오류가 많아 비추 2개 이상시 자동 블라인드 됩니다.)
    해설을 보시기 원하시면 클릭해 주세요
profile_image
1

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

72. 귀도 반 로섬(Guido van Rossum)이 발표한 언어로 인터프리터 방식이자 객체지향적이며, 배우기 쉽고 이식성이 좋은 것이 특징인 스크립트 언어는?

  1. C++
  2. JAVA
  3. C#
  4. Python
(정답률: 77%)
  • Python은 귀도 반 로섬(Guido van Rossum)이 개발한 스크립트 언어로, 인터프리터 방식이며 객체지향적이고 배우기 쉽고 이식성이 좋은 특징을 가지고 있습니다. 따라서 이 문제에서 정답은 Python입니다.
profile_image
1

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

73. 다음 JAVA 프로그램이 실행되었을 때의 결과를 쓰시오.

  1. 13
  2. 21
  3. 34
  4. 55
(정답률: 60%)
  • 이유는 fibonacci(9)를 호출하면서 fibonacci(8)과 fibonacci(7)을 호출하게 되는데, 이때 fibonacci(8)을 호출하면서 fibonacci(7)과 fibonacci(6)을 호출하게 된다. 이런식으로 계속해서 호출하다가 fibonacci(1)과 fibonacci(2)를 호출하면 각각 1을 반환하고, 이를 이용하여 fibonacci(3)부터 fibonacci(9)까지의 값을 계산하게 된다. 따라서 fibonacci(9)의 값은 34이 되고, 이 값이 출력되게 된다.
profile_image
1

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

74. 프로세스와 관련한 설명으로 틀린 것은?

  1. 프로세스가 준비 상태에서 프로세서가 배당되어 실행 상태로 변화하는 것을 디스패치(Dispatch)라고 한다.
  2. 프로세스 제어 블록(PCB, Process Control Block)은 프로세스 식별자, 프로세스 상태 등의 정보로 구성된다.
  3. 이전 프로세스의 상태 레지스터 내용을 보관하고 다른 프로세스의 레지스터를 적재하는 과정을 문맥 교환(Context Switching)이라고 한다.
  4. 프로세스는 스레드(Thread) 내에서 실행되는 흐름의 단위이며, 스레드와 달리 주소 공간에 실행 스택(Stack)이 없다.
(정답률: 69%)
  • 프로세스는 스레드(Thread) 내에서 실행되는 흐름의 단위이며, 스레드와 달리 주소 공간에 실행 스택(Stack)이 없다. 이 설명이 틀린 것이다. 프로세스는 스레드와 달리 각각 독립된 주소 공간을 가지며, 각각의 주소 공간에는 실행 스택(Stack)이 존재한다.
profile_image
1

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

75. 모듈의 독립성을 높이기 위한 결합도(Coupling)와 관련한 설명으로 틀린 것은?

  1. 오류가 발생했을 때 전파되어 다른 오류의 원인이 되는 파문 효과(Ripple Effect)를 최소화해야 한다.
  2. 인터페이스가 정확히 설정되어 있지 않을 경우 불필요한 인터페이스가 나타나 모듈 사이의 의존도는 높아지고 결합도가 증가한다.
  3. 모듈들이 변수를 공유하여 사용하게 하거나 제어 정보를 교류하게 함으로써 결합도를 낮추어야 한다.
  4. 다른 모듈과 데이터 교류가 필요한 경우 전역변수(Global Variable)보다는 매개변수(Parameter)를 사용하는 것이 결합도를 낮추는 데 도움이 된다.
(정답률: 60%)
  • "모듈들이 변수를 공유하여 사용하게 하거나 제어 정보를 교류하게 함으로써 결합도를 낮추어야 한다."는 오히려 결합도를 높이는 방법이므로 틀린 설명입니다. 모듈들이 공유하는 변수나 제어 정보가 많을수록 모듈 간의 의존도가 높아지고, 오류 발생 시 전파되어 다른 모듈에 영향을 미치는 파문 효과가 커집니다. 따라서 모듈 간의 데이터 교류는 최소화하고, 필요한 경우에는 매개변수를 사용하는 것이 좋습니다.
profile_image
1

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

76. TCP헤더와 관련한 설명으로 틀린 것은?

  1. 순서번호(Sequence Number)는 전달하는 바이트마다 번호가 부여된다.
  2. 수신번호확인(Acknowledgement Number)은 상대편 호스트에서 받으려는 바이트의 번호를 정의한다.
  3. 체크섬(Checksum)은 데이터를 포함한 세그먼트의 오류를 검사한다.
  4. 윈도우 크기는 송수신 측의 버퍼 크기로 최대크기는 32767bit 이다.
(정답률: 69%)
  • 윈도우 크기는 송수신 측의 버퍼 크기로 최대크기는 32767bit 이라는 설명이 틀립니다. 실제로는 최대크기가 65535bit입니다.

    순서번호는 전달하는 바이트마다 번호가 부여되어 데이터의 순서를 유지합니다. 수신번호확인은 상대편 호스트에서 받으려는 바이트의 번호를 정의하여 데이터의 손실 여부를 확인합니다. 체크섬은 데이터를 포함한 세그먼트의 오류를 검사하여 데이터의 무결성을 보장합니다. 윈도우 크기는 송수신 측의 버퍼 크기를 나타내며, 데이터의 흐름 제어를 위해 사용됩니다.
  • TCP 헤더에 있는 Window size는 16비트로 2^16 = 65535byte = 64KB
profile_image
1

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

77. 모듈화(Modularity)와 관련한 설명으로 틀린 것은?

  1. 소프트웨어의 모듈은 프로그래밍 언어에서 Subroutine, Function 등으로 표현될 수 있다.
  2. 모듈의 수가 증가하면 상대적으로 각 모듈의 크기가 커지며, 모듈 사이의 상호교류가 감소하여 과부하(Overload) 현상이 나타난다.
  3. 모듈화는 시스템을 지능적으로 관리할 수 있도록 해주며, 복잡도 문제를 해결하는 데 도움을 준다.
  4. 모듈화는 시스템의 유지보수와 수정을 용이하게 한다.
(정답률: 79%)
  • 모듈의 수가 증가하면 상대적으로 각 모듈의 크기가 커지며, 모듈 사이의 상호교류가 감소하여 과부하(Overload) 현상이 나타난다. - 이 설명이 틀린 것이다. 모듈의 수가 증가하면 상대적으로 각 모듈의 크기가 작아지며, 모듈 사이의 상호교류가 증가하여 유지보수와 수정이 용이해진다.
profile_image
1

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

78. 다음 중 페이지 교체(Page Replacement)알고리즘이 아닌 것은?

  1. FIFO(First-In-First-Out)
  2. LUF(Least Used First)
  3. Optimal
  4. LRU(Least Recently Used)
(정답률: 46%)
  • LUF(Least Used First)는 페이지 교체 알고리즘이 아닙니다. LUF는 캐시 교체 알고리즘으로, 가장 적게 사용된 캐시 라인을 교체하는 방식입니다. 페이지 교체 알고리즘은 FIFO, Optimal, LRU 등이 있습니다.
  • LUF(Least Used First)라는 것 자체가 없음
profile_image
1

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

79. C언어에서의 변수 선언으로 틀린 것은?

  1. int else;
  2. int Test2;
  3. int pc;
  4. int True;
(정답률: 71%)
  • 정답은 "int else;"이다. 이유는 "else"는 C언어에서 예약어(reserved word)로 사용되기 때문에 변수명으로 사용할 수 없다. 따라서 "int else;"는 올바른 변수 선언이 아니다.
profile_image
1

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

80. 파일 디스크립터(File Descriptor)에 대한 설명으로 틀린 것은?

  1. 파일 관리를 위해 시스템이 필요로 하는 정보를 가지고 있다.
  2. 보조기억장치에 저장되어 있다가 파일이 개방(open)되면 주기억장치로 이동된다.
  3. 사용자가 파일 디스크립터를 직접 참조할 수 있다.
  4. 파일 제어 블록(File Control Block)이라고도 한다.
(정답률: 72%)
  • 정답은 "사용자가 파일 디스크립터를 직접 참조할 수 있다."이다. 파일 디스크립터는 시스템 내부에서 파일을 관리하기 위해 사용되는 추상화된 개념으로, 사용자는 파일 디스크립터를 직접적으로 참조할 수 없다. 파일 디스크립터는 파일을 열고 닫는 등의 작업을 수행할 때 시스템 호출 함수를 통해 사용되며, 이 함수들은 파일 디스크립터를 반환한다.
  • 파일마다 따로 있으며 시스템에 따라 다른 구조를 가질 수 있 다.
    파일 시스템에서 관리하므로 사용자는 직접 참조할 수 없다. 파일 이름, 위치, 파일 구조, 보조기억장치의 유형, (텍스트/이 진/기계어/실행 파일 등)파일 유형, 시간, 액세스 등의 정보를 담고 있다.
profile_image
1

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

5과목: 정보시스템 구축관리

81. 침입탐지 시스템(IDS : Intrusion Detection System)과 관련한 설명으로 틀린 것은?

  1. 이상 탐지 기법(Anomaly Detection)은 Signature Base나 Knowledge Base라고도 불리며 이미 발견되고 정립된 공격 패턴을 입력해두었다가 탐지 및 차단한다.
  2. HIDS(Host-Based Intrusion Detection)는 운영체제에 설정된 사용자 계정에 따라 어떤 사용자가 어떤 접근을 시도하고 어떤 작업을 했는지에 대한 기록을 남기고 추적한다.
  3. NIDS(Network-Based Intrusion Detection System)로는 대표적으로 Snort가 있다.
  4. 외부 인터넷에 서비스를 제공하는 서버가 위치하는 네트워크인 DMZ(Demilitarized Zone)에는 IDS가 설치될 수 있다.
(정답률: 43%)
  • 이상 탐지 기법은 이미 발견되지 않은 새로운 공격 패턴을 탐지하기 위해 사용되며, Signature Base나 Knowledge Base와는 다른 방식으로 동작한다. 이상 탐지 기법은 정상적인 네트워크 트래픽 패턴을 학습하고, 이와 다른 패턴을 감지하여 이상을 탐지한다. 따라서 "이상 탐지 기법(Anomaly Detection)은 Signature Base나 Knowledge Base라고도 불리며 이미 발견되고 정립된 공격 패턴을 입력해두었다가 탐지 및 차단한다."는 틀린 설명이다.
  • 침입 탐지 시스템 (IDS)**은 네트워크 트래픽과 디바이스에서 알려진 악성 활동, 의심스러운 활동 또는 보안 정책 위반이 있는지 모니터링하는 네트워크 보안 툴입니다. 이를 통해 보안 관리자는 알려진 위협이나 잠재적 위협을 경고하거나 보안 정보 및 이벤트 관리 (SIEM) 시스템과 같은 중앙 집중식 보안 툴로 경고를 보내, 다른 소스의 데이터와 결합하여 보안 팀이 다른 보안 조치로 놓칠 수 있는 사이버 위협을 식별하고 대응할 수 있도록 지원함으로써 네트워크 위협 탐지를 가속화하고 자동화하는 데 도움이 됩니다.

    침입 탐지 시스템은 다음과 같은 탐지 기법을 사용합니다:

    시그니처 기반 탐지 (Signature-Based Detection):
    네트워크 패킷을 분석하여 공격 시그니처 (특정 위협과 관련된 고유한 특성 또는 행동)를 찾아냅니다.
    시그니처 기반 IDS는 공격 시그니처 데이터베이스를 유지 관리하며, 패킷이 시그니처 중 하나와 일치하는 경우 경고를 발생시킵니다.
    새로운 사이버 공격이 출현하고 기존 공격이 진화함에 따라 시그니처 데이터베이스는 정기적으로 업데이트되어야 합니다.
    이상 징후 기반 탐지 (Anomaly-Based Detection):
    머신 러닝을 사용하여 정상적인 네트워크 활동의 기준 모델을 생성하고 지속적으로 개선합니다.
    네트워크 활동을 모델과 비교하여 편차를 표시하며, 이상 징후를 탐지합니다.
    이상 징후 기반 IDS는 새로운 사이버 공격을 포착할 수 있는 경우가 많지만, 오탐이 발생할 가능성도 높습니다.
    평판 기반 탐지 (Reputation-Based Detection):
    악의적이거나 의심스러운 활동과 관련된 IP 주소 및 도메인의 트래픽을 차단합니다.
    스테이트풀 프로토콜 분석은 프로토콜 동작에 중점을 둡니다.
profile_image
1

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

82. 정보 시스템 내에서 어떤 주체가 특정 개체에 접근하려 할 때 양쪽의 보안 레이블(Security Label)에 기초하여 높은 보안 수준을 요구하는 정보(객체)가 낮은 보안 수준의 주체에게 노출되지 않도록 하는 접근 제어 방법은?

  1. Mandatory Access Control
  2. User Access Control
  3. Discretionary Access Control
  4. Data-Label Access Control
(정답률: 45%)
  • 정보 시스템 내에서 접근 제어를 위해 사용되는 방법 중 "Mandatory Access Control"은 보안 레이블에 기초하여 접근 권한을 부여하는 방법입니다. 이 방법은 주체와 객체의 보안 레이블을 비교하여, 주체가 객체에 접근할 수 있는지 여부를 결정합니다. 이때, 주체의 보안 레이블이 객체의 보안 레이블보다 높은 경우에만 접근이 허용되며, 그렇지 않은 경우에는 접근이 거부됩니다. 이러한 방식으로 높은 보안 수준을 요구하는 정보가 낮은 보안 수준의 주체에게 노출되지 않도록 보호할 수 있습니다.
  • *User Access Control (UAC)는 Windows 운영 체제에서 사용자가 실행하는 프로그램이나 작업에 대한 권한을 관리하는 기능입니다. UAC는 사용자, 그룹 및 컴퓨터가 네트워크 컴퓨터의 개체에 액세스하도록 승인하는 프로세스입니다.

    *Discretionary Access Control (DAC)는 시스템 객체에 대한 접근을 사용자나 또는 그룹의 신분을 기준으로 제한하는 방법입니다. DAC은 객체의 소유자가 접근 여부를 결정하는 접근정책입니다. DAC은 주체나 주체가 속해 있는 그룹의 신원 (신분)에 근거하여 객체에 대한 접근을 제한합니다.

    *Data-Label Access Control은 데이터의 라벨링을 기반으로 하는 접근 제어 방식입니다. 이 방식은 데이터의 라벨링 정보를 기반으로 사용자가 데이터에 접근할 수 있는 권한을 부여합니다. 이 방식은 데이터의 중요도에 따라 접근 권한을 부여하므로, 민감한 데이터를 안전하게 보호할 수 있습니다.
  • 강제접근통제(Mandatory Access Control), 주체와 객체의 등 급을 비교하여 접근 권한을 부여하는 방식 임의접근통제(Discretionary Access Control), 접근하는 사용 자의 신원에 따라 접근 권한을 부여하는 방식

    사용자계정컨트롤(User Access Control), 프로그램에서 관리 자 수준의 권한이 필요한 작업을 수행할 때 사용자에게 알려 서 제어할 수 있도록 돕는 기능


    자료별 접근통제(Data-Label Access Control >Label-Based Access Control), 개별 행, 열에 대해 쓰기 권한, 읽기 권한을 가졌는지를 명확하게 결정하는 제어 방식
profile_image
1

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

83. 구글의 구글 브레인 팀이 제작하여 공개한 기계 학습(Machine Leaming)을 위한 오픈소스 소프트웨어 라이브러리는?

  1. 타조(Tajo)
  2. 원 세그(One Seg)
  3. 포스퀘어(Foursquare)
  4. 텐서플로(TensorFlow)
(정답률: 71%)
  • 구글 브레인 팀이 제작한 기계 학습을 위한 오픈소스 소프트웨어 라이브러리인 텐서플로는 다양한 기능과 높은 성능을 제공하며, 다양한 플랫폼에서 사용이 가능하고 커뮤니티에서 지속적인 업데이트와 개선이 이루어지고 있기 때문에 선택할 수 있는 가장 좋은 옵션 중 하나이다.
profile_image
1

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

84. 국내 IT 서비스 경쟁력 강화를 목표로 개발되었으며 인프라 제어 및 관리 환경, 실행 환경, 개발 환경, 서비스 환경, 운영환경으로 구성되어 있는 개방형 클라우드 컴퓨팅 플랫폼은?

  1. N20S
  2. PaaS-TA
  3. KAWS
  4. Metaverse
(정답률: 60%)
  • PaaS-TA는 Platform as a Service-Total Automation으로, 인프라 제어 및 관리 환경, 실행 환경, 개발 환경, 서비스 환경, 운영환경 등 다양한 환경을 제공하여 개발자들이 쉽게 애플리케이션을 개발하고 배포할 수 있도록 도와주는 개방형 클라우드 컴퓨팅 플랫폼입니다. 따라서 국내 IT 서비스 경쟁력 강화를 위해 개발된 이 플랫폼이 정답입니다.
profile_image
1

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

85. 정보 보안을 위한 접근 제어(Access Control)과 관련한 설명으로 틀린 것은?

  1. 적절한 권한을 가진 인가자만 특정 시스템이나 정보에 접근할 수 있도록 통제하는 것이다.
  2. 시스템 및 네트워크에 대한 접근 제어의 가장 기본적인 수단은 IP와 서비스 포트로 볼 수 있다.
  3. DBMS에 보안 정책을 적용하는 도구인 XDMCP를 통해 데이터베이스에 대한 접근제어를 수행할 수 있다.
  4. 네트워크 장비에서 수행하는 IP에 대한 접근 제어로는 관리 인터페이스의 접근제어와 ACL(Access Control List) 등 있다.
(정답률: 58%)
  • "DBMS에 보안 정책을 적용하는 도구인 XDMCP를 통해 데이터베이스에 대한 접근제어를 수행할 수 있다."가 틀린 설명입니다. XDMCP는 X 윈도 시스템에서 사용되는 원격 디스플레이 프로토콜로, DBMS에 대한 접근 제어와는 직접적인 연관성이 없습니다. DBMS에 대한 접근 제어는 DBMS 자체에서 제공하는 인증 및 권한 관리 기능을 사용하여 수행됩니다.
profile_image
1

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

86. 소프트웨어 개발 프레임워크와 관련한 설명으로 틀린 것은?

  1. 반제품 상태의 제품을 토대로 도메인별로 필요한 서비스 컴포넌트를 사용하여 재사용성 확대와 성능을 보장 받을 수 있게하는 개발 소프트웨어이다.
  2. 개발해야 할 애플리케이션의 일부분이 이미구현되어 있어 동일한 로직 반복을 줄일 수있다.
  3. 라이브러리와 달리 사용자 코드가 직접호출하여 사용하기 때문에 소프트웨어 개발프레임워크가 직접 코드의 흐름을 제어할수 없다.
  4. 생산성 향상과 유지보수성 향상 등의장점이 있다.
(정답률: 82%)
  • "라이브러리와 달리 사용자 코드가 직접호출하여 사용하기 때문에 소프트웨어 개발프레임워크가 직접 코드의 흐름을 제어할수 없다."이 설명이 틀린 것이다. 소프트웨어 개발 프레임워크는 사용자 코드를 호출하고 제어할 수 있다. 이것이 바로 프레임워크의 핵심 기능 중 하나이다. 프레임워크는 사용자 코드를 호출하고 제어하여 일관된 동작을 보장하고, 개발자가 코드를 작성하는 방법을 지정하여 일관성을 유지할 수 있도록 도와준다.
profile_image
1

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

87. 물리적 배치와 상관없이 논리적으로 LAN을구성하여 Broadcast Domain을 구분할 수있게 해주는 기술로 접속된 장비들의 성능향상 및 보안성 증대 효과가 있는 것은?

  1. VLAN
  2. STP
  3. L2AN
  4. ARP
(정답률: 68%)
  • VLAN은 가상 LAN을 구성하여 물리적 배치와 상관없이 논리적으로 네트워크를 분할하는 기술이다. 이를 통해 Broadcast Domain을 구분할 수 있어서 네트워크 성능 향상과 보안성 증대 효과가 있다.
profile_image
1

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

88. SQL Injection 공격과 관련한 설명으로 틀린것은?

  1. SQL Injection은 임의로 작성한 SQL 구문을 애플리케이션에 삽입하는 공격방식이다.
  2. SQL Injection 취약점이 발생하는 곳은 주로웹 애플리케이션과 데이터베이스가 연동되는 부분이다.
  3. DBMS의 종류와 관계없이 SQL Injection공격 기법은 모두 동일하다.
  4. 로그인과 같이 웹에서 사용자의 입력 값을 받아 데이터베이스 SQL문으로 데이터를요청하는 경우 SQL Injection을 수행할 수 있다.
(정답률: 80%)
  • "DBMS의 종류와 관계없이 SQL Injection공격 기법은 모두 동일하다."라는 설명이 틀립니다. 각 DBMS마다 SQL 구문의 문법과 기능이 다르기 때문에, SQL Injection 공격 기법도 DBMS마다 차이가 있을 수 있습니다. 예를 들어, MySQL과 Oracle에서 사용되는 SQL 구문의 문법이 다르기 때문에, SQL Injection 공격 기법도 각각 다를 수 있습니다.
profile_image
1

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

89. 비대칭 암호화 방식으로 소수를 활용한암호화 알고리즘은?

  1. DES
  2. AES
  3. SMT
  4. RSA
(정답률: 67%)
  • RSA는 공개키 암호화 방식으로, 소수를 이용하여 암호화와 복호화를 수행합니다. 이 알고리즘은 두 개의 소수를 곱한 값을 이용하여 암호화를 수행하며, 이 소수를 알고 있어야만 복호화가 가능합니다. 이러한 소수의 특성을 이용하여 안전하고 효율적인 암호화를 수행할 수 있습니다.
  • 암호화 알고리즘은 크게 2가지로 나눔. 1. 양방향 2. 단방향
    1. 양방향은 1) 개인키와 2)공개키로 나누어지며
    1) 개인키는 또 다시 블록방식과 스트림방식으로 나누어 짐.

    블록방식은 DES, AES, SEED, ARIA 등이 있고
    스트림 방식으론 LFSR과 RC4가 있음.

    개인키는 다른말로 비대칭키 라고 불리며, 암호화와 복호화때 사용하는 키가 다르며 장 점으로는 속도가 빠르지만 관리해야할 키의 수가 많음(2n 개).

    2) 공개키는 대표적으로 RSA가 있으며 소수 라는 키워드가 나오면 바로 RSA가 답임. 관리해야하는 키의 수가 적음 n(n-1)/2
    그리고 단방향은 hash이며 대표적으로 Sha시리즈나 n nash, md4 md5 등이 있음. 매회 출제되는 영역이라서 계 층별로 특징을 꼭 숙지해야
profile_image
1

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

90. 다음에서 설명하는 IT 스토리지 기술은?

  1. Software Defined Storage
  2. Distribution Oriented Storage
  3. Network Architected Storage
  4. Systematic Network Storage
(정답률: 47%)
  • 위 그림에서 보이는 IT 스토리지 기술은 "Software Defined Storage"이다. 이는 소프트웨어를 이용하여 스토리지를 관리하고 제어하는 기술로, 하드웨어와는 독립적으로 동작하며 가상화 기술을 활용하여 스토리지 자원을 효율적으로 관리할 수 있다. 따라서 유연성과 확장성이 뛰어나며, 비용 효율적인 스토리지 관리가 가능하다.
profile_image
1

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

91. Cocomo model 중 기관 내부에서 개발된 중소규모의 소프트웨어로 일괄 자료 처리나 과학기술계산용, 비즈니스 자료 처리용으로 5만 라인이하의 소프트웨어를 개발하는 유형은?

  1. Embeded
  2. Organic
  3. Semi-detached
  4. Semi-embeded
(정답률: 69%)
  • Organic 모델은 기관 내부에서 개발된 중소규모의 소프트웨어로 일괄 자료 처리나 과학기술계산용, 비즈니스 자료 처리용으로 5만 라인이하의 소프트웨어를 개발하는 유형이다. 이 모델은 작은 규모의 프로젝트이기 때문에 개발자들 간의 의사소통이 원활하고, 개발 환경이 안정적이며, 기술적인 복잡도가 낮아 개발 비용이 적게 든다는 특징이 있다. 따라서 이 유형은 Organic 모델에 해당한다.
profile_image
1

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

92. 다음 내용이 설명하는 것은?

  1. Format String
  2. Ransomware
  3. Buffer overflow
  4. Adware
(정답률: 86%)
  • 이 그림은 Ransomware를 설명하고 있습니다. Ransomware는 악성코드 중 하나로, 사용자의 파일을 암호화하고 복원을 위해 금전적 보상을 요구하는 악성 소프트웨어입니다. 이 그림에서는 "Your files have been encrypted"이라는 메시지와 함께 금전적 보상을 요구하는 모습이 그려져 있습니다.
profile_image
1

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

93. 생명주기 모형 중 가장 오래된 모형으로 많은적용 사례가 있지만 요구사항의 변경이어렵고 각 단계의 결과가 확인 되어야 다음단계로 넘어갈 수 있는 선형 순차적, 고전적생명 주기 모형이라고도 하는 것은?

  1. Waterfall Model
  2. Prototype Model
  3. Cocomo Model
  4. Spiral Model
(정답률: 82%)
  • Waterfall Model은 각 단계가 선형적으로 진행되어야 하며, 이전 단계의 결과물이 다음 단계의 입력으로 사용되는 모델이다. 따라서 요구사항이 변경되면 이전 단계를 다시 수행해야 하므로 변경이 어렵다. 또한 각 단계의 결과물이 확인되어야 다음 단계로 넘어갈 수 있기 때문에 개발 속도가 느리다는 단점이 있다. 이러한 특징으로 인해 Waterfall Model은 고전적 생명주기 모형이라고도 불린다.
profile_image
1

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

94. 소프트웨어 생명주기 모형 중 Spiral Model에 대한 설명으로 틀린 것은?

  1. 비교적 대규모 시스템에 적합하다.
  2. 개발 순서는 계획 및 정의, 위험 분석, 공학적 개발, 고객 평가 순으로 진행된다.
  3. 소프트웨어를 개발하면서 발생할 수 있는 위험을 관리하고 최소화하는 것을 목적으로 한다.
  4. 계획, 설계, 개발, 평가의 개발 주기가 한번만 수행된다.
(정답률: 79%)
  • "계획, 설계, 개발, 평가의 개발 주기가 한번만 수행된다."는 틀린 설명입니다. Spiral Model은 계속해서 주기적으로 개발 주기를 수행하며, 위험 분석과 평가를 통해 개발 과정을 개선하는 것이 목적입니다. 따라서, 계획, 설계, 개발, 평가의 개발 주기가 여러 번 수행됩니다.
profile_image
1

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

95. 특정 사이트에 매우 많은 ICMP Echo를 보내면, 이에 대한 응답(Respond)을 하기 위해 시스템 자원을 모두 사용해버려 시스템이 정상적으로 동작하지 못하도록 하는 공격방법은?

  1. Role-Based Access Control
  2. Ping Flood
  3. Brute-Force
  4. Trojan Horses
(정답률: 77%)
  • Ping Flood는 대량의 ICMP Echo를 보내 시스템 자원을 고갈시켜 시스템이 정상적으로 동작하지 못하도록 하는 공격방법이다. 따라서 이 문제에서 정답은 Ping Flood이다.
  • *무차별 대입 공격(Brute-Force Attack)은 암호를 찾기 위해 가능한 모든 값을 대입하는 공격 방법입니다
profile_image
1

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

96. TCP/IP 기반 네트워크에서 동작하는 발행-구독 기반의 메시징 프로토콜로 최근 IoT 환경에서 자주 사용되고 있는 프로토콜은?

  1. MLFQ
  2. MQTT
  3. Zigbee
  4. MTSP
(정답률: 62%)
  • MQTT는 경량 메시징 프로토콜로, IoT 디바이스와 서버 간의 효율적인 통신을 가능하게 합니다. TCP/IP 기반의 네트워크에서 동작하며, 발행-구독 모델을 사용하여 메시지를 전송합니다. 이를 통해 IoT 디바이스에서 발생하는 대량의 데이터를 효율적으로 처리할 수 있습니다.
  • MQTT 프로토콜
    - IBM 개발
    - 발행/구독 프로토콜
    - TCP/IP를 통해 실행되어 기본 네트워크 연결을 제공

    - MQTT (Message Queuing Telemetry Transport)
    - MLFQ(=MFQ)(Multi Level Feedback Queue) : 짧은 작업 이나 입출력 위주의 프로세스에 우선순위를 부여하는 선점형 스케줄링 기법
    - Zigbee : 홈 네트워크 및 무선 센서망에서 사용되는 기술 로, 버튼 하나의 동작으로 집안 어느 곳에서나 전등 제어 및 홈 보안 시스템을 제어관리하는 가정 자동화를 목표로 출발하 였음.
profile_image
1

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

97. 시스템이 몇 대가 되어도 하나의 시스템에서 인증에 성공하면 다른 시스템에 대한 접근권한도 얻는 시스템을 의미하는 것은?

  1. SOS
  2. SBO
  3. SSO
  4. SOA
(정답률: 67%)
  • SSO는 Single Sign-On의 약자로, 한 번의 로그인으로 여러 시스템에 접근할 수 있는 시스템을 의미합니다. 따라서 시스템이 몇 대가 되어도 인증에 성공하면 다른 시스템에 대한 접근권한도 얻을 수 있습니다. SOS, SBO, SOA는 SSO와는 다른 시스템이므로 정답은 SSO입니다.
  • SSO - Single Sign On

    시스템 인증
    - 토큰 기반 인증 : 하드웨어와 소프트웨어의 토큰 장치를 사 용하는 인증 기법, 하드웨어 장치는 스마트카드를 사용, 소프 트웨어 장치는 개인 식별번호를 사용하는 강력한 인증 방법
    - SSO 인증 : 여러 시스템 중 하나의 시스템에 인증을 성공 하면 다른 시스템의 접근 권한도 모두 얻는 방식
profile_image
1

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

98. 시스템에 저장되는 패스워드들은 Hash 또는 암호화 알고리즘의 결과 값으로 저장된다. 이때 암호공격을 막기 위해 똑같은 패스워드들이 다른 암호 값으로 저장되도록 추가되는 값을 의미하는 것은?

  1. Pass flag
  2. Bucket
  3. Opcode
  4. Salt
(정답률: 55%)
  • Salt는 암호화 알고리즘에 추가되는 임의의 값으로, 같은 패스워드라도 다른 Salt 값을 사용하면 다른 암호 값으로 저장되어 암호 공격을 어렵게 만든다. 따라서 Salt가 정답이다.
profile_image
1

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

99. S/W 각 기능의 원시 코드 라인수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법은?

  1. Effort Per Task기법
  2. 전문가 감정 기법
  3. 델파이기법
  4. LOC기법
(정답률: 66%)
  • 원시 코드 라인수를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법은 LOC기법이다. 이는 소프트웨어 개발의 기본 단위인 코드 라인수를 측정하여 개발에 필요한 시간과 비용을 예측하는 방법으로, 비관치, 낙관치, 기대치를 고려하여 예측치를 도출한다. 이 방법은 비교적 간단하고 직관적이며, 개발자들이 코드 라인수를 쉽게 파악할 수 있기 때문에 널리 사용되고 있다.
profile_image
1

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

100. 오픈소스 웹 애플리케이션 보안 프로젝트로서 주로 웹을 통한 정보 유출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하는 곳은?

  1. WWW
  2. OWASP
  3. WBSEC
  4. ITU
(정답률: 64%)
  • OWASP는 Open Web Application Security Project의 약자로, 오픈소스 웹 애플리케이션 보안 프로젝트를 주도하는 단체이다. OWASP는 웹을 통한 정보 유출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하고 이를 해결하기 위한 가이드라인과 도구를 제공한다. 따라서 OWASP는 웹 보안 분야에서 국제적으로 인정받는 단체 중 하나이다.
  • *WBSEC는 WiBro 보안 프로세서(WBSec)의 약어입니다. WBSec 프로세서는 AES (Advanced Encryption Standard) 블록암호 알고리즘을 기반으로 하여 데이터 암호 복호, 인증 무결성, 키 암호 복호 등 무선 네트워크의 보안기능을 처리합니다. WBSec 프로세서는 ECB, CTR, CBC, CCM 및 key wrap/unwrap 동작모드를 가지며, 암호 연산만을 처리하는 AES 코어와 암호 복호 연산을 처리하는 AES 코어를 병렬로 사용하여 전체적인 성능이 최적화되도록 설계되었습니다.
profile_image
1

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

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