20233

20문제 · 2023-3

  1. #1·코드 추적·난이도 어려움·쪼잔함 2 (짜증)프로그래밍Java

    다음은 Java 코드이다. 올바른 출력 결과를 작성하시오.

    public class Main{
        public static void main(String[] args) {
            A b = new B(); // ①
            b.paint();     // ②
            b.draw();      // ⑦
        }
    }
    
    class A {
        public void paint() {
            System.out.print("A");
            draw();
        }
        public void draw() {
            System.out.print("B"); // ③
            draw();               // ④
        }
    }
    
    class B extends A {
        public void paint() {
            super.draw();         // ③
            System.out.print("C"); // ⑤
            this.draw();          // ⑥
        }
        public void draw() {
            System.out.print("D"); // 실행 시마다 D
        }
    }
    
  2. #2·빈칸 채우기·난이도 보통·쪼잔함 2 (짜증)보안

    다음에서 설명하는 용어를 [보기]에서 골라 기호를 작성하시오.

    • 사용자가 사용자 이름 및 암호와 같은 자격 증명을 공유하지 않고도 애플리케이션이 데이터 또는 리소스에 액세스할 수 있도록 권한을 부여할 수 있는 표준 프로토콜이다.
    • 사용자가 데이터에 대한 제어를 유지하면서 리소스에 대한 액세스 권한을 부여할 수 있는 안전하고 표준화된 방법을 제공하며, 액세스 토큰을 사용하여 타사 애플리케이션에 리소스에 대한 액세스 권한을 부여하는 매커니즘을 사용자에게 제공하는 방식으로 작동한다.
    • 사용자가 응용 프로그램에 대한 액세스 권한을 부여하면 응용 프로그램은 사용자를 대신하여 사용자의 리소스 또는 데이터에 액세스할 수 있는 액세스 토큰을 받는다.
    • 암호와 같은 사용자의 자격 증명은 타사 응용 프로그램과 공유되지 않으며, 클라우드 스토리지 서비스, 온라인 마켓플레이스 및 금융 서비스를 포함한 다른 많은 응용 프로그램 및 서비스에서도 사용된다.
    • Facebook, Twitter 및 LinkedIn과 같은 소셜 미디어 플랫폼에서 널리 사용되어 사용자가 소셜 미디어 데이터에 대한 액세스 권한을 타사 애플리케이션에 부여할 수 있도록 한다.
    • 타사 애플리케이션에 대한 사용자 자격 증명의 노출을 최소화하여 향상된 보안, 간소화된 애플리케이션 개발, 사용자가 리소스에 대한 액세스 권한을 쉽게 부여하거나 최소화할 수 있도록 하여 사용자 환경 등 여러 이점을 제공한다.
    보기 펼치기

    | 보기 | |---|---| | ㄱ. NFT | ㄴ. JWT | ㄷ. SAML | | ㄹ. accessToken | ㅁ. SSO | ㅂ. OIDC | | ㅅ. Authentication | ㅇ. OAuth | ㅈ. Cookie | | ㅊ. Refresh Token | | |

  3. #3·단답형·난이도 보통·쪼잔함 1 (그럭저럭)운영체제

    리눅스(Linux)에서 사용자에게 읽기/쓰기/실행 권한을 부여하고, 그룹에게는 읽기/실행을 부여하고, 그 이외에는 실행 권한을 갖는 test.txt 파일에 부여하는 명령어는 다음과 같다. 빈칸에 들어갈 답을 작성하시오. (8진법 사용)

    chmod ( 1 ) ( 2 ) test.txt

  4. #4·코드 추적·난이도 ·쪼잔함 4 (화병)프로그래밍C언어

    다음 C언어 코드의 출력 결과를 작성하시오.

    #include <stdio.h>
    
    int main() {
        int num = 10;
        typedef struct Data {
            char c;
            int *numPtr;
        } Data;
        Data d1;
        Data *d2 = malloc(sizeof(struct Data));
        d1.numPtr = &num;
        d2->numPtr = &num;
        printf("%d", *d1.numPtr);
        printf("%d", *(d2->numPtr));
        free(d2);
        return 0;
    }
    
  5. #5·빈칸 채우기·난이도 어려움·쪼잔함 3 (욕 나옴)프로그래밍C언어

    C언어에서 구조체의 멤버에 접근하기 위해 괄호 안에 들어갈 기호를 작성하시오.

    // 구조체 변수 접근 시
    struct_var.member;
    
    // 구조체 포인터 접근 시
    struct_ptr( 1 )member;
    
  6. #6·단답형·난이도 보통·쪼잔함 2 (짜증)데이터베이스SQL

    다음 빈칸에 들어갈 UNION 연산의 결과값을 작성하시오.

    NUMNUM
    13
    13
    24
    SELECT NUM FROM T1
    UNION
    SELECT NUM FROM T2
    ORDER BY A DESC;
    
  7. #7·빈칸 채우기·난이도 보통·쪼잔함 3 (욕 나옴)보안

    다음 설명은 서버 접근 통제의 유형이다. 괄호 안에 들어갈 용어를 작성하시오. (영어 약자로 작성하시오)

    1. ( ㉠ )은 규칙 기반(Rule-Based) 접근통제 정책으로, 객체에 포함된 정보의 등급과 접근 정보에 대해 주체가 갖는 접근 허가 권한에 의해 제한하는 방법이다.
    2. ( ㉡ )은 중앙 관리자가 사용자와 시스템의 상호 관계를 통제하며 조직 내 많은 역할(Role)에 기초하여 자원에 대한 접근을 제한하는 방법이다.
    3. ( ㉢ )은 신분 기반(Identity-Based) 접근통제 정책으로, 주체나 그룹의 신분에 근거하여 객체에 대한 접근을 제한하는 방법이다.
  8. #8·코드 추적·난이도 어려움·쪼잔함 2 (짜증)프로그래밍C언어

    다음 C 언어 코드에 알맞은 출력값을 작성하시오.

    #include <stdio.h>
    
    int f(int n) {
        if(n == 1) return 1;
        else return n * f(n - 1);
    }
    
    int main() {
        printf("%d", f(7));
        return 0;
    }
    
  9. #9·빈칸 채우기·난이도 어려움·쪼잔함 4 (화병)네트워크TCP/IP

    다음 설명에 대해 괄호 안에 알맞은 용어를 작성하시오. (영어 약자로 작성하시오)

    ( ㉠ )은 자료를 일정한 크기로 정하여 순서대로 전송하는 자료의 전송 방식이다.

    • 셀이라 부르는 고정 길이 패킷을 이용하여 처리가 단순하고 고속망에 적합하며, 연속으로 셀을 보낼 때 다중화를 하지 않고 셀 단위로 동기가 이루어지지만 경우에 따라 동기식 시간 분할 다중화를 사용하기도 한다.
    • 가상 채널(Virtual Channel) 기반의 연결 지향 서비스로, 셀이라 부르는 고정 길이(53바이트) 패킷을 사용하여 통신을 하며 계층 다중화 방식을 이용한다.
  10. #10·코드 추적·난이도 ·쪼잔함 3 (욕 나옴)프로그래밍C언어

    다음 C언어의 포인터 문제이다. 알맞은 출력값을 작성하시오.

    #include <stdio.h>
    
    int main() {
        char *p = "KOREA";
        printf("%s\n", p);
        printf("%s\n", p + 1);
        printf("%s\n", p + 3);
        printf("%c\n", *(p + 3));
        printf("%c\n", *(p + 4));
        return 0;
    }
    
  11. #11·코드 추적·난이도 ·쪼잔함 3 (욕 나옴)프로그래밍Java

    다음 Java 코드에 대한 알맞은 출력값을 작성하시오.

    class Parent {
        int compute(int num) {
            if(num <= 1)
                return num;
            return compute(num - 1) + compute(num - 2);
        }
    }
    
    class Child extends Parent {
        int compute(int num) {
            if(num <= 1)
                return num;
            return compute(num - 1) + compute(num - 3);
        }
    }
    
    public class Main {
        public static void main(String[] args) {
            Parent obj = new Child();
            System.out.print(obj.compute(7));
        }
    }
    
  12. #12·단답형·난이도 보통·쪼잔함 1 (그럭저럭)네트워크TCP/IP

    IP 패킷에서 외부의 공인 IP주소와 포트 주소에 해당하는 내부 IP주소를 재기록하여 라우터들을 통해 네트워크 트래픽을 주고받는 기능은 무엇인가?

  13. #13·코드 추적·난이도 어려움·쪼잔함 2 (짜증)프로그래밍Java

    다음 자바 코드를 실행할 경우 에러가 발생한다. 에러가 발생하는 라인을 작성하시오.

    class Person {
        private String name;
        public Person(String val) {
            name = val;
        }
        public static String get() {
            return name; // 오류 발생 지점
        }
        public void print() {
            System.out.println(name);
        }
    }
    
  14. #14·코드 추적·난이도 보통·쪼잔함 2 (짜증)프로그래밍Python

    다음 파이썬 코드에 대한 출력값을 작성하시오.

    print("파이썬 입출력에 대한 문제입니다.")
    # 입력값은 2와 3이다.
    num1, num2 = input().split() # 입력: 2 3
    num1 = int(num1)
    num2 = int(num2)
    num3 = num1 + num2
    print(str(num1) + "+" + str(num2) + "=" + str(num3))
    
  15. #15·단답형·난이도 보통·쪼잔함 2 (짜증)소프트웨어공학아키텍처

    다음은 패키지와 관련된 다이어그램이다. 해당 다이어그램의 명칭을 쓰시오.

    graph TD
        ordering -->|import| products
        pricing -->|import| products
    
  16. #16·빈칸 채우기·난이도 보통·쪼잔함 3 (욕 나옴)소프트웨어공학테스트

    다음 설명에 알맞은 답을 보기에서 골라 작성하시오.

    • 시스템이나 시스템 구성요소(component) 또는 소프트웨어 프로그램의 입력값과 출력값이 특정 그룹으로 분류되며, 분류된 그룹 내의 값들이 시스템에 의해 동일하게 취급된다는 특성을 이용하여 시험하는 기법
    • 최소한의 입력값으로 시스템을 시험하면서 유사한 답변이 나온다는 것을 가정하여 테스트하는 기법
    • 하나의 값은 그 분류 내 모든 값을 대표하는 것으로 간주하는 기법
    • 모든 입력값을 시험할 필요가 없게 하여 시험을 효율적으로 수행하도록 지원하는 기법
    • 일반적으로 경계값 분석기법(boundary value analysis)과 함께 테스트 케이스를 도출하는 데 사용하는 기법

    [보기] ㄱ. Equivalence Partitioning ㄴ. Statement Coverage ㄷ. Boundary Value Analysis ㄹ. Branch Coverage ㅁ. Error Guessing ㅂ. Condition Coverage ㅅ. Cause Effect Graph

  17. #17·빈칸 채우기·난이도 보통·쪼잔함 2 (짜증)네트워크os

    다음은 클라우드에 대한 유형 문제이다. 괄호 안에 알맞은 답을 [보기]에서 골라 작성하시오.

    구분애플리케이션데이터런타임미들웨어운영체제가상화서버스토리지네트워크
    OOOOOOOOO
    OOOOOXXXX
    OOXXXXXXX

    [보기]

    • IaaS
    • PaaS
    • SaaS
  18. #18·단답형·난이도 보통·쪼잔함 3 (욕 나옴)네트워크

    다음은 프로토콜 종류에 관한 설명이다. 알맞은 답을 작성하시오.

    • 최소 Hop count를 파악하여 라우팅하는 프로토콜이다.
    • 거리와 방향으로 길을 찾아가는 Distance Vector 방식이다.
    • 최단거리를 Hop count가 적은 경로를 택하여 라우팅하는 프로토콜로 Routing Table에 인접 라우터 정보를 저장하여 경로를 결정한다.
    • 최대 Hop count는 15로 거리가 짧기 때문에 IGP로 많이 이용하는 프로토콜이다.
  19. #19·빈칸 채우기·난이도 어려움·쪼잔함 4 (화병)데이터베이스sql

    다음은 관계대수에 대한 내용이다. [보기]에 알맞은 기호를 작성하시오.

    1. join: ( ㉠ )
    2. project: ( ㉡ )
    3. select: ( ㉢ )
    4. division: ( ㉣ )

    [보기] ㄱ. σ ㄴ. π ㄷ. ⨝ ㄹ. ÷

  20. #20·빈칸 채우기·난이도 보통·쪼잔함 2 (짜증)데이터베이스

    다음은 데이터베이스에 관련된 문제이다. 괄호 안에 알맞은 답을 쓰시오.

    ( ) 무결성은 관계 데이터베이스 관계 모델에서 2개의 관련 관계 변수(테이블) 간의 일관성(데이터)을 적용한다.

    • 종속 기본 키 또는 기본 키가 아닌 후보 키와 외래 키의 조합(열)의 값은 관계 변수의 부모가 되는 관계 변수의 기본 키 값 또는 기본 키가 아닌 후보 키 값으로 존재해야 한다.