정보처리기사 · 실기

2021년 3회 정보처리기사 실기 기출 유형

답안을 직접 작성하고 정답과 비교해 보세요. 서술형 답안은 표현이 다를 수 있어 직접 확인합니다.

← 회차 목록

주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

20문항미확인 20문항

2021년 3회 주제 · 연습 1

프로그래밍 언어

다음 Java 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Java 21 기준이다.

public class Main {
    static class Counter {
        private static final Counter ONE=new Counter();
        int value=3;
        private Counter(){}
        static Counter get(){return ONE;}
    }
    public static void main(String[] args) {
        Counter a=Counter.get(), b=Counter.get();
        a.value+=2; b.value+=3;
        System.out.print((a==b)+" "+a.value);
    }
}
정답·해설 보기

정답

true 8

해설

get은 항상 같은 ONE 객체를 반환한다. a와 b의 참조가 같고 두 변수의 변경이 같은 value 필드에 누적된다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 2

정보보안

보안 관리의 AAA에서 사용자가 누구인지 확인, 허용된 작업 결정, 사용 내역 기록을 각각 영문으로 쓰시오.

정답·해설 보기

정답

Authentication, Authorization, Accounting

해설

각각 인증, 인가(권한 부여), 계정·사용 내역 기록에 대응한다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 3

SQL·데이터베이스

데이터베이스 관리자에게서 analyst 사용자에게 Report 테이블의 SELECT 권한을 부여할 때 사용하는 SQL 명령과 권한 회수 명령을 쓰시오.

정답·해설 보기

정답

부여: GRANT, 회수: REVOKE

해설

객체와 권한, 대상 사용자를 명시한다. 테이블 행을 추가하는 INSERT와 사용자 권한 관리는 별개이다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 4

정보보안

공격자가 거짓 IP–MAC 대응 정보를 알려 피해자의 ARP 캐시에 자신의 MAC 주소를 저장하게 했다. 이 공격을 쓰시오.

정답·해설 보기

정답

ARP 스푸핑(ARP 캐시 포이즈닝)

해설

잘못된 주소 매핑으로 트래픽을 우회시킬 수 있다. DNS 이름을 위조하는 공격과 구별한다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 5

소프트웨어 설계·구축

호출 모듈이 mode라는 플래그를 전달해 피호출 모듈 내부에서 실행할 처리 경로를 직접 선택한다. 결합도 유형을 쓰시오.

정답·해설 보기

정답

제어 결합도

해설

단순 업무 데이터가 아니라 다른 모듈의 제어 흐름을 결정하는 정보를 전달한다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 6

네트워크·운영체제

OSI 계층에서 ① 같은 링크 안에서 프레임을 전달 ② IP 주소와 경로를 이용해 패킷을 전달 ③ 데이터 표현 형식·압축·암호화 관련 변환을 담당하는 계층을 쓰시오.

정답·해설 보기

정답

① 데이터 링크 ② 네트워크 ③ 표현 계층

해설

각각 2·3·6계층이다. 실제 인터넷 구현이 항상 OSI 계층별로 완전히 분리되는 것은 아니다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 7

소프트웨어 설계·구축

UML 관계에서 ① 일반 클래스와 특수 클래스의 상속 관계 ② 서로 연결되어 있음을 나타내는 관계 ③ 한 요소의 변경이 다른 요소의 사용에 영향을 줄 수 있는 관계를 쓰시오.

정답·해설 보기

정답

① 일반화 ② 연관 ③ 의존

해설

일반화는 실선과 빈 삼각형, 연관은 실선, 의존은 보통 점선 화살표로 표현한다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 8

테스트·품질관리

로그인 기능의 테스트 케이스에 테스트 식별자와 목적을 적었다. 실행과 판정을 위해 추가할 항목을 네 가지 쓰시오.

정답·해설 보기

정답

예: 사전 조건, 입력 데이터, 실행 절차, 예상 결과

해설

정확한 명칭보다 재현 가능한 실행 방법과 성공 판정 기준이 담겼는지가 중요하다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 9

테스트·품질관리

입력 조건들의 논리적 조합과 그에 따른 출력 결과의 관계를 그래프로 모델링하고 테스트를 도출한다. 이 기법을 쓰시오.

정답·해설 보기

정답

원인–결과 그래프(Cause–Effect Graph) 기법

해설

입력 조건을 원인, 출력이나 동작을 결과로 두며 논리 관계와 제약을 표현한다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 10

정보보안

64비트 블록을 처리하고 유효 키 길이가 56비트인 오래된 대칭키 블록 암호를 쓰시오.

정답·해설 보기

정답

DES

해설

표현상 키에 패리티 비트를 포함하면 64비트지만 암호학적 유효 키는 56비트이다. 새 보안 설계에는 적합하지 않다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 11

프로그래밍 언어

다음 Java 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Java 21 기준이다.

public class Main {

    public static void main(String[] args) {
        int x=3;
        boolean a=x>2, b=x%2==0;
        System.out.print((a & b)+" "+(a | b)+" "+(a ^ b));
    }
}
정답·해설 보기

정답

false true true

해설

a는 참이다. 불리언 &는 둘 다 참일 때, |는 하나 이상 참일 때, ^는 두 값이 다를 때 참이다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 12

프로그래밍 언어

다음 C 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. C11, ASCII 문자 집합을 기준으로 한다.

#include <stdio.h>

int main(void) {
    int data[] = {5, 9, 12, 14};
    int *p=data+1;
    p[1] += 3;
    printf("%d %d %d", *p, *(p+1), data[3]-data[0]);
    return 0;
}
정답·해설 보기

정답

9 15 9

해설

p는 data[1]을 가리킨다. p[1]과 *(p+1)은 모두 data[2]이므로 같은 원소가 수정된다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 13

SQL·데이터베이스

아래 테이블에 다음 SQL을 실행했을 때 마지막 SELECT의 결과를 쓰시오. NULL은 결측값이며, 결과는 열을 공백으로 구분하고 행마다 줄을 바꾸어 적으시오.

Scores
idnameteamscorementor
1AriA67NULL
2BoraB621
3CianA671
4DaniBNULL2
5EvanA522
Teams
codebonus
A7
B12
C2
SELECT COUNT(*) FROM Scores s CROSS JOIN Teams t
WHERE s.score >= 62 AND t.bonus >= 5;
정답·해설 보기

정답

6

해설

CROSS JOIN은 모든 행 조합을 만든다. 두 조건이 서로 다른 테이블에 독립적으로 적용되므로 각각 조건에 맞는 행 수를 곱한다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 14

프로그래밍 언어

다음 Python 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Python 3 기준이다.

x = [4, 3]
y = x[:]
print(x == y, x is y, bool([]))
정답·해설 보기

정답

True False False

해설

리스트 슬라이스는 별도 리스트를 만든다. ==는 원소 내용을, is는 객체 동일성을 비교하며 빈 리스트의 불리언 값은 False이다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 15

소프트웨어 설계·구축

객체들의 공통 속성과 연산, 클래스 간의 관계를 정적으로 표현하는 UML 다이어그램을 쓰시오.

정답·해설 보기

정답

클래스 다이어그램

해설

클래스의 이름·속성·연산 구획 등을 표시한다. 시간 순서의 메시지 교환은 시퀀스 다이어그램의 관심사이다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 16

소프트웨어 설계·구축

부모 클래스가 객체 생성용 연산을 정의하고, 구체적으로 어떤 제품 객체를 만들지는 하위 클래스가 결정하게 한다. 패턴을 쓰시오.

정답·해설 보기

정답

팩토리 메서드(Factory Method)

해설

생성 패턴이다. 관련 제품군 전체를 만드는 인터페이스를 제공하는 Abstract Factory와 구별한다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 17

프로그래밍 언어

다음 C 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. C11, ASCII 문자 집합을 기준으로 한다.

#include <stdio.h>
struct Item { int count; double price; };

int main(void) {
    struct Item x={5, 3.5};
    struct Item *p=&x;
    p->count += 2;
    printf("%d %.1f", x.count, p->count*p->price);
    return 0;
}
정답·해설 보기

정답

7 24.5

해설

구조체 포인터 p는 x의 주소를 가진다. p->count 수정은 x.count에 반영되며, 수정된 개수와 단가를 곱한다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 18

SQL·데이터베이스

레코드의 키와 저장 위치를 별도 색인에 유지하여 레코드 접근을 빠르게 하는 파일 구성 방식을 쓰시오.

정답·해설 보기

정답

인덱스 파일(색인 파일)

해설

색인 탐색 후 레코드 위치로 접근한다. 추가 저장 공간과 색인 갱신 비용이 필요할 수 있다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 19

소프트웨어 설계·구축

명령어 문자열 대신 창·아이콘·메뉴·포인터 같은 시각적 요소로 시스템을 조작하는 사용자 인터페이스의 약어를 쓰시오.

정답·해설 보기

정답

GUI

해설

Graphical User Interface이다. 명령줄 기반 CLI와 구별한다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

2021년 3회 주제 · 연습 20

테스트·품질관리

하위 모듈부터 통합하여 테스트하고 아직 구현되지 않은 상위 호출부를 대체하려 한다. 통합 방식과 대체 도구를 쓰시오.

정답·해설 보기

정답

상향식 통합 테스트, 테스트 드라이버

해설

드라이버가 하위 테스트 대상에 입력을 전달하고 결과를 확인한다.

학습용 재구성 · 주제 참고: Life-Journey · 2021년 3회 비공식 복원 (새 창)

답안과 비교한 결과

답안과 확인 상태는 현재 브라우저에만 저장됩니다. ‘맞았어요’ 표시는 본인이 확인한 학습 기록이며 실제 시험 점수가 아닙니다.

카톡에서 정보 얻기