TODO:
- add simple coding tasks (Python/Bash/Go)
Table of contents
-
How do you usually improve your work related knowledge?
-
You're a new hire, having not much knowledge on the company's infra specifics and your task is blocked by the lack of this knowledge. What do you do?
-
You're using open source tool in your job and found some missing capability (or bug) which prevents you from proper usage of the tool. What do you do?
-
Provide some examples of the job related achievements you are proud of. (Developed app, complex piece of automation etc.)
-
You need to collect your system/container/app logs centrally. What would you use for that? Why?
-
Why would you choose VMs over containers to run your workloads (projects, apps, services etc.) and vice a versa? Give some examples
-
You'd like to send email from your Python app using smtplib, it works for you locally but does not work from the docker container. Investigation steps please
-
Developer starts working on a brand new component, which things you need to think about right from the beginning?
- Why knowing development principles and patterns is important in DevOps either?
- What's OOP, name and shortly describe OOP principles.
- Which things you will check first of all, if you need to check the quality of some piece of code?
- What is list comprehension
- How do you ensure cleanup of temp resources on script failure?
- 8x8 board with numbers from 0 to 63. Calculate row,col location of provided number (Answer: function should. use floor division for rows and modulus division for cols)
-
Name essential components of the K8S control-plane
- What is:
- kube-apiserver
- kube-controller-manager
- kube-proxy
- kube-scheduler
- What is:
-
On prem Baremetal/VM: How do you implement PVs? (list tech stack)
-
On prem Baremetal/VM: How do you implement LoadBalancer Services? (list tech stack)
-
On prem Baremetal/VM: How do you implement dynamic DNS for Services and Ingresses? (list tech stack)
-
On prem Baremetal/VM: How do you implement authn for the user access? (list tech stack)
-
What is Linux IPVS? What it is used by the K8S for? (Service Endpoints) Alternative for the IPVS? (iptables - resource heavy)
-
Steps to change K8S API server configuration
-
Ways to authenticate in K8S?
- Can you create users in K8S?
-
readiness/liveness probes
- What is the DaemonSet?
- Does DaemonSet always schedules Pods on ALL the cluster nodes? Why?
- Difference between Deployment and StatefulSet
- Difference between ConfigMap and Secret
- What does Ingress Controller do?
- What does Service resource do?
- What are the types of Service resource?
- How do you ensure a Pod is running on specific node of K8S?
- How do you restart a Pod?
- Steps to deploy web service app into K8S?
- What is Kustomize?
- What is K8S operator?
Follow-the-thoughts practical questions
- Imagine you're trying to run a Pod and it stuck in the
CrashLoopBackOff
state. Describe the steps you'll follow to debug and fix that - Imagine you're trying to run a Pod and it stuck in the
ImagePullBackOff
state. Describe the steps you'll follow to debug and fix that - You have the NFS share on a standalone server and would like to make it available for several apps running in the K8S. What would you need for that? Describe step by step.
- What is Helm chart? Why do you need Helm charts?
- What is Helm value?
- Why would you choose Helm over Kustomize over operator?
- How do you deploy Helm charts?
- What is Docker container?
- What happens when you run
docker build
? - What is multistage Dockerfile and why it's needed?
- Why would you want to use VM instead of container? Why? Some example needed
- What is the difference between Docker container and plain process?
- How do you log container stdout/stderr to the syslog (journald)
- Kernel capabilities Docker relying on?
- Take some sample Dockerfile and ask about it
- Why do you need Docker Compose?
- What types of pipelines you know? (scripted, declarative) What's the difference?
- Proper way of providing credentials for the Jenkins jobs?
- Credentials plugin - is it safe to use?
- What are the pipeline libraries? Why would you use them?
- Where pipeline java/groovy code is executed, on master or on worker? (master)
- Is Jenkins a good solution to run Ansible on the number of the remote hosts? Why?
- How is Terraform different from Ansible?
- What is Terraform state?
- What's the difference between roles and playbooks
- Why do you need roles?
- Name some Ansible modules you were using
- Describe Ansible inventory types with examples
- Difference between include and import (take role as an example)
- Tools for Ansible role testing
- What is Hiera?
- Name some Puppet resources you were using
- Server boot steps - from pushing power btn to the OS command prompt
- What is process?
- What is under the /proc dir?
- What is inode?
- What is loadavg?
- Difference between loadavg and CPU usage
- What is atomic Linux distribution?
- What is LVM?
- Linux does not allow to unmount saying device is busy. What will you do?
- Linux is telling that network port is already busy. What will you do?
- How do you investigate 'permission denied error' while trying to run bash script?
- TCP/IP model layers and their purpose:
- Application
- Transport
- Internet
- Data link
- Physical network
- How to troubleshoot data inside network packets
- How to discover remote hosts and their open ports from the command line
- Unicast/multicast/broadcast addresses?
- TCP and UDP difference
- Linux is telling that network port is already busy. What will you do?
- What is the difference between git rebase and merge?
- How do you change the latest commit in your local branch?
- How do you change the latest commit which was already pushed to the remote?
- Describe essential components/endpoints needed to monitor K8S with Prometheus (kube-state-metrics, cAdvisor, kubelet, apiserver, node-exporter)
- Describe essential components/tools to monitor host with Prometheus
- Essential steps to configure Prometheus to monitor application
- What are the possible ways to make certain app compatible with the Prometheus?
- What is PKI (Public Key Infrastructure)?
- Steps to create your own CA and self-signed SSL cert?
- What are the key usage extensions of the certificates and how do you define them?
- What is SNI (Server Name Indication)?