[2026실기] 2회
1. 다음은 블랙박스 테스트 기법에 대한 설명이다. 괄호 ( ) 안에 들어갈 말을 보기에서 골라 쓰시오.
| - ( )은 프로그램의 입력 조건을 유효한 값과 유효하지 않은 값의 영역으로 나누고, 각 영역을 대표할 수 있는 값을 선정하여 테스트 케이스를 설계하는 명세 기반(블랙박스) 테스트 기법이다. |
[표] 점수별 등급 기준
| 점수 | 등급 |
| 90 ~ 100 | A |
| 80 ~ 89 | B |
| 70 ~ 79 | C |
| 60 ~ 69 | D |
| 위 표에서 테스트 값으로 60을 입력하였을 때, 예상 결과와 실제 결과가 모두 등급 D로 일치하였다. 이는 ( ) 기법을 적용하여 각 등급 구간의 대표값을 테스트한 사례이다. |
<보기>
| ㄱ. 동치분할 (Equivalence Partitioning) ㄴ. 경계값분석 (Boundary Value Analysis) ㄷ. 결정테이블 테스트 (Decision Table Testing) ㄹ. 상태전이 테스트 (State Transition Testing) |
ㄱ. 동치분할 (Equivalence Partitioning)
2. 다음은 Java 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
class A {
private int a;
public A(int a) {
this.a = a;
}
void print() {
System.out.print(a + "a");
}
}
class B extends A {
private int b;
B(int a, int b) {
super(a);
this.b = b;
}
void print() {
super.print();
System.out.print(b + "b");
}
}
public class Main {
public static void main(String[] args) {
B obj = new B(10, 20);
obj.print();
}
}
3. 다음은 소프트웨어 모듈 간의 결합도(Coupling)에 대한 설명이다. 괄호 안에 들어갈 말을 보기에서 골라 기호로 쓰시오.
| - ( )는 한 모듈이 다른 모듈 내부에 있는 변수나 기능을 직접 참조하거나 사용하는 경우에 발생하는 결합도로, 결합도 종류 중 결합 강도가 가장 높은 형태이다. |
<보기>
| ㄱ. 자료결합도 (Data Coupling) ㄴ. 스탬프결합도 (Stamp Coupling) ㄷ. 제어결합도 (Control Coupling) ㄹ. 외부결합도 (External Coupling) ㅁ. 내용결합도 (Content Coupling) ㅂ. 공통결합도 (Common Coupling) |
ㅁ. 내용결합도 (Content Coupling)
4. 다음은 라우팅 프로토콜에 대한 설명이다. 괄호 안에 들어갈 알맞은 용어를 쓰시오.
| - ( )는 링크 상태(Link State) 알고리즘을 사용하는 대표적인 내부 라우팅 프로토콜(IGP)이다. 다익스트라(Dijkstra) 알고리즘을 이용하여 최단 경로를 탐색하며, 대규모 네트워크에 적합하고 멀티캐스트를 지원한다. |
OSPF (Open Shortest Path First)
5.다음은 파이썬 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
class LocationDict:
locations = {
"NYC": "New York",
"LON": "London",
"PAR": "Paris",
"TKY": "Tokyo"
}
tmpdict = LocationDict()
str01 = ""
for key, location in tmpdict.locations.items():
keyk = key[-1]
locationk = location[0]
str01 += keyk + locationk
print(str01, end="")
6.다음은 파이썬 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
a = "_THIS_IS_KIM_SPEAKING"
b = a[:4]
c = a[6:8]
d = a[18:]
e = b + c + d
print(e)
7. 다음은 C언어 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
#include <stdio.h>
typedef struct N {
int v;
struct N* a;
struct N* b;
} N;
int c = 0;
int ans = 0;
void pst(N *n) {
if (!n) return;
pst(n->a);
pst(n->b);
if (++c == 3) ans = n->v;
}
int main() {
N ne = {35, 0, 0};
N nd = {64, 0, 0};
N nc = {53, 0, 0};
N nb = {12, &ne, &nc};
N na = {21, &nb, &nd};
pst(&na);
printf("%d\n", ans);
return 0;
}
8. 다음 프로세스들을 SRT(Shortest Remaining Time) 스케줄링 기법으로 처리할 때, 평균 대기시간을 구하시오. (단위: ms)
| 프로세스 | 도착시간 | 버스트시간 |
| P1 | 0 | 8 |
| P2 | 1 | 4 |
| P3 | 2 | 9 |
| P4 | 3 | 5 |
6.5ms
9.다음은 C언어 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
#include <stdio.h>
void fn1(int* i) { *i = 50; }
void fn2(int i) { i = 60; }
void fn34(int* p) {
printf("3. %d\n", *p);
printf("4. %d\n", *(p + 3));
}
int main() {
int i = 30;
int list[] = {2, 4, 6, 8, 10};
fn1(&i);
printf("1. %d\n", i);
fn2(i);
printf("2. %d\n", i);
fn34(list);
return 0;
}
10. 다음은 네트워크 A, B, C에 속한 호스트의 IP 주소 목록이다. 괄호 안에 들어갈 수 있는 IP 주소를 각각 하나씩 쓰시오.
| 번호 | IP 주소 / 서브넷 |
| 1 | 192.168.35.3/24 |
| 2 | ( ) |
| 3 | 129.200.10.72/22 |
| 4 | ( ) |
| 5 | ( ) |
| 6 | 192.168.36.16/24 |
2. 192.168.35.72
4. 129.200.8.249
5. 192.168.36.249
11. 다음은 GoF(Gang of Four) 디자인 패턴에 대한 설명이다. 괄호 안에 들어갈 알맞은 용어를 쓰시오.
| - ( )는 서로 관련 있는 여러 객체(제품군)를 생성하기 위한 인터페이스를 제공하는 생성 패턴으로, Kit이라고도 불린다. 이 패턴을 사용하면 구체적인 클래스를 지정하지 않고도 연관된 제품군 전체를 한 번에 변경할 수 있다. |
추상 팩토리 (Abstract Factory)
12. 다음 <학생> 테이블에서 성이 '이'씨인 학생의 정보를 조회하되, 학번을 기준으로 내림차순 정렬하여 출력하고자 한다. SQL문의 괄호 안에 들어갈 알맞은 내용을 각각 쓰시오.
<학생>
| 학번 | 성명 | 학과 |
| 2020001 | 이몽룡 | 컴퓨터공학과 |
| 2020002 | 김철수 | 전자공학과 |
| 2020003 | 이순신 | 정보통신공학과 |
| 2020004 | 박영희 | 컴퓨터공학과 |
SELECT * FROM 학생
WHERE 성명 LIKE '(1)'
ORDER BY 학번 (2);
1. 이%
2. DESC
13. 다음 <A>, <B> 테이블과 SQL문을 참고하여, SQL문을 실행했을 때 출력되는 RESULT 값을 구하시오.
<A>
| id | x |
| 1 | 10 |
| 2 | 20 |
| 3 | 30 |
| 4 | 40 |
<B>
| id | y |
| 1 | 5 |
| 2 | 15 |
| 3 | 20 |
| 4 | 35 |
| 5 | 50 |
SELECT COUNT(*) AS RESULT
FROM A
WHERE x > (
SELECT AVG(y)
FROM B
WHERE B.id IN (
SELECT A2.id
FROM A AS A2
WHERE A2.x < A.x
)
);
3
14. 다음 <A>, <B> 테이블과 SQL문을 참고하여, SQL문을 실행했을 때 출력되는 결과값을 구하시오.
<A>
| id | v |
| 1 | 10 |
| 1 | 20 |
| 2 | 30 |
<B>
| id | w |
| 1 | 100 |
| 3 | 300 |
| 4 | 400 |
SELECT COUNT(*)
FROM A
RIGHT OUTER JOIN B
ON A.id = B.id
WHERE A.id IS NULL;
2
15. 다음은 Java 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
class A {
int a;
private int b;
protected int c;
void set(int aa, int bb, int cc) {
a = aa;
b = bb;
c = cc;
}
int hap() { return a + b + c; }
}
class B extends A {
public int hap() { return a * c; }
}
public class Main {
public static void main(String[] args) {
A aaa = new A();
B bbb = new B();
aaa.set(1, 5, 3);
bbb.set(10, 30, 50);
System.out.print(aaa.hap() + bbb.hap());
}
}
16. 다음은 IP 주소 서브네팅(Subnetting)에 대한 설명이다. 물음에 답하시오.
10.0.0.0/27 네트워크를 동일한 크기의 2개 서브넷으로 분할하였다.
| - 첫 번째 서브넷: 10.0.0.0 ~ 10.0.0.15 - 두 번째 서브넷: 10.0.0.16 ~ 10.0.0.31 |
이때 10.0.0.1이 속한 서브넷의 프리픽스 길이(비트 수)를 구하시오.
28
17. 다음 설명에 해당하는 보안 기술 용어를 쓰시오.
| - 입력값의 길이와 상관없이 항상 정해진 길이의 결과값을 만들어내는 암호 기술이 있다. - 이 기술은 단방향성을 가지고 있어 결과값만으로는 원래의 입력값을 알아낼 수 없으며, 서로 다른 두 입력값이 같은 결과값을 만들어내는 경우가 최대한 발생하지 않도록 설계되어야 한다. |
이러한 성질을 가진 암호 기술을 무엇이라 하는가?
해시
18.다음은 C언어 코드에 대한 문제이다. 아래 코드를 확인하여 알맞는 출력값을 작성하시오.
#include <stdio.h>
int c(int n) {
if (n <= 1) return n;
return c(n - 1) + c(n - 3);
}
int main() {
printf("%d", c(5));
return 0;
}
19. 다음은 SEASON이라는 도메인을 정의하면서, 입력 가능한 값을 봄/여름/가을/겨울로 제한하는 SQL문이다. 괄호 안에 들어갈 알맞은 키워드를 쓰시오
CREATE DOMAIN SEASON AS VARCHAR(6)
( ) (VALUE IN ('spring', 'summer', 'autumn',
'winter'));
CHECK
20. 아래 표에서 나타나고 있는 정규형을 작성하시오.
| 고객아이디 | 강좌명 | 강사번호 |
| apple | 영어회화 | P001 |
| banana | 기초토익 | P002 |
| carrot | 영어회화 | P001 |
| carrot | 기초토익 | P004 |
| orange | 영어회화 | P003 |
| orange | 기초토익 | P004 |
제 3정규형