Popular Questions in a Technical DevOps Interview

When applying for a job, almost everyone has to go through a technical interview as the first stage.

The next stage might be a test assignment, or there could be one or several more technical interviews. The process can differ in various companies, but in any case, it's worth studying the answers to popular questions in advance.

Today, I am publishing some of the most interesting questions:

  1. Which system call completes successfully, although its exit code is non-zero?

Answer: The fork() system call in Unix-like operating systems, such as Linux, creates a new (child) process by duplicating the current (parent) process. The successful execution of this system call has a unique property that differs from most other system calls: it returns different codes in the parent and child processes. In the parent process, fork() returns the PID (process identifier) of the new child process, which is a positive number. This allows the parent to identify and manage its child processes.

  1. What happens at the system level when you run ls -l in the terminal?

Answer: Briefly: Shell interpreter launch - Command parsing - Executable file search - New process launch - Process image replacement - Command execution - Result output - Process termination.

  1. What is the maximum number of processes that can be in the Running state?

Answer: The maximum number of processes in the RUNNING (R) state in a Linux system is determined by the system architecture and kernel configuration. At any given time, only one process can run per CPU core. All other processes are in the S/D state and waiting their turn to execute.

  1. What technologies underpin containerization?

Answer: Two key technologies underpin the container approach in Linux: Namespaces and Control Groups. Namespaces are used to isolate container processes from each other and from the host system. Control groups technology ensures the limitation and isolation of resource usage (such as CPU, memory, disk space, network, etc.) by each container.

Now about Kubernetes:

  1. What is a headless service?

Answer: A Headless Service is a special type of service in Kubernetes that does not have its own IP address for accessing it. Instead, it delegates management directly to the pods. It is most useful for applications where information can be on all nodes at once, and the load will be distributed among all nodes.

  1. How many nodes in an ETCD cluster are optimal to run?

Answer: A configuration of three nodes is often used, which allows the cluster to tolerate one node failure while still providing a good level of fault tolerance. For very high availability requirements, you might consider five nodes, which allows two nodes to fail without hindering the cluster's operation. There is no point in running more nodes to increase request processing speed.

✅ You can find the rest of the popular questions with detailed answers in my Devops Roadmap.