2. JAVA
- == 연산자
- 문자와 숫자인 경우에는 값이 정해져있으므로 그 값만을 비교
- 문자열이나 리스트에서는 값이 정해져있지 않으므로 주소를 비교
4. 이론 (용어)
- 시스템의 성능을 향상하고 개발 및 운영의 편의성 등을 높이기 위해 정규화된 데이터 모델을 의도적으로 통합, 중복, 분리하여 정규화 원칙을 위배하는 행위
- 이를 수행하면 시스템의 성능이 향상되고 관리 효율성은 증가하지만 데이터의 일관성 및 정합성이 저하
- 과도한 수행은 오히려 성능을 저하
- 정답: 반정규화, 비정규화, 역정규화, Denormalization
5. C
int a = 11;
int b = 19
switch(a) {
case 1:
b += 1;
case 11:
b += 2;
default:
b += 3;
break;
}
- a는 11이므로 case 11이 실행되고 b는 21이 됨
- 하지만 break가 없으므로 종료되지 않음
- default도 실행되서 b는 24가 됨
- break를 만나 종료
7. JAVA
- &&: 2개의 조건 모두 참인 경우에만 True
- ||: 2개의 조건 중 하나라도 참이면 True
8. C
- 아스키코드
- 소문자: a(97) ~ z(122)
- 대문자: A(65) ~ Z(90)
9. C
int main() {
int arr[3][3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int* parr[2] = {arr[1] + arr[2]};
printf("%d", parr[1][1] + *(parr[1]+2) + **parr);
}
- arr은 3*3 배열
- parr[1][1]: arr[2][1]: 3행 2열
- *(parr[1] + 2): == *(arr[2] + 2)은 3행 3열
- **parr: == *(parr[0]) == (arr[1][0])은 2행 1열
10. SQL (릴레이션 스키마)
# 1. (추가)
INSERT INTO 학부(학번, 이름, 주소, 나이) VALUES (240912, '최재균', '서울', 20);
# 2. (검색 후 테이블에 추가)
INSERT INTO 학생(학번, 이름, 나이, 학과) SELECT 학번, 이름, 나이, '컴퓨터공학'
FROM 학부 WHERE 이름 = '최재균'
# 3. (조회)
SELECT * FROM 학생;
# 4. (변경)
UPDATE 학생 SET 학과 = '휴학' WHERE 학번 = 240912;
11. SQL (용어)
- 카디널리티(Cardinality) ➡️ 행의 수
- 디그리(Degree) ➡️ 열의 수
12. 이론 (프로토콜)
- 네트워크 계층에서 IP 패킷 단위의 변조 방지 및 은닉 기능을 제공하는 프로토콜
- 주요 구성 요소에는 AH, ESP, SA, IKE
- 주요 기능에는 암호화, 무결성, 인증, 재전송 방지
- 정답: IPsec(IP Security)
13. 이론 (보안 알고리즘)
- 2001년 미국 표준 기술 연구소(NIST)에서 발표한 개인키 암호화 알고리즘
- DES의 한계를 느낀 NIST에서 공모한 후 발표
- 블록 크기는 128비트이며, 키 길이에 따라 명칭 뒤에 128, 192, 256을 붙여 구분
- 정답: AES(Advanced Encryption Standard)
14. 이론 (네트워크)
- 가상 회선(Virtual Circuit): 연결형 통신에서 주로 사용되는 방식으로, 출발지와 목적지의 전송 경로를 미리 연결하여 논리적으로 고정한 후 통신하는 방식
- 데이터 그램(Data gram): 비연결형 통신에서 주로 사용되는 방식으로, 사전에 접속 절차를 수행하지 않고 헤더에 출발지에서 목적지까지의 경로 지정을 위한 충분한 정보를 붙여서 개별적으로 전달하는 방식
15. 이론 (응집도)
- 약한 것
- 우연적 응집도: 서로 관련 없는 요소
- 논리적 응집도: 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소
- 시간적 응집도: 특정 시간에 처리
- 절차적 응집도: 기능을 순차적으로 수행
- 통신(교환)적 응집도: 동일한 입력과 출력을 사용해 서로 다른 기능을 수행
- 순차적 응집도: 출력 데이터를 그 다음 활동의 입력 데이터로 사용
- 기능적 응집도: 기능 요소들이 단일 문제와 연관
- 강한 것
16. OS (스케줄링)
- 비선점형: 프로세스가 CPU 할당받으면 끝날때까지 뺏지 못함
- FIFO
- 먼저 들어온 것 먼저 처리
- SJF (Shortest Job First)
- 실행 시간 짧은 프로세스 우선 처리
- Priority
- 각각의 프로세스에 우선 순위가 있음
- 오래 대기한 작업의 우선 순위를 높여주는 방식
- FIFO
- 선점형: 프로세스가 CPU 할당받아 실행중인데 강제로 뺏을 수 있음
- 라운드 로빈 (RR)
- 각각의 프로세스에 동일한 할당 시간을 부여해 해당 시간 동안 CPU 이용하게 함
- 할당 시간 내에 처리하지 못하면 강제로 다음 작업으로 넘어감
- SRT(Shortest Remaining Time, SRTF)
- 각 시간에서 가장 짧은 실행 시간 가진 프로세스 처리
- 더 짧은 실행 시간 가진 프로세스 있다면 그것을 처리
- 다단계 큐 (Multilevel Queue)
- 우선 순위에 따른 준비 큐가 여러 개의 큐들로 나뉘고 각각의 큐는 각자의 스케줄링 알고리즘 보유
- 우선 순위 높은 큐부터 처리되기 때문에 낮은 큐의 프로세스가 처리가 안 되는 기아 현상 발생 가능성 존재
- 각 큐사이에서 프로세스들이 이동할 수 없어서 유연성이 떨어짐
- 라운드 로빈 (RR)
17. 이론 (디자인 패턴)
- 자료 구조와 같이 접근이 잦은 객체에 대해 동일한 인터페이스를 사용하도록 하는 패턴
- 내부 표현 방법의 노출 없이 순차적인 접근이 가능
- 정답: Iterator
- Command: 요청을 객체로 캡슐화해 요청을 매개변수화하고, 요청을 큐에 저장하거나 로깅하고 실행을 지연
- Interpreter: 언어나 문법에 대한 해석기를 제공해, 주어진 언어로 표현된 문제를 해결
- Mediator: 객체 간의 상호 작용을 캡슐화해, 객체 간의 직접적인 통신을 방지
- Observer: 객체 간의 일대다 종속 관계를 정의해, 한 객체의 상태 변경이 다른 객체들에게 알려지도록 함
18. 이론 (결합도)
- 약한 것
- 자료 결합도: 자료 요소로만 구성
- 스탬프 결합도: 자료 구조가 전달
- 제어 결합도: 논리적인 흐름을 제어
- 외부 결합도: 외부의 다른 모듈에서 참조
- 공유 결합도: 공유되는 공통 데이터 영역(전역 변수)
- 내용 결합도: 내부 기능 및 그 내부 자료를 직접 참조하거나 수정
- 강한 것
19. C
#include <stdio.h>
struct node {
int data;
struct node *Next;
};
int main( ) {
struct node *head = NULL;
struct node a = {10, 0};
struct node b = {20, 0};
struct node c = {30, 0};
head = &a;
a.Next = &b;
b.Next = &c;
printf("%d", head -> Next -> data);
}
- head 노드가 존재해서 head -> Next가 a인 줄 알았는데 그게 아님
- head = &a 라서 head가 a임
- 그래서 head -> Next는 b
20. 이론 (라우터)
- RIP(Routing Information Protocol)
- 홉 카운트, 즉 가장 적은 수의 라우터를 거쳐가는 경로를 선택
'공부 > 자격증' 카테고리의 다른 글
정보 처리 기사 실기 풀이(2023년도 03회) (0) | 2025.04.10 |
---|---|
정보 처리 기사 실기 풀이(2024년도 01회) (0) | 2025.04.06 |
정보 처리 기사 실기 풀이(2024년도 03회) (0) | 2025.04.04 |
정보 처리 기사 필기 풀이(2024년도 02회) (1) | 2025.02.18 |
정보 처리 기사 필기 풀이(2024년도 01회) (0) | 2025.02.17 |