2021 정보처리기사 필기 기출 오답노트
2021 정보처리기사 필기 기출 오답노트 — #정보처리기사 #개발자의도구들 #2021정보처리기사 #2021정보처리기사필기 #2021정보처리기사기출 #c언어비...
#정보처리기사 #개발자의도구들 #2021정보처리기사 #2021정보처리기사필기 #2021정보처리기사기출 #c언어비트연산자예제
24년도 1회차 정보처리기사 필기 시험대비 공부를 진행하였습니다.
\* 본글은 PC버전에 최적화 되어있습니다.
**\\ **공부방법론은 가장 첫글에 있습니다. 참고하실 분들은 참고하세요! \\ - 개발자의도구들
\\ 정보처리기사 전체 총 정리는 여기 있습니다!! \\
2021. 5월 기출문제
오답노트
2023부터 2021까지 기출 문제를 풀고 있는데, 개인적으로 가장 어려웠던 문제가 2021.5월 이었던 것 같습니다.
아직 공부가 덜되어서 그런지 생소한 용어가 많았네요 ㅠ.ㅠ
간당 간당하게 통과점수가 나와서... 시험 몇일 안남았지만, 더 촘촘히 공부해야겠다는 생각이 들었습니다.
Q. CASE의 원천 기술이 아닌 것은?
- 구조적 기법
- 프로토타이핑 기술
- 정보 저장소 기술
- 일괄처리 기술
정답: 4
CASE의 원천 기술: 구조적 기법, 프로토타이핑, 자동 프로그래밍, 정보 저장소, 분산처리
-> CASE는 요구 분석, 설계, 구현, 검사 맟 디버깅 과정까지 소프트웨어 도구로 자동화한 것을 말함
-> 그래픽 지원, 자료흐름도 작성 등도 가능함
암기법)
구조적으로 정보가 저장되어 있는 자료흐름도를 프로토 타이핑으로 분산해서 자동으로 만들어 준다.
Q. 요구 사항 개발 프로세스의 순서?
- 도출
- 분석
- 명세
- 확인
정답: 1 -> 2 -> 3 -> 4
-> 요구사항을 도출하고, 도출한 요구사항을 분석하고, 분석 완료되면 명세하고, 명세 끄탄면 점검(확인)한다.
Q. 소프트웨어 아키텍쳐 설계에서 시스템 품질 속성이 아닌 것은?
- 가용성(Availability)
- 독립성(Isolation)
- 변경용이성(Modifiability)
- 사용성(Usability)
정답: 2
소프트웨어 아키텍처의 시스템 품질 속성
아키텍쳐가 이해 관계자들의 요구하는 수준의 품질을 유지 및 보장할 수 있게 설계 되었는지 확인 하기 위한 평가 요소들을 품질 속성이라고 부른다.
시스템 = 하나의 큰 덩어리 개념
품질 속성을 측면에 따라 나눔
- 시스템 측면: 성능, 보안, 가용성, 기능성, 사용성, 변경 용이성, 확장성
- 비즈니스 : 시장 적시성, 비용과 혜택, 예상 시스템 수명(돈과 관련된거, 시장에서 팔리는가? 언제까지 팔릴까?)
- 아키텍처: 개념적 무결성, 정확성, 완결성, 구축 가능성
-> 독립성은 전체적인 맥락에서 맞지 않는 속성
(공부하다 보면 진짜 말장난 하는 느낌이 드네요..)
Q. 다음 설명에 해당하는 시스템으로 옳은 것은?
| 시스템 인터페이스를 구성하는 시스템으로, 연계할 데이터를 데이터베이스와 애플리케이션으로부터 연계 테이블 또는 파일 형태로 생성하며 송신하는 시스템이다. |
|---|
- 연계 서버
- 중계 서버
- 송신 시스템
- 수신 시스템
정답: 3
연계 메커니즘 구성요소
송신 시스템: 연계 프로그램으로 부터 생산된 데이터를 전송 형식에 맞게 변환 후 송신하는 시스템
수신 시스템: 수신한 인터페이스 테이블, 파일을 연계 프로그램에서 처리할 수 있는 형식으로 반영 후 연계 프로그램에 반영하는 시스템
연계 서버: 송-수신 시스템 사이에 위치하여 데이터의 송-수신 형황을 모니터링 하는 역할
-> 이건 문제에 답이 나와있습니다.. 그냥 연계 메커니즘이라는게 있어서 정리해봤습니다..(사실 문제 똑바로 안보고 틀렸죠?)
Q. EAI 구축 유형에서 애플리케이션 사이에 미들웨어를 두어 처리하는 것은?
- Message Bus
- Point-to-Point
- Hub & Spoke
- Hybrid
정답: 1, 3 ,4
이번 회차는 왜이렇게 복수 정답이 많은지 모르겠다... 시험풀다가 복수정답일 가능성도 고려하면서 풀면 될 듯하다.
EAI구축유형
point-to-point: 가장 기본적인 통합방식, 1:1로 연결, 변경 및 재사용이 어렵다
Hub & Spoke: 단일 접점 허브 시스템을 통해 데이터를 전송하는 중앙 집중 방식이다. 확장 및 유지 보수는 용이하나, 허브 장애시 전체 시스템에 영향을 줄 수 있다.
Message Bus(ESB): 미들웨어를 두어 처리하는 방식으로, 확장성이 뛰어나고 대용량 처리가 가능하다.
Hybrid: hub & spoke와 message bus를 혼합한 방식으로, 그룹내에서는 전자를, 그룹간에는 후자를 사용한다.
Q. 병렬 데이터베이스 환경 중 수평 분할에서 활용되는 분할 기법이 아닌 것은?
- 라운드 - 로빈
- 범위 분할
- 예측 분할
- 해시 분할
정답: 3
파티셔닝
종류: 범위, 해시, 조합, 목록, 라운드 로빈
범위분할: 지정한 열 값의 기준으로 범위를 지정하여 분할한다.
해시분할: 해시 함수를 적용한 값의 결과에 따라 데이터를 분할한다.
- 고객번호, 주민번호 같이 데이터가 고른 칼럼에 적용 하기에 좋다.
조합 분할: 범위 분할로 분할한 다음 해시 함수를 적용하여 다시 분할하는 방식
- 범위 분할한 파티션이 너무커 관리하기 어려울 때 사용하면 좋다
목록분할: 지정한 열 값에 대한 목록을 만들어 이를 기준으로 분할한다.
라운드 로빈 분할 : 레코드를 균일하게 분할하는 방식, 각 레코드가 순차적으로 분배, 기본키가 필요 없다.
Q. 다음 C언어 프로그램이 실행되었을 때의 결과는?
| int main(--생략--){ int a = 4; int b = 7; int c = a | b; print("%d", c);} |
|---|
정답: 7(%d)
여기서 |는 비트연산을 의미합니다. 보통 | 는 or로 사용되는데 비트연산에서도 마찬가지 입니다. 다만, 비트내에서 연산해야한다는 것을 잊지 마세요!
4 = 0100
7 = 0111
Q. 다음 JAVA 프로그램이 실행되었을 때의 결과는?
| public static void main(String\[\] args){ int x = 5, y = 0, z = 0; y = x++; z = --x; system.out.print(x + ", " + y + ", " + z);} |
|---|
정답: 5, 5, 5
후치와 전치 연산자
y = x++; -> y에 x값을 먼저 대입, 이후 x의 값을 1 증가 (y가 아니다)
z = --x; -> z에 x의 값에 -1한 값을 계산 후 x를 대입
Q. C언어에서 연산자 우선순위가 높은 것에서 낮은 것으로 바르게 나열한 것은?
a. ()
b. ==
c. <
d. <<
e. ||
g. /
정답: a, g, d, c, b, e
C언어 연산자 우선순위
: 괄호
: 단항, 산술, 시프트, 관계, 비트, 논리, 조건, 대입, 순서
단산시 관비논조 대순
단산시 앞 관청에는 비가내려 논이 조금 커졌습니다 . 순식간에
\* 관계연산자 내부순서 : <, <=, >=, >, ==, !=
\* 비트연산자: &(and), ^(xor), |(or)
a. () ==> 괄호 무조건 1순위
b. == -> 관계
c. < -> 관계
d. << -> 비트
e. || -> 논리
g. / -> 산술
Q. 리눅스 bash 쉘(Shell)에서 export와 관련한 설명으로 틀린 것은?
- 변수를 출력하고자 할 때는 export를 사용해야 한다.
- export가 매개변수 없이 쓰일 경우 현재 설정된 환경변수들이 출력된다.
- 사용자가 생성하는 변수는 export 명령어로 표시하지 않는 한 현재 쉘에 국한된다.
- 변수를 export 시키면 전역(Global)변수처럼 되어 끝까지 기억된다.
정답: 1
UNIX / LINUX의 주요 환경 변수
- 환경 변수를 명령어나 스크립트에서 사용하려면 변수명 앞에 $를 입력해야한다.
- UNIX나 LINUX에서는 set, env, printenv, setenv 중 하나를 입력하면 모든 환경 변수 값을 표시한다.
- 기존 환경 변수의 값을 변경하거나 새로운 환경 변수를 추가하고자 할때 export 명령어를 사용한다.
환경변수 용도
$DISPLAY: 현재 X 윈도 디스플레이 위치
$HOME: 사용자의 홈 디렉터리
$LANG: 프로그램 사용시 기본적으로 지원되는 언어
$MAL: 메일을 보관하는 경로
$PATH: 실행 파일을 찾는 경로
$PS1: 쉘 프롬프트 정보
$PWD: 현재 작업하는 디렉터리
$TERM: 로간 터미널 타입
$USER: 사용자 이름
