본문 바로가기

정보처리기사

정보처리기사 실기 모의고사 13회

 

#java에서 for문

for(type var: array){

Var를 사용하는 문장;

}

 

for(int i =0; i<arr.length; i++){

Type var = arr[i];

Var를 사용하는 문장;

}

 

#python

class soojebi:

def fn(self, a,b):

self. a = 9

self.b = b

print(a+self.b)

 

a=soojebi()

a.fn(4,7)

파이썬은 변수 선언이 없어서 그러는데, self.a라고 하면 클래스 내의 변수를 지칭합니다.

만약에 fn이라는 메서드 안에 self.a=9가 아니라 a=9라고 하면 fn(self, a, b)에 a가 있기 때문에 파라미터로 받는 a가 9로 바뀌게 됩니다. 반면에 self.a라고 하면 클래스 내에 a라는 변수를 만들고 그 변수에 9를 넣기 때문에 클래스 내의 a변수는 9, fn에서 사용하는 파라미터인 a는 4가 됩니다.

fn 메서드에서 a 는 4, self.b=7

self가 붙어 있는 변수를 인스턴스 변수

인스턴스 변수는 인스턴스의 네임스페이스에 위치하게 됩니다.

C++, 자바에서 this 포인터랑 같은 역할이라고 보시면 됩니다.

 

파이썬 클래스 정의 부분에 책에서는

class 클래스명:

def 메서드명(self, 변수명, ...):

명령어

return 반환값

 

 
사진 삭제

사진 설명을 입력하세요.

fir에 4 sec에 2가 들어가며

sel은 자기자신을 의미하며 self인데 원하는 단어로 사용 가능합니다.

파이썬 특징입니다.

#성능 테스트의 유형 - <부스스내>

시스템 처리능력 이상의 부하, 즉 임계점 이상의 부하를 가하여 비정상적인 상황에서 시스템의 처리를 테스트 하는 성능 테스트 유형은?

=> 스트레스 테스트

 

시스템에 부하를 계속 증가시키면서 시스템의 임계점을 찾는 테스트 부하 테스트를 통해 병목 지점을 찾아서 병목 현상을 제거하는 과정을 반복

=> 부하 테스트

 

짧은 시간에 사용자가 몰릴 때 시스템의 반응 측정 테스트

=> 스파이크 테스트

 

오랜 시간 동안 시스템에 높은 부하를 가하여 시스템 반응 테스트

=> 내구성 테스트(endurance test)

 

#소프트웨어 아키텍처 패턴의 유형

하위 모듈들은 특정한 수준의 추상화를 제공하고, 각 계층은 다음 상위 계층에 서비스를 제공하는 패턴은?

서로 마주보는 두 개의 계층 사이에서만 상호 작용이 이뤄짐

=>계층화 패턴

 
사진 삭제

사진 설명을 입력하세요.

 

 

데이터 스트림을 생성하고 처리하는 시스템에서 사용 가능한 패턴

서브 시스템이 입력 데이터를 받아 처리하고, 결과를 다음 서브 시스템으로 넘겨주는 과정을 반복

필터 컴포넌트는 재사용성이 좋고, 추가가 쉽기 때문에 확장이 용이

=> 파이프-필터 패턴

 
사진 삭제

사진 설명을 입력하세요.

각 부분이 별도의 컴포넌트로 분리되어 있어서 서로 영향을 받지 않고 개별 작업 수행 가능

컴포넌트를 분리하며 코드의 효율적인 재사용을 가능하게 하고, 여러 개의 뷰가 있어야 하는 대화형 애플리케이션 구축에 적합

대화형 애플리케이션을 3개의 서브 시스템으로 구조화하는 패턴

 

 

=> 모델 뷰 컨트롤러 모델(mvc)

모델 : 핵심 기능과 데이터 보관

뷰 : 사용자에게 정보 표시

컨트롤러 : 사용자로부터 요청을 받아 처리

 
사진 삭제

사진 설명을 입력하세요.

 

  • 피어라 부르는 각 컴포넌트 간에 서비스를 주고 받는 패턴입니다.
  • 피어는 클라이언트로서 각 피어에게 서비스를 요청할 수 있고, 서버로서 각 피어에게 서비스를 제공할 수도 있습니다.
  • 피어 객체 하나가 클라이언트, 서버의 역할을 모두 수행하는 구조입니다.

=> 피어 투 피어 패턴(Peer to Peer Pattern)

 
사진 삭제

사진 설명을 입력하세요.

분리된 컴포넌트들로 이루어진 분산 시스템에서 사용되고, 이 컴포넌트들은 원격 서비스 실행을 통해 상호작용이 가능한 패턴

브로커 컴포넌트는 컴포넌트 간의 통신을 조정하는 역할 수행

서버는 자신의 기능을 브로커에 넘겨주고(publish) 클라이언트가 브로커에 서비스를 요청하면 브로커는 클라이언트를 자신의 레지스트리에 있는 적합한 서비스로 리다이렉션(redirection)함

=> 브로커 패턴

 
사진 삭제

사진 설명을 입력하세요.

사용자 클라이언트를 통해서 서버에 서비스를 요청하면 서버는 클라이언트에게 서비스를 제공

하나의 서버와 다수의 클라이언트로 구성된 패턴

서버는 계속 클라이언트로부터 요청을 대기

클라이언트 - 서버 패턴

 
사진 삭제

사진 설명을 입력하세요.

마스터 컴포넌트가 동등한 구조의 슬레이브 컴포넌트로 작업을 분산하고, 슬레이브가 결과값을 반환하면 최종 결과값을 계산하는 구조

=> 마스터 슬레이브 패턴

 
사진 삭제

사진 설명을 입력하세요.

 

- 특정 언어로 작성된 프로그램을 해석하는 컴포넌트를 설계할 때 사용되는 패턴입니다.

=> 인터프리터 패턴(Interpreter Pattern)

 

#용어 질문

초정밀 반도체 제조 기술을 바탕으로 전자기계 소자를 육안으로는 보이지 않을 정도로 작은 수 mm에서 수 00의 크기로 제작하는 초미세 장치

mems는나노기술을 이용해 제작되는 매우 작은 기계를 의미한다.

 

=> Mems(micro electro mechanical system)

 

#웹으로 제공하고 있는 정보와 서비스를 융합하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술로 서로 다른 웹사이트의 콘텐츠를 조합하여 새로운 차원의 콘텐츠나 서비스를 창출하는 웹 사이트 또는 애플리케이션 기술은?

 

=> 매시업(mash up)

 

#파티션의 종류

분할 키 값이 범위 내에 있는지 여부를 구분하는 분할 기법

=> 범위 분할, 레인지 파티셔닝

 

해시 함수의 값에 따라 파티션에 포함할지 여부를 결정하는 분할 기법

=> 해시 분할

 

값 목록에 파티션을 할당하고 분할 키값을 그 목록에 맞게 분할하는 기법

=> 목록 분할, list partitioning

 

범위 분할, 해시 분할, 목록 분할 중 2개 이상의 분할 기법을 결정하는 기법은?

=> 조합 분할, 컴포지트 파티셔닝(composite partitioning)

 

#백업의 유형

백업하고자 하는 데이터 전체에 대해 백업 하는 방식?

=> 전체 백업(full backup)

 

마지막 전체 백업 이후 변경된 모든 데이터를 백업하는 방식

=>차등 백업(차분 백업) : differential backup

 

차등백업과 유사하나 전체 백업 이후 변경분이 누적되어 백업되는 방식

=> 증분 백업(incremental backup)

 

#sql문 작성하기

Drop table 학생 cascade;

 

Drop table 테이블명 cascade

Drop table 테이블명 restrict

다른 테이블이 삭제할 테이블을 참조 중이면 제거하지 않는 성질

 

#자바 바이트 코드를 실행할 수 있는 주체로 cpu나 운영체제 종류와 무관하게 동작하는 것을 보장하는 가상 머신은?

=> jvm(java virtual machine)

 

 

#데이터베이스의 특징(4가지)

shared data : 공용 데이터 : 여러 애플리케이션, 시스템들이 공동으로 사용하는 데이터

operational data : 운영 데이터 : 조직의 업무를 수행하는데 필요한 데이터

integrated data : 통합된 데이터 : 자료의 중복을 배제한 데이터의 모임

stored data : 저장된 데이터 : 저장 매체에 저장된 데이터

 

<저통운공>

 

#결합도의 유형

결합도가 높음(낮은 품질), 다른 모듈 내부에 있는 변수가 기능을 다른 모듈에서 사용하는 경우의 결합도?

=> 내용 결합도

 

<내공외제스자>

모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호작용이 일어나는 경우의 결합도는?

=> 자료 결합도 <자료 파라>

 

모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도

=> 스탬프 결합 <배열객체스>

 

단순 처리할 대상인 값만 전달되는 게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우의 결합도는?

=> 제어 결합도

 

#파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용하는 경우의 결합도는?

=> 공통 결합도

 

두개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜 또는 디바이스 인터페이스를 공유할 경우의 결합도는?

=> 외부 결합도(external coupling)

 

#보안 관련 용어

sw 개발사의 네트워크에 침투하여 소스 코드의 수정 등을 통해 악의적인 코드를 삽입하거나 배포 서버에 접근하여 악의적인 파일로 변경하는 방식을 통해 사용자 pc에 소프트웨어를 설치 또는 업데이트시에 자동적으로 감염되도록 하는 공격 기법

 

=> 공급망 공격(supply chain attack)

 

보안 취약점이 발견되어 널리 공표되기 전에 해당 취약점을 악용하여 이루어지는 보안 공격 기법

=> 제로데이 공격(zero day attack)

 

 

파이썬은 변수 선언이 없어서 그러는데, self.a라고 하면 클래스 내의 변수를 지칭합니다.

 

만약에 fn이라는 메서드 안에 self.a=9가 아니라 a=9라고 하면 fn(self, a, b)에 a가 있기 때문에 파라미터로 받는 a가 9로 바뀌게 됩니다. 반면에 self.a라고 하면 클래스 내에 a라는 변수를 만들고 그 변수에 9를 넣기 때문에 클래스 내의 a변수는 9, fn에서 사용하는 파라미터인 a는 4가 됩니다.

 

C++, 자바에서 this 포인터랑 같은 역할이라고 보시면 됩니다.self는 그냥 자기 자신이 들어갑니다.

 

Soojebi 클래스 그 자체입니다.

 

 

#데이터 링크 계층의 프로토콜의 유형

점대점 방식이나 다중방식의 통신에 사용되는 iso에서 표준화한 동기식 비트 중심의 데이터 링크 프로토콜

=> HDLC(High Level Data Link Control)

 

네트워크 분야에서 두통신 노드 간의 직접적인 연결을 위해 일반적으로 사용되는 데이터 링크 프로토콜

=>PPP(Point to Point protocol)

 

#CMMI 단계적 표현 모델의 성숙도 레벨

<초관 정관최>

정의된 프로세스가 없고 작업자 능력에 따라 성과가 좌우되는 단계

프로세스 미비/비공식적, 예측 불가

 

=> 초기화 단계

 

특정한 프로젝트 내의 프로세스가 정의되고 수행되는 단계

프로젝트 관리 시스템 저착, 프로젝트 결과의 반복성

 

=> 관리 단계(managed)

 

조직의 표준 프로세스를 활용하여 업무를 수행하는 상태, 표준화 일관된 프로세스가 존재하는 단계는?

 

=> 정의 단계

 

정량적 기법을 활용하여 핵심 프로세스를 통제하는 단계

제품 및 프로세스의 정량적 통제

 

=> 정량적 관리 단계(Quantitatively Managed)

 

프로세스 역량 향상을 위해 신기술 도입, 프로세스 혁신 활동 수행하는 단계

프로세스 개선이 내재화된 조직

 

=> 최적화 단계(Optimized)

 

#선점형 스케줄링 종류는?

 

다단계

다단계 큐, 다단계 피드백 큐, 라운드 로빈, SRT (SRT 타는 로빈은 다단계를 하지만 선점하다...착하다는 말^^)

 

#TCL 명령어 3가지

COMMIT, ROLLBACK, CHECKPOINT

 

#사용자 요구사항을 도출하기 위한 세부 수행 활동 관련 용어 문제

잠재적 사용자의 다양한 목적과 관찰된 행동 패턴을 응집시켜 놓은 가상의 사용자를 의미하는 용어는?

=> 페르소나

 

콘셉트 모델 정의

사용자 요구사항 정의

UI 컨셉션 : 정리된 요구사항을 구체화하는 단계로 화면 디자인 단계 전에 대표 화면 설계를 진행하는 단계

 

#객체 지향 모델링 용어

클래스의 속성 및 연산과 클래스 간 정적인 관계를 표현한 다이어그램은?

정적 다이어그램(클래스 다이어그램)

 

#클래스 다이어그램의 구성 요소

클래스의 구조적 특성에 이름을 붙인 것으로 특성에 해당하는 인스턴스가 보유할 수 있는 값의 범위?

=> 속성

 

이름, 타입, 매개변수 들과 연관된 행위를 호출하는데 요구되는 제약사항들을 명시하는 클래스의 행위적 특징은?

=> 연산(Operational)

 

공통의 속성, 연산(메서드)관계, 의미를 공유하는 객체들의 집합은?

=> 클래스

 

클래스에 접근할 수 있는 정도를 표현한것은?

=> 접근 제어자(access modifier)

+-#~

 

#화이트 박스 테스트의 유형

수행 가능한 모든 경로를 테스트 하는 기법은?

=> 기본 경로 커버리지 테스트(=경로 커버리지 테스트, base path coverage)

 

#블랙박스 테스트의 유형

여러 버전의 프로그램에 같은 입력값을 넣어서 동일한 결과 데이터가 나오는지 비교해 보는 테스트 기법

=> 비교 테스트

 

 

#python

sum=0

for i in range(0,4): => [0,1,2,3,4]

for i in range(2,4): => [2,3]