wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

T2TEST

Total questions: 85

Worksheet time: 1hrs 4mins

Name
Class
Date
1.

Spring Boot에 대한 설명중 잘못된 것은?

a)

Spring Framework를 편리학 사용하는 방법 제공

b)

Spring 애플리케이션을 하나의 명령으로 실행 가능

c)

필요한 설정들을 모두 수동으로 구성

d)

필요한 라이브러리를 간편하게 추가하는 starter 제공

2.

의존성 주입에 대한 설명으로 맞는 것은?

a)

직접 클래스를 생성하여 할당한다

b)

Spring Bean으로 등록하지 않아도 자동으로 의존성이 주입된다.

c)

Spring Bean으로 등록하면 의존성이 자동으로 주입된다.

d)

Spring Framework를 직접 호출해서 주입해야 한다.

3.

의존성 관리 도구에 대한 설명으로 잘못된 것은?

a)

개발 시 필요한 라이브러리를 쉽게 추가할 수 있다

b)

Maven 은 DSL 로 작성하고, Gradle은 XML 로 작성된다.

c)

추가한 라이브러리를 자동으로 다운받고 구성해 준다

d)

Java 에서는 Gradle과 Maven 을 많이 사용한다.

4.

Spring Boot 에서 개발을 하는 것은 주로 어떤 것을 하는 것인가?

a)

Spring Bean 의 구현의 등록

b)

Spring IoC Container 구현

c)

Spring Framework 를 직접 호출하여 구현

d)

EJB (Enterprise Java Bean) 구현

5.

REST API 에 대한 설명으로 틀린 것은?

a)

REST 를 준수한다는 의미로 RestFul 이라고도 부른다

b)

URI 와 HTTP 메소드를 사용한다.

c)

상태를 저장하는 Staeful 하도록 설계하는 것이 권장된다.

d)

200 OK 와 같은 HTTP Status Code 를 응답으로 반환한다.

6.

REST API 설계 원칙이 아닌 것은?

a)

No Casheability

b)

Uniform interface

c)

Client-Server 아키텍처

d)

Stateless

7.

REST API 를 설계하기 위한 표준 사양서는?

a)

OpenAPI

b)

Spring

c)

Gradle

d)

Swagger UI

8.

REST API 를 설계할 떄 사용하는 도구는?

a)

Spring

b)

Gradle

c)

Swagger UI

d)

Swagger Editor

9.

다음 중 Spring Bean 으로 등록하기 위해 사용하는 애노테이션은?

a)

@RequestMapping

b)

@Api

c)

@Controller

d)

@ApiResponse

10.

10. Java 에서 사용하는 단위 테스팅 프레임워크는?

a)

Spring Boot

b)

JUnit

c)

Gradle

d)

Swagger

11.

Lombok 을 사용하는 이유로 제일 올바른 것은?

a)

모델 간 변환을 빠르게 구현하도록 해준다

b)

단순 반복적인 Getter, Setter 등의 작성을 빠르게 해준다

c)

Swagger UI 를 Spring App 에서 제공할 수 있게 해준다

d)

단위 테스트를 작성을 편리하게 해준다.

12.

다음 중 의존성 주입 시 사용할 수 있는 방법은?

a)

생성자 주입

b)

매소드 주입

c)

필드 주입

d)

생성자, 매소드, 필드 주입 모두

13.

Java 타입간의 매핑(또는 변환)을 간단하게 작성하기 위해 사용하는 라이브러리는?

a)

Lombok

b)

Hamcrest

c)

Springfox

d)

Mapstruct

14.

테스트 케이스 작성 시 실제 구현체가 아닌 가짜 구현체를 편리하게 작성하기 위해 사용하는 라이브러리는?

a)

Lombok

b)

Hamcrest

c)

Mockito

d)

Mapstruct

15.

Spring Boot App에서 설치 없이 간편하게 데이터베이스 기능을 사용할 수 있게 해주는 라이브러리는?

a)

Lombok

b)

Hamcrest

c)

Mockito

d)

H2

16.

SQL을 기반으로 Java 객체를 맵핑해 주는 Presistence Framework 는?

a)

MyBatis

b)

JPA

c)

Lombok

d)

H2

17.

REST API 설계 시 새로운 리소스를 생성할 때 사용하는 HTTP Method는?

a)

GET

b)

PUT

c)

POST

d)

DELETE

18.

여러 연산의 집합을 하나의 논리적인 단위로 구성하는 것은?

a)

Batch

b)

Transaction

c)

Spring Bean

d)

Dependency Injection

19.

REST API 설계 시 기존 리소스를 업데이트할 때 사용하는 HTTP Method 는?

a)

GET

b)

PUT

c)

POST

d)

DELETE

20.

다음 중 멱등성(Idempotency) 을 제공하지 않는 HTTP Method 는?

a)

GET

b)

PUT

c)

POST

d)

DELETE

21.

컨테이너를 실행하기 위해서는 컨테이너 이미지가 필요합니다.

이 컨테이너 이미지를 저장하고 공유/배포하기 위한 저장소를 무엇이라고 하나요?

a)

스위치 허브 (Switch Hub)

b)

도커파일 (Dockerfile)

c)

컨테이너 레지스트리

(Container reqistry)

d)

볼륨

(Volume)

22.

대표적인 가상화 기술로는 VM(Virtual Machine)과 Container 가 있습니다.

VM 과 Container 중 OS 커널 영역을 공유하고, 리소스 사용량이 더 적은것은

무엇인가요?

a)

VM (Virtual Machine)

b)

컨테이너 (Container)

23.

쿠버네티스 자체가 제공하는 기능이 아닌것은 무엇인가요?

a)

컨테이너의 자동 배포/롤백

b)

컨테이너의 자동 복구

c)

즉시 사용 가능한 Database 서비스

d)

서비스의 Discovery 및 Loadbalancing

24.

쿠버네티스 자체가 제공하는 기능이 아닌것은 무엇인가요?

a)

컨테이너의 자동 배포/롤백

b)

컨테이너의 자동 복구

c)

즉시 사용 가능한 Database 서비스

d)

서비스의 Discovery 및 Loadbalancing

25.

다음 설명을 포함하는 Kubernetes 의 워크로드는 무엇인가요?

- 지정된 Docker 이미지의 Container 를 배포한다

- 지정된 개수만큼의 복제본을 만든다

- 배포된 Container 의 롤백이 가능하다

a)

POD

b)

ReplicaSet

c)

Deployment

d)

Service

26.

다음 중 Kubernetes Cluster 외부의 Client 가 Cluster 내부의 POD 에 접근하기 위한

방법이 아닌것은 무엇인가요?

a)

ClusterIP Service

b)

NodePort Service

c)

Loadbalancer Service

d)

Ingress

27.

VPC는 기본적으로 외부(인터넷)과 통신이 단절되어 있습니다. VPC가 외부 인터넷과

통신하기 위해 필요한 서비스는 어느 것 일까요?

a)

NAT gateway

b)

Internet Gateway

c)

Route53

d)

subnet

28.

VPC 내에 프라이빗 서브넷에 생성한 instance에서 소프트웨어 패키지 업데이트를 위해 인터넷에 접근해야 한다. 다음 중 올바르게 조치한 답을 고르세요.

1. NAT gateway를 퍼블릭 서브넷에 생성한 후 프라이빗 서브넷에 연결된 라우팅 테이블에서 0.0.0.0/0을 목적지 주소로 하는 트래픽에 대해 NAT gateway id로 설정한다.

2. 인스턴스가 속한 프라이빗 서브넷에 연결되 라우팅 테이블에서 0.0.0.0/0을 목적지 주소로 하는 트래픽에 대해 Internet Gateway id로 설정한다.

3. NAT gateway를 인스턴스가 속한 프라이빗 서브넷에 생성한 후 프라이빗 서브넷에 연결된 라우팅 테이블에서 0.0.0.0/0을 목적지 주소로 하는 트래픽에 대해 NAT gateway id로 설정한다.

4. instance에 Elastic IP를 할당한다.

a)

1

b)

2

c)

3

d)

4

29.

Amazon Web Service(AWS)에서 제공하는 매니지드 쿠버네티스 서비스에서

관리해주는 쿠버네티스 구성 요소가 아닌것을 고르세요.

a)

API server

b)

coreDNS

c)

etcd

d)

worker node instance type

30.

terraform에서는 작성된 코드로 적용할 인프라 내역을 사전에 검토할 수 있습니다.

이를 수행하기 위한 명령어가 무엇인지 고르시오.

a)

terraform apply

b)

terraform state

c)

terraform plan

d)

terraform validate

31.

terraform 도구에 대한 설명으로 잘못된 것을 고르시오.

a)

생성할 자원의 의존성을 고려하여 순차적인 코드로 작성한다.

b)

tfstate 확장자를 가진 파일은 자동으로 생성된다.

c)

선언적(Declarative) 언어의 특징을 가진 오픈소스 소프트웨어이다.

d)

init, plan, apply 순서의 워크플로우를 제공한다.

32.

EC2 자원을 생성하는 로컬 환경의 테라폼 코드와 tfstate file, 인프라 환경이 동기화된

상태이다. 만약 tfstate file을 누군가 삭제한 후, 기존의 테라폼 코드를 다시 실행(apply)

하면 인프라가 어떻게 변경될지 고르시오

a)

어떤 변경도 발생되지 않는다.

b)

생성된 EC2는 삭제된다.

c)

새로운 EC2가 생성된다.

d)

생성된 EC2가 삭제되고 새로운 EC2가 생성된다.

33.

쿠버네티스 매니페스트 파일(쿠버네티스의 오브젝트를 생성하기 위한 메타 정보를

YAML이나 JSON으로 기술한 파일)을 쿠버네티스 클러스터에 배포하는 pull 방식의

배포 도구를 고르세요.

a)

grafana

b)

jenkins

c)

terraform

d)

argoCD

34.

GitOps의 방법론을 올바르게 실천하지 못한 예를 아래에서 고르세요.

1. 빌드 완료 후에 생성된 신규 어플리케이션 이미지를 빌드/배포 서버에서 쿠버네티스 환경에 kubectl 명령어를 통해 배포하도록 구성.

2. 쿠버네티스 매니페스트 파일을 변경 시 main branch에서 바로 작업하지 않고, 신규 브랜치 생성 후

main branch로 Pull Request, Merge 과정을 거쳐 운영 환경에 배포하도록 구성.

3. 어플리케이션 소스코드 Git repository와 쿠버네티스 매니페스트 Git Repository를 분리하여 구성.

4. argoCD, fluxCD와 같은 pull 방식의 agent를 쿠버네티스에 배포하여 구성.

a)

1

b)

2

c)

3

d)

4

35.

서비스 메쉬 서비스인 Istio의 트래픽 라우팅과 관련이 없는 resource를 하나를 고르세요.

a)

virtual service

b)

destination rule

c)

gateway

d)

NAT gateway

36.

마이크로 서비스 컴포넌트 간 트래픽과 서비스 메쉬를 시각화 및 모니터링 할 수 있는

도구는 다음 중 어느것인지 고르세요.

a)

kiali

b)

prometheus

c)

elastic search

d)

grafana

37.

데이터 마이그레이션 프로세스는 크게는 이관 전-이관-이관 후로 나눌 수 있다.

다음중 이관 전 단계에 해당되지 않는 것은?

a)

검증 단계

b)

평가 및 변환 단계

c)

탐색 단계

d)

계획 단계

38.

Oracle, PostgreSQL은 모두 테이블, 컬럼 등 객체 이름을 대문자로 변환하여 저장한다.

a)
b)
39.

Oracle, PostgreSQL은 모두 테이블, 컬럼 등 객체 이름을 대문자로 변환하여 저장한다.Oracle의 문자열 컬럼에 ''(빈문자열)을 입력하면 null으로 인식한다.

a)
b)
40.

AWS에서 스키마를 변환하는 데 도움을 주는 Tool의 이름을 고르세요.

a)

CDC

b)

SCT

c)

DMS

d)

DMA

41.

AWS, MS Azure, GCP는 모두 데이터 마이그레이션을 위한 서비스를 제공한다.

a)
b)
42.

public subnet 에 생성된 EC2 에서 인터넷 연결이 안된고 있다

무엇을 해야하는가?

1. public route table 에서 목적지 10.0.0.0/16이 NAT gateway 로 라우팅되어 있는지 확인

2. private route table 에서 목적지 0.0.0.0/0이 NAT gateway 로 라우팅되어

있는지 확인

3. public route table 에서 목적지 0.0.0.0/0이 Internet gateway 로 라우팅되어

있는지 확인

4. private route table 에서 목적지 10.0.0.0/16이 Internet gateway 로 라우팅되어

있는지 확인

a)

1

b)

2

c)

3

d)

4

43.

쿠버네티스의 완전한 관리형 서비스인 EKS(Elastic Kubernetes Service) 에 대한

설명으로 잘못된 것을 고르시오

a)

AWS 에서 Control plane 을 관리한다

b)

ekctl 명령어를 통해서 POD 상태를 조회한다

c)

AWS 의 IAM 서비스 연계하여 인증처리를 수행한다

d)

AWS 에서 Data plane 의 인스턴스 성능은 관리하지 않는다.

44.

AWS 에서 10.10.10.0/28 로 설정한 VPC 가 있다. VPC 안에 사용할수 있는

Private IP 는 몇개인지 고르시오

a)

11개

b)

12개

c)

13개

d)

14개

45.

Public Subnet에 있는 EC2 자원은 NAT Gateway를 통해서 연결된다.

a)
b)
46.

Bastion Server(EC2)는 Private Subnet에 있는 Admin Server(EC2) 를 접속하는

통로일 뿐이다.

a)
b)
47.

AWS 에서 10.0.0.0/28 CIDR로 구성된 서브넷이 있다.

해당 서브넷에서 사용가능한 Private IP는 총 11개이다.

a)
b)
48.

EKS 에 생성된 pod 정보를 조회하기 위해서는 ekctl get pod 명령을 실행한다

a)
b)
49.

EKS 는 Worker node 의 인스턴스 성능을 관리해준다.

a)
b)
50.

테라폼은 생성할 자원의 의존성을 고려하여 순차적으로 코드를 작성해야 한다.

a)
b)
51.

테라폼은 Windows, Mac, Linux 운영체제에서 수행가능한 오픈소스 소프트웨어이다.

a)
b)
52.

IaC 코드를 간소화하기 위해서 vars.tf 파일없이 terraform.tfvars 파일안에

필요한 변수를 정의하고 변수 값을 할당할 수 있다.

a)
b)
53.

terraform apply 수행 시의 출력 결과에는 terraform plan 수행결과가 포함된다.

a)
b)
54.

테라폼이 제공하는 일반적인 워크플로우 순서는

terraform init -> terraform plan -> terraform apply 이다.

a)
b)
55.

EC2 자원을 생성하는 Local Code 와 tfstate file, Infra 환경이

동기화된 상태에서 tfstate 파일을 실수로 삭제했다.

Local Code를 다시 실행(apply)하면 새로운 EC2 자원이 생성된다.

a)
b)
56.

Terraform의 Child module에서 작성한 output 코드는 주로 출력하기 위해서 작성한다.

a)
b)
57.

Git은 Distributed Version Controll System이다.

a)
b)
58.

git commit 명령어를 통해 local repo에 저장되는 파일은 staging area에 저장된 파일이다.

a)
b)
59.

GitOps의 대상은IaC만으로 한정된다.

a)
b)
60.

GitOps를 적용할 때 변경사항은 Engineer가 Infra에 직접 접속하여 반영한다.

a)
b)
61.

GitOps에서 Continuous Deployment로는 Push Type과 Pull Type 모두 가능하다.

a)
b)
62.

아래 예시에서 생성되는 Region은?

$ vi vars.tf

variable "aws_region" {

default = "ap-northeast-1"

type = string

}

$ vi terrform.tfvars

aws_region = "ap-northeast-2"

resource_prefix = "emarket-demo"

a)

ap-northeast-1

b)

ap-northeast-2

63.

Prometheus는 "Pull" 방식의 모니터링 도구이다.

a)
b)
64.

http_request_total offset 3m

위 PromQL의 의미는

"Metric Name이 http_request_total인

시계열 데이터의 지난 3분 동안 수집된 값을 선택한다" 이다.

a)
b)
65.

Elasticsearch의 "Field"는 데이터 저장 최소 단위로 RDB의 Row와 Mapping 되는 개념이다.

a)
b)
66.

OpenItacing의 개념에서 하나의 Tracesms 여러 개의 Span으로 구성될 수 있다.

a)
b)
67.

Spring Boot 의 장점이 아닌 것은 ?

a)

어플리케이션 개발 시 Dependency 라이브러리 설정을 일일이 추가해야 한다

b)

내장 WAS(Tomcat, Jetty 등)을 포함하고 있어 별도 설치없이 서버를 구동시킬 수 있다

c)

독립적으로 실행가능한 JAR 파일을 패키징하여 웹 어플리케이션을 실행할수 있다

d)

프로젝트에 추가된 라이브러리 기반으로 실행에 필요한 환경을 자동으로 설정해준다

68.

Spring Boot 에서 사용되는 라이브러리 의존성(Dependency) 관리도구를 선택하세요

a)

Maven, Gradle

b)

Helm

c)

Yum, APT

d)

npm

69.

다음 내용과 가장 부합되는 기술을 선택하세요

- Representation State Transfer 의 약자로 소프트웨어 프로그램 아키택처의 한 형식

- 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기때문에 웹의 장점을

최대한 활용할 수 있는 아키텍쳐 스타일

a)

WWW (Workd Wide Web)

b)

Swagger

c)

JSON

d)

REST

70.

REST 에 대한 설명중 틀린것은?

1. HTTP URI 를 통해 자원을 명시하고, HTTP Method (POST, GET, PUT, DELETE) 를 통해 해당 자원에 대한 CRUD OPERATION을 적용

2. 월드와이드웹(WWW) 과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 개발 아키텍쳐의 한 형식

3. 웹의 모든 자원에 고유한 ID 인 HTTP URI 를 부여

4. REST API 에서 사용되는 요청/응답 메시지는 JSON 포맷으로 표준화되어 있다

a)

1

b)

2

c)

3

d)

4

71.

Spring Boot 에서 개발을 하는것은 주로 어떤 것을 하는 것인가?

a)

Spring Bean 의 구현 및 등록

b)

Spring IoC Container 구현

c)

Spring Framework 를 직접호출하여 구현

d)

EJB (Enterprise Java Bean) 구현

72.

Database 에 대한 정보조회 및 수정을 하기위해 사용하는 Persistence Framework는?

a)

Spring Security

b)

Springfox

c)

MyBatis

d)

JUnit

73.

REST API 를 설계할때 사용하는 도구는?

a)

Swagger Code Generator

b)

Swagger Editor

c)

Swagger UI

d)

Springfox

74.

JWT 에 대한 설명으로 틀린것은?

a)

JWT는 한번 서명되면 내용을 변경할 수 없다.

b)

JWT는 ID만 가지고있고, 추가정보는 내부 DB 에 저장한다.

c)

JWT는 Stateless 한 서비스개발에 유용하다.

d)

WT는 HEADER + PAYLOAD + SIGNATURE 로 구성된다.

75.

Java 에서 단위테스트를 작성하기 위해서 사용하는 라이브러리는?

a)

JWT

b)

Spring Security

c)

MyBatis

d)

JUnit

76.

단위테스트를 작성할때 테스트 대상이 되는 클래스 외에 의존성을 가진 다른 클래스의

Mock-Up을 편리하게 작성하게 해주는 라이브러리는?

a)

Mockito

b)

JUnit

c)

Hamcrest

d)

AssertJ

77.

다음은 6R의 설명이 틀린 것은?

a)

Rehosting : Lift & Shift

b)

Replatforming : 클라우드 기반으로 변경하여 옮김(Container화, RDS 적용)

c)

Refactoring : 클라우드에 맞게 Application을 수정하여 최적화(MSA, NoSQL, Ojbect Storage 적용)

d)

Repurchase : 기존 시스템 폐기 및 SaaS 솔루션 선정 및 도입

e)

Retain : 시스템을 폐기하고 운영 종료

78.

Application Modernization 장점이 아닌 것은?

a)

API 기반의 Microservice 구조를 통해 확장성과 유연성을 확보

b)

Kubernetes 기반 Container 환경에서 자동화된 방식으로 운영

c)

DevOps 체계로 지속적이면서 신속한 개선이 가능

d)

사용자 편의성이 높은 MPA(Multiple Page Application) 방식의 웹앱과 Mobile UI가 포함

79.

Cloud Native의 설명이 잘못된 것은?

a)

클라우드 기반 Immurable Infrastructure 제공을 통해 회복성과 탄력성 확보

b)

Kubernetes 기반 Container 환경에서 수작업 방식으로 운영

c)

API 기반 Microservice 구조를 통해 확장성과 유연성 확보

d)

DevOps 체계로 지속적이면서 신속한 개선이 가능

80.

MSA 구축시 고려 사항이 아닌 것은?

a)

서비스 분할에 대한 점진적인 접근을 통해 그 효과를 체크하고 분할한다.

b)

MSA 로 원할하게 개발하고 운영하기 위한 기반 시스템과 인프라 준비가 필요하다

c)

조직 문화 및 지속적인 변경과 배포를 위한 DevOps/Agile 체계는 불필요하다

d)

Architecture Style, Design Patterns, Reference Architecture, Quality Attribute

81.

MSA 기반 Cloud Native Application 구현 단계별 테스크가 잘못된 것은?

1. 도입검토 : MSA 도입 요건 파악, 도입 적합성 검토, 서비스 후보 대상 도출

2. 분석 : 아키텍처 전략 수립 및 개발 표준 정의, Inner 아키텍처 구조 설계, Outer 아키텍처 구성 설계

3. 설계 : 서비스 기능 상세 설계, 서비스 배포 체계 설계(★), 서비스 개발표준 정의

4. 구축 : 코딩, 테스트

a)

1

b)

2

c)

3

d)

4

82.

다음에 해당하는 서비스 단계는 무엇인가?

-서비스 후보 간 호출 가능성 및 DB 연관도 등 Dependency 분석과 기술적 관점을 고려하여 서비스 재구성

a)

서비스 후보 정의

b)

서비스 식별

c)

서비스 검증

d)

서비스 확정

83.

다음에 해당하는 상호작용 스타일은?

- 클라이언트는 서비스에 일방으로 요청

a)

요청/응답

b)

요청/비동기 응답

c)

알림

d)

발행/구독

e)

발행/비동기 응답

84.

Microservice 도입시 데이터 아키텍처 고려 사항이 잘못된 것은?

a)

소스 코드 분리는 어렵지만, 데이터 분산 및 분리는 쉬움

b)

런타임에 데이터 구조를 바꾸기가 어려움

c)

공유 데이터 변경이 어려움

d)

데이터일관성을 유지하는 것이 어려움

85.

API Gateway의 설명이 잘못된 것은?

a)

다양한 클라이언트가 다양한 서비스에 액세스하기 위한 단일 진입점 제공

b)

API Gateway는 단일 layer로 구성되어야 한다.

c)

API Gateway는 뒷단의 서비스를 묶는 역할을 할 수 있다.

d)

API Gateway는 공통 기능을 제공해 줄 수 있다.