Unit 3 - Practice Quiz

INT363

1 What is the primary function of Docker in the context of microservices?

A. To replace the need for an operating system
B. To package applications and dependencies into a portable container
C. To act as a web server for static files
D. To manage physical hardware resources manually

2 Which of the following describes a key difference between Virtual Machines (VMs) and Containers?

A. Containers have their own guest operating system, while VMs share the host OS
B. VMs are more lightweight than containers
C. Containers share the host OS kernel, while VMs include a full guest OS
D. VMs spin up faster than containers

3 What is a Docker Image?

A. A running instance of a container
B. A writable layer on top of a file system
C. A read-only template used to create containers
D. A database used by Docker

4 Which file is used to define the instructions for building a Docker image?

A. docker-compose.yml
B. Dockerfile
C. package.json
D. container.conf

5 In a Dockerfile, which instruction initializes a new build stage and sets the base image?

A. START
B. IMPORT
C. FROM
D. BASE

6 What is the purpose of the 'EXPOSE' instruction in a Dockerfile?

A. It publishes the port to the host machine automatically
B. It documents that the container listens on the specified network ports at runtime
C. It creates a security vulnerability
D. It downloads external dependencies

7 Which Docker command is used to list all currently running containers?

A. docker list
B. docker ps
C. docker run
D. docker images

8 What is Container Orchestration?

A. The process of writing code for microservices
B. The automated management of the lifecycle of containers
C. The manual installation of Docker on servers
D. The creation of virtual machines

9 Which of the following is the most popular open-source platform for container orchestration?

A. Kubernetes
B. Jenkins
C. Ansible
D. Nagios

10 In Kubernetes architecture, what is a 'Pod'?

A. The master node controller
B. The smallest deployable unit used to encapsulate one or more containers
C. A storage volume
D. A network firewall rule

11 What is the role of the 'Control Plane' (formerly Master Node) in Kubernetes?

A. To run the actual application workloads
B. To manage the cluster, schedule pods, and maintain the desired state
C. To provide storage to containers
D. To act as a load balancer for external traffic only

12 Which component of the Kubernetes Control Plane is a key-value store used for all cluster data?

A. kube-scheduler
B. etcd
C. controller-manager
D. kube-proxy

13 What is the function of the 'kube-scheduler'?

A. It stores the cluster state
B. It executes the containers on the node
C. It assigns newly created Pods to nodes based on resource availability and constraints
D. It exposes the Kubernetes API

14 Which agent runs on every Kubernetes node and ensures that containers are running in a Pod?

A. kube-apiserver
B. etcd
C. kubelet
D. Cloud Controller Manager

15 What is a 'Service' in Kubernetes?

A. A background process in the Linux OS
B. An abstraction that defines a logical set of Pods and a policy to access them
C. A tool for building Docker images
D. A script that runs during startup

16 Which command line tool is used to communicate with the Kubernetes cluster?

A. docker-cli
B. k8s-run
C. kubectl
D. kube-admin

17 What is the purpose of 'Continuous Integration' (CI)?

A. To manually compile code before release
B. To automate the merging of code changes into a shared repository and running tests
C. To manage the physical servers in a data center
D. To deploy applications to production once a year

18 Which of the following is a benefit of Continuous Integration?

A. It allows developers to work in isolation for months
B. It detects integration errors early in the development cycle
C. It eliminates the need for version control
D. It slows down the development process

19 In the context of CI/CD, what is a 'Build Artifact'?

A. A bug found during testing
B. A compiled and packaged file (like a JAR or Docker Image) ready for deployment
C. The source code file
D. The documentation of the project

20 What is the difference between 'ADD' and 'COPY' in a Dockerfile?

A. COPY is deprecated; ADD is the new standard
B. ADD allows extracting tar files and downloading URLs, while COPY only copies local files
C. COPY is for Linux, ADD is for Windows
D. There is no functional difference

21 What is a 'Deployment' in Kubernetes?

A. A method to install Kubernetes
B. A resource object that manages ReplicaSets and provides declarative updates to Pods
C. A one-time job execution
D. A network policy

22 Which Kubernetes concept is used to isolate resources within the same cluster?

A. Nodes
B. Namespaces
C. Volumes
D. Ingress

23 What is 'Rolling Update' in the context of microservices deployment?

A. Shutting down all instances and starting new ones simultaneously
B. Gradually replacing instances of the old version with the new version
C. Deploying the new version to a separate environment for testing only
D. Reverting to a previous version manually

24 What is the purpose of a '.dockerignore' file?

A. To list the files that should be included in the image
B. To specify files and directories that should be excluded from the build context
C. To ignore errors during the build process
D. To list ignored users

25 In Kubernetes, what is a 'ReplicaSet' responsible for?

A. Exposing services to the internet
B. Ensuring a specified number of pod replicas are running at any given time
C. Storing configuration data
D. Managing user permissions

26 Which instruction in a Dockerfile defines the command to run when the container starts?

A. RUN
B. CMD
C. BUILD
D. EXEC

27 What is 'Blue-Green Deployment'?

A. Deploying only to users with blue or green screens
B. A technique where two identical environments exist, one running production (Blue) and one with the new version (Green)
C. A deployment that fails 50% of the time
D. Updating half the servers in the morning and half at night

28 What is the 'Docker Daemon'?

A. A background service that manages Docker objects like images, containers, and networks
B. The command line interface for Docker
C. The registry where images are stored
D. A container analysis tool

29 Which Kubernetes component exposes the Kubernetes API?

A. etcd
B. kube-apiserver
C. kubelet
D. kube-scheduler

30 What is the primary purpose of 'Docker Hub'?

A. To run containers on the cloud
B. A cloud-based registry service for sharing and storing Docker images
C. A tool to compile Java code
D. A local storage for Docker logs

31 What is a 'Canary Deployment'?

A. Releasing code to a small percentage of users before a full rollout
B. Releasing code only to internal developers
C. Deploying code without testing
D. Deploying to a bird-themed server

32 Which Docker command creates an image from a Dockerfile?

A. docker create
B. docker build
C. docker commit
D. docker image-maker

33 What does the 'WORKDIR' instruction do in a Dockerfile?

A. It installs a worker process
B. It sets the working directory for any RUN, CMD, ENTRYPOINT, COPY and ADD instructions that follow
C. It creates a new user
D. It defines the network mode

34 In Kubernetes, what is an 'Ingress'?

A. A storage volume
B. An API object that manages external access to the services in a cluster, typically HTTP
C. A type of container image
D. A security credential

35 What is the role of 'kube-proxy'?

A. To store cluster data
B. To maintain network rules on nodes allowing network communication to your Pods
C. To schedule pods
D. To build container images

36 Why is immutability important in container images?

A. It allows the image to be changed easily at runtime
B. It ensures that the container runs exactly the same way in every environment
C. It makes the image size larger
D. It prevents the image from being deleted

37 Which CI tool is widely used for building and testing software projects continuously?

A. Jenkins
B. Excel
C. Photoshop
D. Zoom

38 What is a Multi-stage build in Docker?

A. Building an image on multiple computers at once
B. A method to reduce image size by using multiple FROM instructions and copying artifacts between stages
C. Building multiple images for different OS versions
D. Running a build for more than 24 hours

39 What is the relationship between a Pod and a Node in Kubernetes?

A. A Node runs inside a Pod
B. They are the same thing
C. A Pod runs on a Node
D. A Node is a type of storage for a Pod

40 Which Kubernetes object is used to store sensitive information like passwords or keys?

A. ConfigMap
B. Secret
C. Volume
D. Deployment

41 What does the 'ENV' instruction do in a Dockerfile?

A. Sets an environment variable
B. Installs a new environment
C. Ends the build process
D. Validates the environment

42 In the context of Docker, what is a 'Volume'?

A. The loudness of the container
B. A mechanism for persisting data generated by and used by Docker containers
C. A networking protocol
D. A CPU limit

43 What is the 'Self-healing' capability in Kubernetes?

A. The ability of the hardware to repair itself
B. The ability of Kubernetes to restart failed containers, replace them, and kill containers that don't respond to health checks
C. The ability of the code to fix syntax errors
D. The ability to automatically upgrade the operating system

44 Which of the following is a key principle of Continuous Integration?

A. Long-lived feature branches
B. Committing to the main branch frequently (at least daily)
C. Manual testing only
D. Deploying to production manually once a month

45 What is a 'ConfigMap' in Kubernetes?

A. A map of the physical network
B. An API object used to store non-confidential data in key-value pairs
C. A tool to map ports
D. A configuration file for the Docker daemon

46 What is the 'Sidecar' pattern in microservices deployment?

A. Running two different applications on the same server
B. Deploying a helper container alongside the main application container in the same Pod
C. Using a motorcycle for delivery
D. Backing up data to a side server

47 Which Docker command stops a running container?

A. docker pause
B. docker stop
C. docker end
D. docker halt

48 What is the difference between RUN and CMD in a Dockerfile?

A. RUN executes during the build phase; CMD executes when the container starts
B. CMD executes during the build phase; RUN executes when the container starts
C. They are identical
D. RUN is used for networking; CMD is for storage

49 In Kubernetes, what is a 'StatefulSet'?

A. A set of stateless web servers
B. A workload API object used to manage stateful applications
C. A set of static IP addresses
D. A configuration for stateless apps

50 What is the main advantage of using a 'Layered Architecture' in Docker images?

A. It looks better visually
B. It allows caching and reuse of layers, speeding up builds and reducing storage
C. It encrypts the data automatically
D. It allows the image to run on Windows and Linux simultaneously