일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Kubernetes
- 정보처리기사 실기 기출문제
- Elasticsearch
- 오블완
- 공부
- kotlin querydsl
- Linux
- 티스토리챌린지
- mysql 튜닝
- Spring
- CKA 기출문제
- kotlin spring
- minikube
- 기록으로 실력을 쌓자
- kotlin
- 정보처리기사실기 기출문제
- AI
- CKA
- IntelliJ
- aws
- CloudWatch
- 코틀린 코루틴의 정석
- Pinpoint
- 정보처리기사 실기
- PETERICA
- Java
- AWS EKS
- kotlin coroutine
- APM
- MySQL
- Today
- Total
피터의 개발이야기
[정처기 실기] 정보처리기사 실기 - 2023년 1회 기출문제 본문
ㅁ 들어가며
ㅇ 기출문제를 풀어보고 공부한 내용을 노트형태로 정리하였다.
ㅇ 기출문제 참조
- newbt - 정보처리기사 실기 2023년 1회
- 기사퍼스트 - [정보처리기사 실기] 2023년1회 기출문제 풀이
1. 아래 자바 코드에서 출력되는 값을 작성하시오.
class Static{
public int a = 20;
static int b = 0;
}
public class Test{
public static void main(String[] args) {
int a = 10;
Static.b = a;
Static st = new Static();
System.out.println(Static.b++);
System.out.println(st.b);
System.out.println(a);
System.out.print(st.a);
}
}
10
11
10
20
2. 다음 C언어의 출력값을 작성하시오.
#include
int main(){
char a[] = "Art";
char* p = NULL;
p = a;
printf("%s\n", a);
printf("%c\n", *p);
printf("%c\n", *a);
printf("%s\n", p);
for(int i = 0; a[i] != '\0'; i++)
printf("%c", a[i]);
}
Art
A
A
Art
Art
# 해설 정리
*a : 리스트의 포인트는 리스트의 주소값,
%c : 포인트 주소값의 문자출력
%s : '/0'전까지 문자열를 출력
p: 포인트 주소값, 현재는 문자리스트 a의 주소값을 가짐.
printf("%c", a[i]); 개행문이 없기 때문에 Art 그래도 출력.
3. 다음 C언어의 출력값을 작성하시오.
#include <stdio.h>
int main(){
char* a = "qwer";
char* b = "qwtety";
for(int i = 0; a[i] != '' ; i++){
for(int j = 0; b[j] != ''; j++){
if(a[i] == b[j]) printf("%c", a[i]);
}
}
}
qwe
4. 다음 괄호안에 들어가는 용어의 Full Name 또는 약자를 작성하시오.
( )은/는 비동기적인 웹 애플리케이션의 제작을 위해 JavaScript와 XML을 이용한 비동기적 정보 교환 기법이다.
( )은/는 필요한 데이터만을 웹서버에 요청해서 받은 후 클라이언트에서 데이터에 대한 처리를 할 수 있다.
보통 SOAP이나 XML 기반의 웹 서비스 프로토콜이 사용되며, 웹 서버의 응답을 처리하기 위해 클라이언트 쪽에서는 자바스크립트를 쓴다.
( )은/는 Google Map과 Google pages에서 사용한 기술에 기반하여 제작되었다.
AJAX
문제 기출: 2020년 2회 5번
5. 패킷 교환방식을 보기에서 고르시오.
1) 연결형 교환 방식으로, 정보 전송 전에 제어 패킷에 의해 가상 경로를 설정하여 목적지 호스트에 미리 연결 후 통신한다. 가상 경로를 미리 설정하여 송신 측에서 전송한 순서와 수신 측에 도착한 순서가 동일하며. 정해진 시간내 또는 다량의 데이터를 연속으로 전송할 때 적합한 방식이다.
2) 비연결형 교환 방식으로, 가상 경로를 설정하지 않고 헤더에 번호를 붙여서 개별적으로 전달한다. 패킷을 수신 한 라우터는 순간마다 최적의 경로를 선택하여 전송하므로, 패킷은 서로 다른 경로로 전송될 수 있다. 송신 측에 서 전송한 순서와 수신 측에 도착한 순서가 다를 수 있으며, 짧은 메시지의 일시적인 전송에 적합한 방식이다.
<보기>
ㄱ) 데이터그램 ㄴ) 차등 ㄷ) 비트 ㄹ) 가상회선
ㅁ) 회선 ㅂ) 소켓 ㅇ) 시분할 ㅅ) 메시지
1: 가상회선
2: 데이터그램
기출문제: 2021년 2회 14번 해설 참조
6. 아래 내용을 확인하여 알맞는 답을 작성하시오.
○ 2 계층(데이터링크 계층)에서 구현되는 터널링 기술 중 하나
○ L2F와 PPTP가 결합된 프로토콜로 VPN과 인터넷 서비스 제공자(ISP)가 이용
○ IPsec을 함께 사용하면 PPTP보다 훨씬 안전하지만 보안보다 익명화에 더 적합
L2TP
# 핵심 309) OSI 참조 모델
# 흥달샘 - [Q&A] 네트워크 | OSI 7계층
7. 다음 설명에 해당하는 알맞은 용어를 영문 3글자로 쓰시오.
○ 다른 컴퓨터에 로그인, 원격 명령 실행, 파일 복사 등을 수행할 수 있도록 다양한 기능을 지원하는 프로토콜 또는 이를 이용한 응용 프로그램이다.
○ 데이터 암호화와 강력한 인증 방법으로 보안성이 낮은 네트워크에서도 안전하게 통신할 수 있다.
○ 키(Key)를 통한 인증 방법으로 사용하려면 사전에 클라이언트의 공개키를 서버에 등록해야 한다.
○기본적으로는 22번 포트를 사용한다.
SSH
# 포로토콜 대표 포트
포트 | 설명 | 포트 | 설명 |
20 | FTP - 데이터 포트 | 21 | FTP - 제어 포트 |
22 | SSH-원격 접속 보안 | 23 | TELNET-원격 접속 |
25 | SMTP - 이메일 전송 | 80 | HTTP -웹 페이지 전송 |
110 | POP3 - 이메일 수신 | 443 | HTTPS-HTTP 암호화 전송 |
8. 보안 용어를 보기에서 고르시오.
ㄱ) 인터넷 또는 네트워크를 통해서 컴퓨터에서 컴퓨터로 전파되는 악성코드 유형이다. 자기 자신을 복제하면서 주로 메일이나 네트워크 공유 폴더를 통해 스스로 전파되어 시스템과 네트워크에 부하를 높이는 증상을 보인다.
ㄴ) 컴퓨터에 직접적인 피해를 주지는 않지만, 악의적인 공격자가 컴퓨터에 침투하여 사용자의 컴퓨터를 조종할 수 있는 악성코드의 유형이다. 정상적인 프로그램으로 보이지만, 해킹 기능을 가지고 있어 컴퓨터의 정보를 외부로 유출할 수 있다.
ㄷ) 컴퓨터 프로그램이나 실행 가능한 부분을 변형시킴으로써 그곳에 자신 또는 자신의 변형을 복사해 넣는 악성 코드 유형이다. 감염대상이 되는 파일이나 프로그램이 있어야 하며, 자기 자신을 복제할 수 있는 기능을 가지고 있으나 스스로 전파되지는 않는다.
<보기> 바이러스, 트로이목마, 웜
ㄱ: 웜
ㄴ: 트로이목마
ㄷ: 바이러스
# 보기와 답의 수가 같을 경우 부분점수가 없음.
ㅇ 트로이 목마(Trojan Horse)
ㄴ 악성 루틴이 숨어 있는 프로그램으로, 겉보기에는 정상적인 프로그램으로 보이지만 실행하면 악성 코드를 실행하는 프로그램
ㄴ 컴퓨터 바이러스나 웜과는 달리. 트로이 목마는 보통 다른 파일에 삽입되거나 스스로 전파되지 않는다.
ㅇ 바이러스(Virus)
ㄴ 스스로를 복제하여 파일을 손상시키는 악성 프로그램
ㄴ 다른 실행 프로그램에 기생하여 실행
ㄴ CD, USB드라이버 등을 통해 전파 > 스스로 전파 불가능
ㅇ 웜(Worm)
ㄴ 스스로를 복제하여 네트워크를 손상시키는 악성 프로그램
ㄴ 독자적으로 실행되어 다른 프로그램이 필요하지 않음
ㄴ 네트워크를 사용하여 복제본을 스스로 전파
9. 보안용어를 쓰시오.
인터넷 환경에서 오류에 관한 처리를 지원하는 용도로 사용되는 프로토콜이다. 이 프로토콜에 의해 발생되는 주요 메시지 중 ECHO REQUEST, ECHO REPLY는 유닉스의 ping 프로그램에서 네트워크의 신뢰성을 검증하기 위하여 ECHO REQUEST 메시지를 전송하고, 이를 수신한 호스트에서는 ECHO REPLY를 전송해 응답한다. 그리고 죽음의 핑(Ping of Daath Attack), 스머프 공격(Smurt Attack)에 사용한다.
ICMP
기출문제: 2020년 3회 12번
# 핵심 313) 인터넷 계층의 주요 프로토콜
ㅇ IP(Internet Protocol)
ㄴ 전송할 데이터에 주소를 지정하고, 경로를 설정하는 기능을 함
ㄴ 비연결형인 데이터그램 방식을 사용하는 것으로 신뢰성이 보장되지 않음
ㅇ ICMP(Internet Control Message Protocol)
ㄴ IP와 조합하여 통신중에 발생하는 오류의 처리와 전송경로변경등을 위한 제어 메시지를 관리
ㄴ 헤더는 8Byte로 구성
ㄴ SMURFING: 엄청난 양의 데이터를 보내어 네트워크 불능상태
ㄴ Ping Flood: 엄청난 수의 ICMP 메시지 를 보내어 시스템 자원을 모두 소진
ㅇ IGMP(Internet Group Management Protocol)
ㄴ 멀티캐스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용됨
ㅇ ARP
ㄴ IP 주소 -> MAC 주소
ㅇ RARP
ㄴ MAC 주소 -> IP 주소
10. 다음 아래 코드에서 이진수를 십진수로 변환하는 코드에 대해 괄호 (a) (b)의 적합한 답을 작성하시오.
#include
int main() {
int input = 101110;
int di = 1;
int sum = 0;
while (1) {
if (input == 0) break;
else {
sum = sum + (input (a)(b)) * di;
di = di * 2;
input = input / 10;
}
}
printf("%d", sum);
return 0;
}
a: %
b: 2
11. 보기에서 알맞은 디자인 패턴을 고르시오.
특정 객체에 대한 접근을 제어하거나 기능을 추가할 수 있는 디자인 패턴으로, 객체의 대리자를 이용하여 원래 객체의 작업을 대신 처리하는 방식이다. 즉, 어떤 객체를 사용하려고 할 때, 객체를 직접 참조하는 것이 아니라 해당 객체에 대응하는 일종의 대리자 역할을 하는 객체를 통해서 대상에 접근하는 방식으로 직접 참조하려던 객체가 메모리에 존재하지 않아도 기본적인 정보 참조나 실제 사용 시점까지 생성 시점을 미루는 등의 행위가 가능해진다.
<보기>
Builder
Decorater
Bridge
Mediator
Observer
Abstract Factory
Singleton
Proxy
Memento
Visitor
Proxy
12. 다음 파이썬(Python) 스크립트의 실행 결과를 적으시오.
>>> asia={"한국", "중국", "일본"}
>>> asia.add("베트남")
>>> asia.add("중국")
>>> asia.remove("일본")
>>> asia.update(["홍콩", "한국", "태국"])
>>> print(asia)
{'베트남', '홍콩', '중국', '중구', '태국', '한국'}
기출문제: 2020년 2회 18번
13. 관계형 데이터베이스: <보기>에서 고르시오.
1) 릴레이션의 행에 해당되는 요소
2) 릴레이션에 들어 있는 튜플의 집합으로 릴레이션 외연(Extension)이라고도 한다.
3) 릴레이션에서 튜플의 갯수
<보기>
ㄱ) 릴레이션 인스턴스 ㄴ) 도메인 ㄷ) 튜플
ㄹ) 차수 ㅁ) 릴레이션 스키마 ㅂ) 카디널리티
1) 튜플 2) 릴레이션 인스턴스 3) 카디널리티
# RDB 용어정리
ㅇ릴레이션 인스턴스(외연, Relation Instance) : 튜플들의 집합(릴레이션 실제값)
ㅇ도메인(Domain) : 한 속성에 나타날 수 있는 값들의 범위
ㅇ 튜플(Tuple) : 행(Row)
ㅇ 차수(Degree) : 속성들의 수
ㅇ 릴레이션 스키마(내연, Relation Schema) : 속성 이름들(릴레이션 틀. 구조)
ㅇ 카디널리티(Cardinality) : 튜플들의 수
14. [학생] 테이블에서 학생 이름이 '민수'인 튜플을 삭제하는 쿼리를 작성하시오.
조건
- 컬럼의 값이 문자열일 경우 작은 따옴표 (' ')를 표시하시오.
- SQL 마지막에 세미콜론(;)은 표기하지 않아도 관계 없습니다.
DELETE FROM 학생 WHERE 이름 ='민수';
15. 데이터베이스 스키마: <보기>에서 고르시오.
1) 개별 사용자나 응용 프로그래머가 접근하는 데이터베이스의 논리적 구조를 정의한다.
2) 데이터베이스의 전체적인 논리적 구조로, 개체 간의 관계와 제약조건을 나타낸다.
3) 데이터베이스의 물리적 구조로, 데이터의 실제 저장 방법을 기술한다.
< 보기>
ㄱ) 외부 스키마 ㄴ) 개념 스키마 ㄷ) 내부 스키마
1) 외부 스키마
2) 개념 스키마
3) 내부 스키마
16. 다음 코드에서 괄호안에 알맞는 값을 변수명으로 작성하시오.
#include <stdio.h>
void swap(int *a, int idx1, int idx2) {
int t= a[idx1];
a[idx1] = a[idx2];
a[( ① )] = t;
}
void Usort(int *a, int len) {
for(int i = 0; i < len - 1; i++)
for(int j = 0; j < len - 1 - i; j++)
if(a[j] > a[j+1])
swap(a,j,j+1);
}
void main(){
int a[] = {85, 75, 50, 100, 95};
int nx = 5;
Usort(a, ( ② ));
}
1) idx2
2) nx
17. 다음 성적 테이블에서 과목별 점수의 평균이 90점 이상인 '과목이름', '최소점수', '최대점수' 를 검색하고자 한다. [조건]을 참고하여 적합한 SQL문을 작성하시오.
[조건]
- WHERE사용하지 말아야 한다.
- SELECT절에 별칭을 사용하여 작성해야 한다.
- SQL 구문 마지막에 세미콜론(;)은 생락 가능하다.
- 반드시 GROUP BY와 HAVING 을 사용해야 한다.
- 집계 함수를 사용해야 한다.
SELECT 과목이름, MIN(점수) AS 최소점수, MAX(점수) AS 최대점수
FROM 성적
GROUP BY 과목이름
HAVING AVG(점수) >= 90
18. 다음 JAVA 코드에서 알맞는 출력 값을 작성하시오.
abstact class Vehicle {
String name;
abstract public String getName(String val);
public String getName() {
return "Vehicle name: " + name;
}
}
class Car extends Vehicle {
public Car(String val) {
name=super.name=val;
}
public String getName(String val) {
return "Car name:" + val;
}
public String getName(byte val[]) {
return "Car name:" + val;
}
}
public class Main {
public static void main(String[] args) {
Vehicle obj = new Car("Spark");
System.out.println(obj.getName());
}
}
Vehicle name: Spark
19. 다음 Java 코드에 대한 출력 값을 작성하시오.
class Parent {
int x = 100;
Parent() {
this(500);
}
Parent(int x) {
this.x = x;
}
int getX() {
return x;
}
}
class Child extends Parent {
int x = 4000;
Child() {
this(5000);
}
Child(int x) {
this.x = x;
}
}
public class Main {
public static void main(String[] args) {
Child obj = new Child();
System.out.println(obj.getX());
}
}
500
# 생성자
Child를 실행하면, 암묵적으로 super()실행.
new Child(); 하여 생성하면
Parant가 생성되면서 Parant.x = 100-> 500 변경되고
Child도 생성되면서 Child.x=4000 -> 5000이 된다.
# 자식에 메서드가 없으면, 부모 메서듸 호출
obj.get(); 에서 child에는 없기에 부모를 호출하고
parent.x의 값, 500이 출력된다.
20. 다음 아래 제어 흐름 그래프가 분기 커버리지를 만족하기 위한 테스팅 순서를 쓰시오.
1234561
124567
# 분기(결정, Decision) 커버리지: 결정 포인트 내의 모든 분기문에 대해 수행
ㅁ 기출 분석 및 학습 방법
1. 과년도 기출문제 다수 출제 (AJAX, 패킷교환방식, ICMP, 분기커버리지 등, 8문제)
- 2020년~2023년 1회 기출문제 스스로 풀이
2. 프로그래밍 코드 문제 대비 (문자열 포인터, static 변수, 생성자 오버로딩, 상속 등)
- C, JAVA, Python 언어 기본 문법 학습 > 응용
- 기출 코드는 흐름을 이해 > 빈 칸 채우기 대비
3. SQL 문법 학습 (DELETE문, SELECT문)
- SQL 실행 결과를 작성하기 위해서는 SQL 문법을 이해 위주로 학습
- SQL 작성 연습: 아는 것과 펜으로 적는 것은 다르므로 직접 작성하는 연습
4. 용어(단답형, 영문 보기, 영문 약어) 문제 출제
- 지문에서 답을 최대한 유추하여 작성
5. ①. ②와 같은 가지 수 문제 또는 <보기> 문제 출제
- 부분 점수가 있을 수 있음 > 용어 하나라도 더 암기
- 키워드 위주로 용어 암기
6. 퀴즐렛, 용어집, 실전 모의고사. 기출&예상 문제집 자료 참고
'개발이야기 > 정보처리기사' 카테고리의 다른 글
[정처기 실기] 정보처리기사 실기 - 2023년 3회 기출문제 (0) | 2024.04.15 |
---|---|
[정처기] 정보처리기사 - 2020~ 2023년 합격률 (0) | 2024.04.08 |
[정처기 실기] 정보처리기사 실기 - 2022년 3회 기출문제 (1) | 2024.03.27 |
[정처기 실기] 정보처리기사 실기 - 2022년 2회 기출문제 (1) | 2024.03.27 |
[정처기 실기] 정보처리기사 실기 - 2022년 1회 기출문제 (0) | 2024.03.25 |