뉴비티 기출문제 문제은행 - 완전 새로운 CBT, iBT 문제풀이 시스템
기사, 공무원, 공인중개사 등 로그인 필요 없는 수백가지 시험 기출문제 문제은행 시험 자격증 족보 2024년 최신
newbt.kr
* 개념 참고
2024.10.12 - [IT자격증] - 2024 정보처리기사 실기 요약
[ 정보처리기사 실기 2023년 1회 ]
* Q.1 ) JAVA 문제
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);
}
}
* Answer :
10
11
10
20
* Q2. 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]);
}
* Answer :
Art
A
A
Art
Art
char a[] = “Art”; ← a[] : {‘A’, ‘r’, ‘t’, ‘\0’}
%s : 해당 포인터부터 문자열 출력. char * 형
%c : 해당 포인터의 문자 하나 출력. char 형
* Q4. AJAX
( )은/는 비동기적인 웹 애플리케이션의 제작을 위해 JavaScript와 XML을 이용한 비동기적 정보 교환 기법이다.
( )은/는 필요한 데이터만을 웹서버에 요청해서 받은 후 클라이언트에서 데이터에 대한 처리를 할 수 있다.
보통 SOAP이나 XML 기반의 웹 서비스 프로토콜이 사용되며, 웹 서버의 응답을 처리하기 위해 클라이언트 쪽에서는 자바스크립트를 쓴다.
( )은/는 Google Map과 Google pages에서 사용한 기술에 기반하여 제작되었다.
- XML과 JAVA 는 AJAX
- XML과 언어는 WSDL
- XML과 프로토콜은 SOAP
* Q5. 가상회선, 데이터그램
* TCP/IP : 서로 다른 기종의 컴퓨터들이 데이터를 주고받을 수 있도록 하는 표준 프로토콜
- TCP : OSI 7계층의 전송 계층에 해당 / 가상 회선 방식을 기반으로 하는 연결형 서비스를 제공
- IP : OSI 7계층의 네트워크 계층에 해당 / 데이터그램 방식을 기반으로 하는 비연결형 서비스를 제공
* 데이터 교환 방식
- 회선 교환(Circuit Switching) (ex. 전화)
- 패킷 교환(Packet Switching)
- 가상회선 패킷 교환 : 연결 지향형 (ex. TCP) / 다량 데이터
- 데이터그램 패킷 교환 : 비연결 지향형 (ex. UDP) / 짧은 패킷
* Q.7) SSH
○ 다른 컴퓨터에 로그인, 원격 명령 실행, 파일 복사 등을 수행할 수 있도록 다양한 기능을 지원하는 프로토콜 또는 이를 이용한 응용 프로그램이다.
○ 데이터 암호화와 강력한 인증 방법으로 보안성이 낮은 네트워크에서도 안전하게 통신할 수 있다.
○ 키(Key)를 통한 인증 방법으로 사용하려면 사전에 클라이언트의 공개키를 서버에 등록해야 한다.
○기본적으로는 22번 포트를 사용한다.
* SSH : 22, 암호화하여
* telnet : 23, 평문으로
* Q.8) 웜, 트로이목마, 바이러스
- 스스로 복제, 독자적으로 실행 : 웜
- 정상적인 프로그램으로 위장 : 트로이 목마
- 대상(정상파일)을 감염 : 바이러스
* Q.9) 이진수를 십진수로 변환하는 코드 작성
#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) 10 or 5 or 2
또는
(a) & , (b) 1
* Q.10) ICMP (Internet Control Message Protocol) : 인터넷 제어 메시지 프로토콜
( )은/는 TCP/IP에서 IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜이다.
( ) 프로토콜은 보통 다른 호스트나 게이트웨이 와 연결된 네트웍에 문제가 있는지 확인하기 위한 목적으로 주로 사용된다.
( ) 을/를 이용한 공격에는 ( ) Flooding가 있는데 ping 명령어를 통한 ( ) 패킷을 연속적으로 계속 보내어 서버의 요청에 응답으로 인한 다른작업을 하지 못하도록 하는 공격이다.
+ 오류 메시지를 전송함.
* Q. 11 ) 디자인패턴 - PROXY (대리자)
( )은/는 복잡한 시스템을 개발하기 쉽도록 클래스나 객체을 조합하는 패턴에 속하며,
대리라는 이름으로도 불린다. 내부에서는 객체 간의 복잡한 관계를 단순하게 정리해 주고,
외부에서는 객체의 세부인 내용을 숨기는 역할을 한다.
* 생성패턴
- 추상팩토리 : 구체적인 클래스에 의존하지 않음.
- 빌더 : 작게 분리된 인스턴스를 건축하듯이 조합
- 팩토리 메소드 : 객체생성을 서브클래스에서 처리하도록 분리하여 캡슐화. 상위클래스에서 인터페이스만 정의하고 실제 생성은 서브클래스가 담당
- 프로토타입 : 원본객체를 복제하는 방법으로 객체를 생성
- 싱글톤 : 하나의 객체를 생성하면 생성객체를 어디서든 참조할 수 있지만, 동시 참조 불가. 클래스내에서 인스턴스가 하나
* 구조패턴 : 클래스나 객체들을 조합하여 더 큰 구조로 만드는 패턴
- 어댑터 : 호환성이 없는 클래스들의 인터페이스를 다른 클래스가 이용할 수 있도록 변환해주는 패턴
- 브리지 : 구현부에서 추상층을 분리. 기능과 구현을 두개의 별도 클래스로 구현
- 프록시 : = 대리자 / 내부에서는 객체 간 복잡한 관계를 단순하게 정리하고, 외부에서는 객체의 세부적 내용을 숨김
* 행위패턴 : 클래스나 객체들이 서로 상호작용하는 방법이나 책임분배방법을 정의하는 패턴
- 커맨드 : 요청을 캡슐화하여 필요정보를 저장하거나 로그 남김. 명령어들을 추상클래스와 구체클래스로 분리하여 단순화
- 중재자 : 수많은 객체들 간 복잡한 상호작용을 캡슐화하여 객체로 정의
- 옵저버 : 한 객체의 상태가 변화하면 객체에 상속되어 있는 다른 객체들에게 변화된 상태를 전달 / 일대다 의존성 정의 / 분산된 시스템 간 이벤트 생성 발행하고 이를 수신할 때 이용
- 상태 : 객체의 상태에 따라 동일 동작을 다르게 처리해야 할 때
- 전략 : 동일 계열 알고리즘들을 개별적으로 캡슐화하여 상호교환할 수 있게 정의
- 템플릿 메소드 : 상위클래스에서 골격 정의, 하위클래스에서 세부처리 구체화
- 방문자 : 처리 기능을 분리하여 별도의 클래스로 구성하는 패턴 / 분리된 처리 기능은 각 클래스를 방문하여 수행
* Q.12 ) 릴레이션 용어
- 1: 튜플
- 2: 릴레이션 인스턴스
- 3: 카디널리티
- 릴레이션 : 테이블, 컬렉션(NoSQL)
- 튜플 : 레코드, 행 (개수 : Cardinality; 기수)
- 속성 : 필드, 열 (개수 : Degree; 차수) / db구성하는 가장 작은 논리적 단위
- 도메인 : 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자값들의 집합
* Q.14 )
#include
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
Q.15 ) Python 문제
a = {'한국', '중국', '일본'}
a.add('베트남')
a.add('중국')
a.remove('일본')
a.update({'홍콩', '한국', '태국'})
print(a)
{'한국', '중국', '베트남', '홍콩', '태국'}
Q.16 ) SQL
SELECT 과목이름 ,MIN(점수) AS 최소점수 ,MAX(점수) AS 최대점수
FROM 성적
GROUP BY 과목이름 HAVING AVG(점수) >= 90
Q.17 ) 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
Q.18) 스키마 - 외부/개념/내부 스키마
- 여러 개의 외부 스키마 => 외부 스키마
- 하나만 존재 => 내부 스키마
- 물리적인 저장장치 => 내부 스키마
* Q.19 ) 분기 커버리지 테스팅 순서
1234561, 124567
또는
1234567, 124561
분기 커버리지 : 결정(decision) 커버리지라고도 불림. 분기점(branch, 두개로 나뉘는 부분, 마름모) 위주로 테스트
분기 커버리지를 만족하기 위한 테스팅이므로, 모든 분기점을 최소 한번씩은 실행하는 테스팅 알고리즘을 서술한다.
* Q.20) 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
'IT자격증' 카테고리의 다른 글
2022-1 정처기 실기 newbt 기출문제 (1) | 2024.10.17 |
---|---|
2024 정보처리기사 실기 요약 (0) | 2024.10.12 |
[2024 정처기 실기] 10. 프로그래밍 언어 활용 - (1) 데이터 입/출력(146p) (0) | 2024.07.09 |