20252

20문제 · 2025-2

  1. #1·빈칸 채우기·난이도 보통·쪼잔함 3 (욕 나옴)데이터베이스

    다음은 파일 구조와 관련된 설명이다. 설명을 읽고, 괄호 안에 들어갈 가장 적절한 용어를 쓰시오.

    • 데이터베이스의 물리적 설계 시, 레코드에 접근하는 방법으로는 순차 접근 방식, ( ) 방식, 해싱 방식 등이 있다.
    • 이 중 ( ) 방식은 레코드의 키 값과 해당 레코드의 위치(포인터)를 쌍으로 묶어 저장하며, 검색 시 키 값을 기준으로 빠르게 탐색할 수 있도록 설계된다.
    • 이 방식은 검색 속도가 빠르며 <키 값, 포인터> 쌍으로 구성된 자료 구조를 사용하여 해당 키가 가리키는 주소를 통해 원하는 레코드를 직접 찾을 수 있다.
  2. #2··난이도 쉬움·쪼잔함 4 (화병)데이터베이스

    다음은 데이터베이스 릴레이션의 구성 요소 중 하나에 대한 설명이다. 설명을 읽고 [보기]에서 알맞은 기호를 골라 작성하시오.

    • 릴레이션(Relation)에서 열(Column)을 의미한다.
    • 각 열은 고유한 이름을 가지며 특정 도메인(Domain)에서 정의된 값을 갖는다.
    • 예를 들어 "고객" 릴레이션에서 고객번호, 이름, 주소 등은 각각 하나의 열이며 이 열들은 고객의 고유한 속성을 나타낸다.
    • 이 개념은 파일 구조에서의 필드(Field)에 해당하며 릴레이션에서 행(Row, Tuple)과 함께 릴레이션을 구성하는 요소이다.

    [보기]

    ㄱ. Cardinality ㄴ. Domain ㄷ. Attribute ㄹ. Degree ㅁ. Schema ㅂ. Tuple

    보기 펼치기

    ㄱ. Cardinality ㄴ. Domain ㄷ. Attribute ㄹ. Degree ㅁ. Schema ㅂ. Tuple

  3. #3·단답형·난이도 보통·쪼잔함 1 (그럭저럭)보안네트워크

    다음 내용에 알맞은 단어를 작성하시오.

    • 원격 접속과 관련된 프로토콜이며 암호화된 통신을 제공하는 보안 접속 프로토콜이다.
    • 공개키 기반의 인증 방식을 사용하여 암호화된 데이터를 전송한다.
    • 주로 원격 서버에 안전하게 접속할 때 사용되며 기본 포트 번호는 22번이다.
    • Telnet의 보안 취약점을 보완한 대안으로 널리 사용된다.
  4. #4·단답형·난이도 보통·쪼잔함 2 (짜증)운영체제

    스케줄링 알고리즘에 관한 다음 설명을 읽고 ①과 ②에 알맞은 스케줄링 알고리즘의 명칭을 각각 쓰시오.

    ① CPU burst 시간이 짧은 프로세스를 우선적으로 처리하는 스케줄링 방식이다. ② 위의 스케줄링 방식을 선점형으로 구현한 형태로 실행 중인 프로세스보다 더 짧은 burst 시간을 가진 프로세스가 도착하면 CPU를 선점한다.

  5. #5·코드 추적·난이도 어려움·쪼잔함 3 (욕 나옴)프로그래밍Java

    다음은 Java의 문제이다. 아래 코드를 보고 알맞은 출력값을 작성하시오.

    public class Main {
        public static void change(String[] data, String s) {
            data[0] = s; // ④
            s = "Z";     // ⑤
        }
        public static void main(String[] args) {
            String data[] = {"A"}; // ①
            String s = "B";        // ②
            change(data, s);       // ③
            System.out.print(data[0] + s); // ⑥
        }
    }
    
  6. #6·단답형·난이도 어려움·쪼잔함 2 (짜증)네트워크

    다음은 IP 주소와 서브넷마스크에 관한 문제이다. 호스트의 IP 주소가 223.13.234.132이고 서브넷 마스크가 255.255.255.192일 때 주어진 정보를 참고하여 괄호 안에 들어갈 알맞은 값을 쓰시오.

    • 이 호스트가 속한 네트워크 주소는 223.13.234. ( ① )이다.
    • 이 네트워크에서 사용할 수 있는 호스트 수는 ( ② )개이다. (단, 네트워크 주소와 브로드캐스트 주소는 제외한다.)
  7. #7·단답형·난이도 어려움·쪼잔함 4 (화병)소프트웨어공학디자인패턴

    다음은 디자인 패턴에 관한 문제이다. 아래 내용에 알맞은 단어를 작성하시오.

    • 이번 과제에 대한 접근을 제어하거나 추가적인 기능을 부여하기 위해 해당 객체의 대리 객체를 사용하는 방식의 디자인 패턴이다.
    • 실제 객체에 접근 전에 필요한 작업을 수행할 수 있으며 실제 객체의 생성을 지연시켜 메모리와 자원을 절약할 수 있다.
    • 또한, 실제 객체를 감추어 정보은닉을 강화할 수 있다는 장점이 있다.
  8. #8·단답형·난이도 보통·쪼잔함 2 (짜증)네트워크보안

    다음은 웹 데이터 방식에 관한 문제이다. 아래 설명을 읽고 괄호 안에 들어갈 용어를 쓰시오.

    ( ㉠ )은 웹 페이지 전체를 다시 불러오지 않고 JavaScript와 XML(또는 JSON)을 이용하여 일부 콘텐츠만 비동기적으로 갱신할 수 있는 기술이다. ( ㉠ )은 HTML만으로는 구현하기 어려운 동적인 기능들을 가능하게 하여 사용자가 웹 페이지와 보다 자유롭게 상호작용할 수 있도록 해주는 웹 개발 기법이다.

  9. #9·코드 추적·난이도 어려움·쪼잔함 3 (욕 나옴)프로그래밍Java

    다음 Java 언어의 문제이다. 아래 코드를 보고 알맞은 출력값을 작성하시오.

    public class Main {
        static interface F {
            int apply(int x) throws Exception;
        }
    
        public static int run(F f) {
            try {
                return f.apply(3);
            } catch (Exception e) {
                return 7;
            }
        }
    
        public static void main(String[] args) {
            F f = (x) -> {
                if (x > 2) {
                    throw new Exception();
                }
                return x * 2;
            };
    
            System.out.print(run(f) + run((int n) -> n + 9));
        }
    }
    
  10. #10·코드 추적·난이도 ·쪼잔함 3 (욕 나옴)프로그래밍Java

    다음 Java 언어의 문제이다. 아래 코드를 보고 알맞은 출력값을 작성하시오.

    public class Main {
        public static class Parent {
            public int x(int i) { return i + 2; }
            public static String id() { return "P"; }
        }
    
        public static class Child extends Parent {
            public int x(int i) { return i + 3; }
            public String x(String s) { return s + "R"; }
            public static String id() { return "C"; }
        }
    
        public static void main(String[] args) {
            Parent ref = new Child();
            System.out.println(ref.x(2) + ref.id());
        }
    }
    
  11. #11·단답형·난이도 어려움·쪼잔함 4 (화병)소프트웨어공학테스트

    다음 제어 흐름 그래프가 분기 커버리지(Branch Coverage)를 만족하기 위한 테스트 순서를 쓰시오.

  12. #12·코드 추적·난이도 ·쪼잔함 3 (욕 나옴)프로그래밍C언어

    다음 C언어의 문제이다. 아래 코드를 보고 알맞은 출력 값을 작성하시오.

    #include <stdio.h>
    #define SIZE 3
    
    typedef struct {
        int a[SIZE];
        int front;
        int rear;
    } Queue;
    
    void enq(Queue* q, int val) {
        q->a[q->rear] = val;
        q->rear = (q->rear + 1) % SIZE;
    }
    
    int deq(Queue* q) {
        int val = q->a[q->front];
        q->front = (q->front + 1) % SIZE;
        return val;
    }
    
    int main() {
        Queue q = {{0, 0, 0}, 0, 0};
        enq(&q, 1); enq(&q, 2); deq(&q); enq(&q, 3);
        int first = deq(&q);
        int second = deq(&q);
        printf("%d 그리고 %d", first, second);
        return 0;
    }
    
  13. #13·단답형·난이도 ·쪼잔함 2 (짜증)운영체제

    라운드로빈(RR) 방식을 이용하고 아래 내용을 참고하여 평균 대기 시간을 구하시오.

    • 4개의 프로세스가 다른 시간에 도착하며, 할당량은 4ms이다.
    • 스위칭 시간은 무시한다.
    프로세스도착시간실행시간
    P108
    P214
    P329
    P435
  14. #14·코드 추적·난이도 어려움·쪼잔함 3 (욕 나옴)프로그래밍C언어

    다음은 C언어의 문제이다. 아래 코드를 보고 알맞은 출력을 작성하시오.

    #include <stdio.h>
    
    struct dat {
        int x;
        int y;
    };
    
    int main() {
        struct dat a[] = {{1, 2}, {3, 4}, {5, 6}};
        struct dat *pptr = a;
        printf("%d 그리고 %d", a[1].x, a[1].y);
        return 0;
    }
    
  15. #15·코드 추적·난이도 어려움·쪼잔함 2 (짜증)프로그래밍Java

    다음은 Java 언어의 문제이다. 아래 코드를 보고 알맞은 출력을 작성하시오.

    public class Main {
        public static class BO {
            public int v;
            public BO(int v) {
                this.v = v;
            }
        }
    
        public static void main(String[] args) {
            BO a = new BO(1);
            BO b = new BO(2);
            BO c = new BO(3);
    
            BO[] arr = {a, b, c};
    
            BO t = arr[0];
            arr[0] = arr[2];
            arr[2] = t;
    
            arr[1].v = arr[0].v;
    
            System.out.println(a.v + "A" + b.v + "B" + c.v);
        }
    }
    
  16. #16·코드 추적·난이도 ·쪼잔함 4 (화병)프로그래밍C언어

    다음은 C언어의 문제이다. 아래 코드를 보고 알맞은 출력을 작성하시오.

    #include <stdio.h>
    #include <stdlib.h>
    
    struct node {
        int p;
        struct node *n;
    };
    
    int main() {
        struct node a = {1, NULL};
        struct node b = {2, NULL};
        struct node c = {3, NULL};
    
        a.n = &b;
        b.n = &c;
        c.n = NULL;
    
        c.n = &a;
        a.n = &b;
        b.n = NULL;
    
        struct node *head = &c;
        printf("%d %d %d", head->p, head->n->p, head->n->n->p);
        return 0;
    }
    
  17. #17·코드 추적·난이도 보통·쪼잔함 2 (짜증)프로그래밍Python

    다음은 Python 언어의 문제이다. 아래 코드를 보고 알맞은 출력값을 작성하시오.

    lst = [1, 2, 3]
    dst = {i: i * 2 for i in lst}
    s = set(dst.values())
    
    lst[0] = 99
    dst[2] = 7
    s.add(99)
    
    print(len(s & set(dst.values())))
    
  18. #18·코드 추적·난이도 ·쪼잔함 3 (욕 나옴)프로그래밍C언어

    다음은 C언어의 문제이다. 아래 코드를 보고 알맞은 출력값을 작성하시오.

    #include <stdio.h>
    #include <stdlib.h>
    
    struct node {
        char c;
        struct node* p;
    };
    
    struct node* func(char* s) {
        struct node* h = NULL, *n;
        while(*s) {
            n = malloc(sizeof(struct node));
            n->c = *s++;
            n->p = h;
            h = n;
        }
        return h;
    }
    
    int main() {
        struct node* n = func("BEST");
        while (n) {
            putchar(n->c);
            struct node* t = n;
            n = n->p;
            free(t);
        }
    }
    
  19. #19·단답형·난이도 보통·쪼잔함 1 (그럭저럭)네트워크보안

    다음은 TCP 통신 과정에서의 보안 취약점에 대한 설명이다. 이를 이용한 공격 기법은?

    • TCP 연결을 수립하기 위해 클라이언트가 서버에 SYN 패킷을 보내고 서버는 SYN-ACK 패킷으로 응답한 후 클라이언트가 다시 ACK 패킷을 보내는 3-way 핸드셰이크 과정을 가진다.
    • 이때 공격자는 클라이언트 역활로 수많은 SYN 패킷을 서버에 전송한 뒤 마지막 ACK 패킷을 고의로 보내지 않아서 서버가 연결 대기 상태를 계속 유지하게 만든다.
    • 이로 인해 서버의 연결 대기 큐가 가득 차면서 정상적인 접속 요청을 처리하지 못하게 되어 서비스 거부 상태가 발생한다.
  20. #20··난이도 쉬움·쪼잔함 1 (그럭저럭)데이터베이스SQL

    다음 테이블에서 πAAA(emp)에 대한 연산 결과를 작성하시오.

    emp

    사번이름AAA
    1해커스부장
    2달커스대리
    3별커스과장
    4땅커스차장