Flashcards (English)
BASICS:
Can you explain the role of the motherboard in a computer and mention some of its main characteristics?
The motherboard is the central component of a computer. It houses the processor, RAM, expansion cards, and ensures communication between these components. Motherboard characteristics vary depending on the model, but they generally include expansion ports, peripheral connectors, and a chipset that manages hardware interactions.
Can you explain what an operating system is and what its role is in a computer?
An operating system (OS) is software that manages a computer's hardware resources and provides an interface for interaction between the user and the machine. It manages memory, processor, storage, peripherals, and ensures program execution.
What are the main differences between a central processing unit (CPU) and a graphics processing unit (GPU), and when would it be advisable to use one over the other?
The main difference between a CPU and a GPU lies in their functions. A server cannot operate without a CPU. The CPU manages all the tasks necessary for the proper functioning of all server software. On the other hand, the GPU enables the CPU to perform simultaneous calculations.
How does the APT package management system work on Debian and what is its role?
APT (Advanced Package Tool) is a package management system that allows installing, updating, and removing software on a Debian system. It resolves dependencies between packages and ensures system integrity.
How does RAM contribute to a computer's performance, and what is its role during program execution?
RAM temporarily stores data and programs currently in use. It allows rapid data access, which improves performance by avoiding the need to use the hard drive for temporary data. The more RAM available, the more tasks a computer can handle simultaneously without slowing down.
Why is task automation using the command line interface (CLI) often preferred by Linux system administrators?
Automation with the CLI is preferred because it allows creating scripts and programs to perform repetitive tasks efficiently. This saves time and minimizes human errors.
Explain why the cd command is essential for navigating the directory structure.
The cd command allows changing the current directory, which is fundamental for moving through the file system and accessing other directories.
What does the mkdir command do and in what context can it be used?
mkdir allows creating new directories. It is essential for organizing and structuring files in the file system.
What is the role of the touch command and how can it be useful?
The touch command allows creating empty files or updating the modification date of an existing file. It is often used to create new files quickly.
How is the mv command useful for file management?
mv is used to move files and directories from one location to another, as well as to rename them. This allows efficiently reorganizing files in the file system.
What is the difference between the ps and top commands in terms of system process monitoring?
The ps command displays a static list of running processes, while top offers a dynamic real-time view of processes with frequent updates. top is ideal for real-time monitoring, while ps is useful for occasional snapshots.
How can the kill command be used to terminate a specific process? Can you give an example?
The kill command is used with the -9 option (SIGKILL) to force termination of a process by specifying its PID (process identifier). For example: kill -9 1234 will terminate the process with PID 1234.
It is used to send a signal to a process, generally to terminate it. It is often used to stop a process that is not responding or that needs to be stopped manually.
How can you search for a previously executed command in the history using the history command?
Use grep to search for a specific command in the history. For example, history | grep search will display all commands containing "search" in the history.
Example: history | grep ssh
What is the importance of command chaining (;, |, &&, ||) in command-line task execution?
Command chaining allows combining multiple commands to execute complex tasks. ; executes commands in sequence, | allows output redirection, && executes the second command if the first succeeds, and || executes the second command if the first fails.
What are the differences between a traditional hard disk drive (HDD) and a solid-state drive (SSD) in terms of performance and operation?
Traditional hard drives use rotating platters to store data, making them slower in read and write operations compared to SSDs, which use flash memory chips. SSDs are faster, quieter, and less sensitive to shocks, but they generally have lower storage capacity compared to HDDs at the same price.
What are the main operating system families and can you give an example of a system belonging to each family?
The main operating system families are: Unix (e.g., Linux, macOS), Windows (e.g., Windows 10), and embedded systems (e.g., Android). Each has its specific characteristics and usage.
What does the pwd command do and why is it important?
The pwd command displays the current working directory in the terminal. This is useful for knowing your location in the directory structure and for navigating efficiently.
TERRAFORM:
How does Terraform work?
Terraform works by defining configuration files that describe the resources to deploy, then executing them to plan and apply changes. It uses plugins to communicate with different cloud providers and maintains a state of the infrastructure configuration to ensure consistency and reproducibility.
Why is it useful to use templates in Terraform?
Templates in Terraform allow easily reusing code to deploy similar resources and configurations across different infrastructures. This saves time and ensures consistency between environments.
How can Terraform help manage large-scale infrastructures?
Terraform helps manage large-scale infrastructures by automating the configuration and deployment process, ensuring consistency and reproducibility of production environments, and providing tools to manage changes and updates at scale.
What is provisioning in Terraform?
Provisioning in Terraform is an optional step in which additional actions are performed on a resource after its creation or update. This may include executing scripts or commands to configure or install additional software.
Why do we use provisioning in Terraform?
Provisioning is used to automate the configuration and management of resources deployed with Terraform. It allows further customization of instances and environments, configuring them to meet the specific needs of an application or system.
How can Terraform help with collaboration between development and operations teams?
Terraform can help with collaboration between development and operations teams by allowing them to work on the same configuration files, share the same tools, and ensure that deployments are consistent and reproducible.
What is Terraform and why is it used?
Terraform is an open-source infrastructure management tool that allows defining, planning, and managing resources programmatically. It is used to automate infrastructure configuration and to ensure consistency and reproducibility of deployments.
What are the main benefits of using Terraform?
The main benefits of using Terraform include infrastructure automation, consistency and reproducibility of deployments, simplified infrastructure management, and the ability to manage resources across multiple cloud providers.
What is a Terraform module?
A Terraform module is a reusable set of configuration files that can be used to deploy specific resources or configurations. Modules allow code reuse and simplify infrastructure management.
How do you manage versions in Terraform?
Versions in Terraform are managed using version tags and version constraints in configuration files. This allows using specific versions of providers and modules to ensure compatibility and stability.
What is Terraform state?
Terraform state is a file that stores information about deployed resources and their current configuration. It is used to track changes and ensure consistency between the actual infrastructure and Terraform configuration.
Why is it important to secure Terraform state?
It is important to secure Terraform state because it can contain sensitive information, such as passwords and access keys. Additionally, Terraform state is used to manage resources, so loss or corruption of state can lead to infrastructure issues.
What is the difference between Terraform and other infrastructure management tools like Ansible?
The main difference is that Terraform is primarily designed for infrastructure provisioning and management, while Ansible is more focused on application configuration and management. Terraform uses a declarative approach, while Ansible uses an imperative approach.
How can you manage secrets in Terraform?
Secrets in Terraform can be managed using services like HashiCorp Vault, AWS Secrets Manager, or Azure Key Vault. Secrets should never be stored directly in configuration files or Terraform state.
What is a Terraform provider?
A Terraform provider is a plugin that allows Terraform to communicate with a specific cloud provider or service. Providers are responsible for managing resources and executing operations on the provider's infrastructure.
How do you handle errors in Terraform?
Errors in Terraform are handled using error management features, such as validation, state verification, and the terraform plan command to preview changes before applying them.
What is the difference between terraform apply and terraform plan?
terraform plan is used to preview changes that will be made to the infrastructure without applying them, while terraform apply is used to actually apply the changes to the infrastructure.
How can you test your Terraform configurations?
Terraform configurations can be tested using tools like Terratest, which allows writing automated tests for Terraform configurations. Additionally, terraform plan can be used to verify that configurations are valid before applying them.
What is an output in Terraform?
An output in Terraform is a value that is displayed after Terraform execution. Outputs are used to display information about deployed resources, such as IP addresses or resource identifiers.
How can you manage multiple environments (dev, staging, prod) with Terraform?
Multiple environments can be managed with Terraform using workspaces, different configuration files for each environment, or Terraform modules for each environment.
DOCKER:
What is Docker and why is it used?
Docker is a containerization platform that allows packaging applications and their dependencies into containers. It is used to ensure application portability, simplify deployment, and improve infrastructure utilization efficiency.
What is the difference between a Docker image and a Docker container?
A Docker image is a read-only template containing an application and its dependencies, while a Docker container is a running instance of an image. Images are used to create containers.
What is a Dockerfile?
A Dockerfile is a text file containing instructions for building a Docker image. It defines the application, dependencies, and configurations needed to create the image.
How does Docker help with application deployment?
Docker helps with application deployment by packaging applications and their dependencies into containers, ensuring consistency between development and production environments, and simplifying the deployment process.
What is the difference between Docker and virtual machines?
The main difference is that Docker uses containers that share the host operating system's kernel, while virtual machines run complete operating systems on hypervisors. Docker containers are lighter and faster to start than virtual machines.
What is a Docker volume?
A Docker volume is a mechanism for persisting data generated and used by Docker containers. Volumes allow data to persist even after a container is stopped or deleted.
What is Docker Compose?
Docker Compose is a tool for defining and running multi-container Docker applications. It uses a YAML file to configure application services and allows starting all services with a single command.
How do you share Docker images?
Docker images are shared using Docker registries, such as Docker Hub. Images can be pushed to a registry and pulled by other users to use them in their own environments.
What is a Docker registry?
A Docker registry is a storage and distribution service for Docker images. Docker Hub is the most popular public registry, but private registries can also be created.
What are the benefits of using Docker?
Benefits of using Docker include application portability, improved infrastructure utilization efficiency, simplified deployment, better isolation between applications, and consistency between development and production environments.
What is the difference between CMD and ENTRYPOINT in a Dockerfile?
CMD defines the default command to execute when a container starts, while ENTRYPOINT defines the executable that will run when the container starts. ENTRYPOINT is often used with CMD to provide default arguments.
How do you debug a Docker container?
A Docker container can be debugged using commands like docker logs to view container logs, docker exec to execute commands inside a running container, and docker inspect to view detailed information about a container.
What is a Docker network?
A Docker network is a mechanism that allows Docker containers to communicate with each other and with the outside. Docker offers several network types, such as bridge, host, and overlay networks.
How do you manage resources (CPU, memory) for Docker containers?
Resources for Docker containers are managed using resource limitation options, such as --cpus and --memory, which can be specified when creating or running a container.
What is multi-stage build in Docker?
Multi-stage build is a Docker feature that allows using multiple build stages in a single Dockerfile. This helps reduce final image size by including only necessary dependencies.
KUBERNETES:
What is Kubernetes and why is it used?
Kubernetes is a container orchestration platform that automates the deployment, scaling, and management of containerized applications. It is used to manage applications at scale and ensure high availability.
What is a Kubernetes pod?
A Kubernetes pod is the smallest deployable unit in Kubernetes. It represents a group of one or more containers that share storage and network resources.
What is the difference between a deployment and a pod in Kubernetes?
A deployment is a Kubernetes object that manages pods and ensures a specified number of pod replicas are running. A pod is a running instance of containers.
What is a Kubernetes service?
A Kubernetes service is an abstraction that defines a logical set of pods and an access policy for them. Services allow pods to communicate with each other and with the outside.
What are the main components of Kubernetes?
The main components of Kubernetes include the API server, scheduler, controller manager, etcd (distributed data store), and kubelet (agent running on each node).
What is a namespace in Kubernetes?
A namespace in Kubernetes is a mechanism for dividing cluster resources between multiple users or teams. It allows isolating resources and managing permissions.
What is a ConfigMap in Kubernetes?
A ConfigMap is a Kubernetes object that allows storing non-sensitive configuration data as key-value pairs. It is used to separate configuration from application code.
What is a Secret in Kubernetes?
A Secret is a Kubernetes object used to store sensitive information, such as passwords, tokens, and SSH keys. Secrets are encoded in base64 and can be mounted as volumes or environment variables.
How does Kubernetes ensure high availability?
Kubernetes ensures high availability using mechanisms like automatic replication, failover, self-healing, and distribution of pods across multiple nodes.
What is a ReplicaSet in Kubernetes?
A ReplicaSet is a Kubernetes object that ensures a specified number of pod replicas are running at all times. It is used to maintain application availability.
What is an Ingress in Kubernetes?
An Ingress is a Kubernetes object that manages external access to services in a cluster, typically HTTP and HTTPS. It provides load balancing, SSL termination, and name-based virtual hosting.
What is a DaemonSet in Kubernetes?
A DaemonSet is a Kubernetes object that ensures a copy of a pod runs on all (or some) nodes in the cluster. It is used to run system services on all nodes.
What is a StatefulSet in Kubernetes?
A StatefulSet is a Kubernetes object used to manage stateful applications. It ensures that pods are created in a specific order and have persistent identifiers.
How do you scale applications in Kubernetes?
Applications in Kubernetes are scaled using commands like kubectl scale or by modifying the number of replicas in deployment configurations. Kubernetes can also use autoscaling based on resource metrics.
What is a Persistent Volume (PV) in Kubernetes?
A Persistent Volume (PV) is a storage resource in Kubernetes that is provisioned by an administrator. PVs are independent of the pod lifecycle and are used to persist data.
What is a Persistent Volume Claim (PVC) in Kubernetes?
A Persistent Volume Claim (PVC) is a request for storage by a user. PVCs are bound to PVs and allow pods to use persistent storage.
What is the difference between a Node and a Cluster in Kubernetes?
A node is a worker machine in Kubernetes that runs pods, while a cluster is a set of nodes managed by Kubernetes to run containerized applications.
How do you update applications in Kubernetes?
Applications in Kubernetes are updated using rolling updates, which allow updating pods gradually without service downtime. This is managed by deployments.
What is kubectl?
kubectl is the command-line tool for interacting with Kubernetes. It is used to deploy applications, inspect cluster resources, view logs, and manage Kubernetes objects.
What are labels in Kubernetes?
Labels are key-value pairs attached to Kubernetes objects like pods, services, and deployments. They are used to organize and select groups of objects.
LINUX:
What is a Linux distribution?
A Linux distribution is a version of the Linux operating system that includes the Linux kernel, system utilities, applications, and a package manager. Popular examples include Ubuntu, Debian, CentOS, and Fedora.
What is the Linux kernel?
The Linux kernel is the core of the Linux operating system. It manages hardware resources, processes, memory, peripherals, and provides an interface for applications.
What is a shell in Linux?
A shell is a command-line interface that allows users to interact with the operating system. Popular shells include bash, zsh, and fish.
What is the difference between absolute path and relative path?
An absolute path specifies the complete location of a file or directory from the root directory (e.g., /home/user/file.txt), while a relative path specifies the location relative to the current directory (e.g., ./file.txt).
What is a symbolic link in Linux?
A symbolic link (symlink) is a special type of file that points to another file or directory. It acts as a shortcut and can span different file systems.
What is the chmod command used for?
The chmod command is used to change permissions of files and directories in Linux. It allows specifying read, write, and execute permissions for owner, group, and others.
What is the difference between chmod and chown?
chmod changes file and directory permissions, while chown changes the owner and group of a file or directory.
What are file permissions in Linux?
File permissions in Linux determine who can read, write, or execute a file. They are represented by three sets of permissions: for the owner, the group, and others.
What does the grep command do?
The grep command searches for text patterns in files. It is used to find specific strings or regular expressions in files or command output.
What is the difference between cat and less?
cat displays the entire content of a file at once, while less displays the content page by page, allowing navigation through the file.
What is the find command used for?
The find command searches for files and directories based on criteria such as name, size, modification date, or permissions.
What is a daemon in Linux?
A daemon is a background process that runs continuously and provides services or performs specific tasks. Examples include web servers (httpd), SSH server (sshd).
What is cron?
Cron is a time-based job scheduler in Linux. It allows users to schedule commands or scripts to run automatically at specified times or intervals.
What is the difference between a hard link and a symbolic link?
A hard link is a direct reference to the data of a file on disk, while a symbolic link is a reference to the path of another file. Hard links cannot cross file systems, but symbolic links can.
What is the sudo command?
The sudo command allows a user to execute commands with superuser (root) privileges. It is used to perform administrative tasks while maintaining system security.
What is the /etc/fstab file?
The /etc/fstab file contains information about file systems and their mount points. It is used to automatically mount file systems at boot.
What is the difference between /dev/null and /dev/zero?
/dev/null discards all data written to it, while /dev/zero provides an endless stream of null bytes. Both are special files used for various purposes.
What is SSH?
SSH (Secure Shell) is a network protocol that allows secure remote access to a computer. It provides encrypted communication and authentication.
What is the tar command used for?
The tar command is used to create, extract, and manipulate archive files. It is often used to compress and decompress files for backup or distribution.
What is the difference between wget and curl?
Both wget and curl are used to download files from the web, but curl is more versatile and supports more protocols. wget is simpler and better for recursive downloads.
What is a package manager?
A package manager is a tool that automates the installation, updating, and removal of software packages on a Linux system. Examples include apt (Debian/Ubuntu), yum (CentOS/RHEL), and dnf (Fedora).
What is the systemctl command?
The systemctl command is used to manage systemd services in Linux. It allows starting, stopping, enabling, disabling, and checking the status of services.
What is a process in Linux?
A process is an instance of a running program. Each process has a unique identifier (PID) and can spawn child processes.
What is the difference between foreground and background processes?
A foreground process runs in the terminal and receives input from the user, while a background process runs independently and doesn't block the terminal.
What does the df command do?
The df command displays information about disk space usage on file systems. It shows the total, used, and available space.
What does the du command do?
The du command estimates file and directory space usage. It is used to find which files or directories are consuming the most disk space.
What is the difference between user permissions, group permissions, and other permissions?
User permissions apply to the file owner, group permissions apply to the file's group owner, and other permissions apply to all other users on the system.
HOSTING AND CLOUD:
What is IaaS (Infrastructure as a Service)?
IaaS is a cloud computing model in which service providers make computing resources available, such as servers, networks, and storage, allowing users to create their own infrastructure.
What is PaaS (Platform as a Service)?
PaaS is a cloud computing model in which service providers offer a platform for developing, deploying, and managing applications.
What are the risks associated with using cloud hosting services?
Risks associated with using cloud hosting services include data security, service availability, loss of control over data, and hidden costs.
What tools are available for managing cloud services?
Tools available for managing cloud services include dashboards, automation tools, monitoring tools, and cost management tools.
How do cloud providers ensure data security?
Cloud providers ensure data security by using encryption techniques, access control, activity monitoring, data backup and recovery, and strict security policies.
How can cloud hosting services help businesses grow?
Cloud hosting services can help businesses grow by offering rapid scalability, increased flexibility, high availability, improved security, and simplified operations management, allowing businesses to focus on their growth and development.
What is multi-region availability?
Multi-region availability is a feature offered by cloud hosting providers that allows businesses to deploy their applications in different geographic regions to improve resilience and service availability.
What is a cloud provider?
A cloud provider is a company that offers cloud computing services, such as storage, data management, and computing solutions, via a network of remote servers.
What is SaaS (Software as a Service)?
SaaS is a software distribution model in which users access applications via the Internet, rather than installing them locally on their computer.
What are the main cloud hosting providers?
The main cloud hosting providers are Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), and IBM Cloud.
What is auto-scaling?
Auto-scaling is a feature offered by cloud hosting that allows an application to automatically adapt to variable demand by adjusting allocated resources in real-time.
How do cloud hosting services work?
Cloud hosting services work by using remote servers to store, manage, and process business data and applications, which are accessible via the Internet.
What is Continuous Deployment?
Continuous Deployment is a software development approach that involves automating the process of deploying new software versions to cloud servers.
What are the different types of cloud services offered by cloud providers?
The different types of cloud services offered by cloud providers include storage services, infrastructure services, platform services, and software services.
Why do businesses opt for cloud services?
Businesses opt for cloud services for various reasons, including reducing infrastructure costs, improving flexibility and agility, increasing data security and availability, and simplifying operations management.
What are the advantages of using a cloud provider?
Advantages of using a cloud provider include high availability, rapid scalability, improved security, increased flexibility, and simplified operations management.
How do you choose a cloud provider?
Choosing a cloud provider depends on the company's specific needs, such as security requirements, costs, availability, and features offered.
What is hybrid cloud?
Hybrid cloud is a cloud computing model that combines resources and services from different types of clouds, such as public cloud and private cloud.
What is private cloud?
Private cloud is a type of cloud computing where resources and services are dedicated to a single company or user, via a network of remote servers.
What are the advantages of container orchestration?
Advantages of container orchestration include reduced infrastructure costs, better scalability and flexibility, increased data security and availability, and simplified operations management.
What are the advantages of cloud hosting over traditional hosting?
Cloud hosting offers greater flexibility and scalability, better availability and resilience, and simplified resource management.
What is public cloud?
Public cloud is a type of cloud computing where resources and services are shared among multiple companies or users, via a network of remote servers.
What is container orchestration?
Container orchestration is the automated management of container deployments and operations, allowing developers to efficiently deploy and manage applications on cloud infrastructure.
What is hosting?
Hosting is the provision of computing resources (servers, storage, bandwidth, etc.) to make websites or applications accessible on the Internet.
No comments to display
No comments to display