devops/SRE interview questions
Devops/SRE interview preparation questions
This repo is aggregated guide for preparation to Devops/SRE engineer interviewIf you want to thank the author https://www.buymeacoffee.com/mikonoid
Linux
History of OS
Explanation: https://www.geeksforgeeks.org/evolution-of-operating-system/
What is Linux Standard Base?
Explanation: https://en.wikipedia.org/wiki/LinuxStandardBase
Popular Linux Distributions
The most popular linux distros:
* Ubuntu * Centos * Fedora * Debian * OpenSuse * ArchLinux * Slackware
Comparison: https://www.howtogeek.com/191207/10-of-the-most-popular-linux-distributions-compared/
Linux boot process: from power up to login prompt
Explanation:
* BIOS * MBR * GRUB * Kernel * Init * Runlevel
https://www.thegeekstuff.com/2011/02/linux-boot-process/
What is inode?
Explanation: https://linoxide.com/linux-command/linux-inode/
Memory types in Linux
Explanation: https://linux-audit.com/understanding-memory-information-on-linux-systems/
What is sticky bit?
Explanation:
* https://en.wikipedia.org/wiki/Sticky_bit * https://www.geeksforgeeks.org/setuid-setgid-and-sticky-bits-in-linux-file-permissions/
What is Virtual memory?
Explanation:
* https://serverfault.com/questions/138427/what-does-virtual-memory-size-in-top-mean * https://elinux.org/images/4/4c/Ott.pdf
What is a swap space?
Explanation: https://itsfoss.com/create-swap-file-linux/
What is zombie process?
Explanation:
* https://en.wikipedia.org/wiki/Zombie_process * https://www.geeksforgeeks.org/zombie-processes-prevention/ * https://stackoverflow.com/questions/16944886/how-to-kill-zombie-process
File types in Linux
Explanation: https://www.linux.com/tutorials/file-types-linuxunix-explained-detail/
What is proc filesystem?
Explanation:
http://man7.org/linux/man-pages/man5/proc.5.html https://docs.kernel.org/filesystems/proc.html
Linux Process Monitor(TOP). Explain all information from top
Explanation:
https://www.maketecheasier.com/linux-top-explained/
What is the difference between hardlinks and symlinks?
Explanation:
https://medium.com/@307/hard-links-and-symbolic-links-a-comparison-7f2b56864cdd
What happens if you delete the root user?
Explanation:
* In most cases you will get unbootable system * https://askubuntu.com/questions/962660/what-happens-if-you-delete-the-root-user
What is a chroot?
Explanation:
https://www.howtogeek.com/441534/how-to-use-the-chroot-command-on-linux/
What is OOM and OOMkiller? How it OOM killer is working
Explanation:
* https://dev.to/rrampage/surviving-the-linux-oom-killer-2ki9 * https://www.percona.com/blog/2019/08/02/out-of-memory-killer-or-savior/
What is kernel panic?
Explanation:
* https://www.linuxjournal.com/content/oops-debugging-kernel-panics-0 * http://www.linuxandubuntu.com/home/things-to-know-about-linux-kernel-panic
What is 'nohup' used for?
Explanation:
https://www.computerhope.com/unix/unohup.htm
What can you do to restore deleted bash script(script is running but deleted by error)?
Explanation:
See filesystem /proc and find ID proccess in that directory should be script
What is RAID?
Explanation:
https://en.wikipedia.org/wiki/StandardRAIDlevels
What happens when a hardlink is removed?
Explanation:
The file will be deleted if you delete only the last hardlink to this file.
Imagine you executed command
chmod -x /bin/chmod. How to fix this?
Explanation:
Solution1:
cp /bin/cp /tmp/chmod cp /bin/chmod /tmp/chmod ./tmp/chmod 755 /bin/chmod
Solution2:
perl -e 'chmod(0755, "chmod")</code></pre>
Solution3: <pre><code class="lang-">/lib/ld-linux.so.2 /bin/chmod 755 /bin/chmod</code></pre>
</b></details>
<details> <summary>What is Load Average?</summary><br><b> Explanation:
http://www.brendangregg.com/blog/2017-08-08/linux-load-averages.html </b></details>
<details> <summary>What are cgroups?</summary><br><b> Explanation:
https://www.linuxjournal.com/content/everything-you-need-know-about-linux-containers-part-i-linux-control-groups-and-process </b></details>
Networking and Security
<details> <summary>What is NAT?</summary><br><b> Explanation:
* https://www.geeksforgeeks.org/network-address-translation-nat/ * https://www.comptia.org/content/guides/what-is-network-address-translation </b></details>
<details> <summary>What is VLAN?</summary><br><b> Explanation:
https://study-ccna.com/what-is-a-vlan/ </b></details>
<details> <summary>What is ARP?</summary><br><b> Explanation:
Address Resolution Protocol. https://en.wikipedia.org/wiki/AddressResolutionProtocol </b></details>
<details> <summary> How many layers are there under TCP/IP? Compare OSI and TCP/IP</summary><br><b> Explanation:
https://techdifferences.com/difference-between-tcp-ip-and-osi-model.html </b></details>
<details> <summary>Explain TCP 3-way handshake process</summary><br><b> Explanation:
https://www.geeksforgeeks.org/tcp-3-way-handshake-process/ </b></details>
<details> <summary>What is SSH and how does it work?</summary><br><b> Explanation:
https://www.ssh.com/ssh/command </b></details>
<details> <summary>Explain DNS records: SOA, PTR, A, MX, and CNAME</summary><br><b> Explanation:
https://www.presslabs.com/how-to/dns-records/ </b></details>
<details> <summary>How to check route table in Linux?</summary><br><b> Explanation:
netstat -rn
route -n
ip route list </b></details>
<details> <summary>Server1 can't reach to Server2. Describe possible reasons</summary><br><b> Explanation:
* Application layer: Check if servers are correctly configured and services up and running * Transport layer: Check ports, check ping from server to server * Network layer: Check firewall and networking setting. Also check routes, dns and ARP tables. </b></details>
<details> <summary>How to check all of open ports on server?</summary><br><b> Explanation:
* nmap - if you need check all ports for remote server * netstat - for localhost </b></details>
Programming
BASH
<details> <summary>How to check if the last command was run successfully?</summary><br><b> Explanation:
echo $? if returns 0 that last command executed successfully
</b></details>
<details> <summary>What is function? How to write a function?</summary><br><b> Explanation:
https://linuxize.com/post/bash-functions/ </b></details>
<details> <summary>Loops in BASH</summary><br><b> Explanation:
https://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-7.html </b></details>
<details> <summary> How would you compare two strings in a bash script?</summary><br><b> Explanation: Case1:
<pre><code class="lang-">#!/bin/bash
VAR1="string1" VAR2="string333"
if [ "$VAR1" = "$VAR2" ]; then echo "Strings are equal." else echo "Strings are not equal." fi</code></pre> Case2:
<pre><code class="lang-">[[ "string1" == "string2" ]] && echo "Equal" || echo "Not equal"</code></pre>
</b></details>
<details> <summary> How to print all array elements and their indexes?</summary><br><b> Explanation:
<pre><code class="lang-">#!/bin/bash array=("A" "B" "C" "X" ) echo ${array[0]}</code></pre>
</b></details>
<details> <summary>Print number from 1 to 10 using for loop</summary><br><b> Explanation:
<pre><code class="lang-">#!/bin/bash for i in {1..10}; do echo $i done</code></pre>
</b></details>
<details> <summary>How to debug a shell script ?</summary><br><b> Explanation:
Option
-x or -nv </b></details>
Python
<details>
<summary>Python for sysadmins</summary><br><b>
Explanation:
* https://realpython.com/ * https://python-for-system-administrators.readthedocs.io/en/latest/ </b></details>
<details> <summary>How to compile python application?</summary><br><b> Explanation:
There are two ways could go about to solve that problem:
- Use a static builder, like freeze, or pyinstaller, or py2exe
- Compile using cython
</b></details>
<details> <summary>What is PEP 8 and why is it important?</summary><br><b> Explanation:
* https://realpython.com/python-pep8/
</b></details>
Databases
<details> <summary>What is SQL?</summary><br><b> Explanation: * http://www.sqlcourse.com/intro.html </b></details>
<details> <summary>SQL vs NoSQL. Explain benefits of both</summary><br><b> Explanation:
* https://www.youtube.com/watch?v=ZS_kXvOeQ5Y * https://www.geeksforgeeks.org/difference-between-sql-and-nosql/ </b></details>
<details> <summary>What are tables and field?</summary><br><b> Explanation:
* https://intellipaat.com/blog/tutorial/sql-tutorial/tables-in-sql/ </b></details>
<details> <summary>What is an index?</summary><br><b> Explanation: * https://www.tutorialspoint.com/sql/sql-indexes.htm </b></details>
<details> <summary>What is primary key?</summary><br><b> Explanation: * https://www.w3schools.com/sql/sql_primarykey.ASP </b></details>
<details> <summary>What is database replication?</summary><br><b> Explanation:
* https://www.geeksforgeeks.org/data-replication-in-dbms/ </b></details>
<details> <summary>What is DynamoDB?</summary><br><b> Explanation:
* https://www.dynamodbguide.com/what-is-dynamo-db/ </b></details>
Version Control System (GIT)
<details> <summary>What is GIT?</summary><br><b> Explanation:
* https://git-scm.com/book/en/v2/Getting-Started-What-is-Git
</b></details>
<details> <summary> What are the benefits of using GIT?</summary><br><b> Explanation:
* Documentation * Markdown * Fully Distributed * Simplicity * Branching model * open source
</b></details>
<details> <summary>What is the difference between
git pull and git fetch ?</summary><br><b> Explanation:
* https://guide.freecodecamp.org/miscellaneous/git-pull-vs-git-fetch/
</b></details>
<details> <summary>What is the difference between
git reset and git revert ?</summary><br><b> Explanation:
* https://stackoverflow.com/questions/8358035/whats-the-difference-between-git-revert-checkout-and-reset
</b></details>
<details> <summary>What is
git rebase ?</summary><br><b> Explanation:
* https://www.atlassian.com/git/tutorials/rewriting-history/git-rebase
</b></details>
<details> <summary>How to reset last commit?</summary><br><b> Explanation:
*
git reset --hard HEAD~1 - not a true way cuz you will lost all changes * git revert ` - good way
for more https://stackoverflow.com/questions/927358/how-do-i-undo-the-most-recent-local-commits-in-git
Describe a dev/test/production workflow using GIT
Explanation:
* https://medium.com/@patrickporto/4-branching-workflows-for-git-30d0aaee7bf * https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
Containers
History of containers
Explanation:
* https://www.aquasec.com/blog/a-brief-history-of-containers-from-1970s-chroot-to-docker-2016/ * https://www.pluralsight.com/resources/blog/cloud/history-of-container-technology
What is LXC?
Explanation:
* https://linuxcontainers.org/lxc/introduction/
What is Docker?
Explanation:
* https://opensource.com/resources/what-docker
What are the advantages of using Docker container?
Explanation:
* https://dzone.com/articles/top-10-benefits-of-using-docker
Docker RUN vs CMD vs ENTRYPOINT
Explanation:
* https://goinbigdata.com/docker-run-vs-cmd-vs-entrypoint/
What is the difference between ADD and COPY in Dockerfile?
Explanation: * https://dev.to/lasatadevi/docker-cmd-vs-entrypoint-34e0
What is Docker registry?
Explanation:
Storage for docker images https://docs.docker.com/registry/
What is Docker volume?
Explanation:
* https://docs.docker.com/storage/volumes/
What is docker namespaces?
Explanation:
* https://success.docker.com/article/introduction-to-user-namespaces-in-docker-engine
Docker and OCI
Explanation:
* https://www.padok.fr/en/blog/container-docker-oci
What is docker multistage build? Create one example
Explanation:
* https://dev.to/brpaz/using-docker-multi-stage-builds-during-development-35bc
Kubernetes
Why we need container orchestration?
Explanation:
* https://opensource.com/life/16/9/containing-container-chaos-kubernetes
What is kubernetes?
Explanation: TODO
What are the features of Kubernetes?
Explanation:
* https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/ * Kubernetes in 5 minutes https://www.youtube.com/watch?v=PH-2FfFD2PU
What is POD?
Explanation:
* https://kubernetes.io/docs/concepts/workloads/pods/pod/
What is kubelet?
Explanation: * Kubelet - agent on a kubernetes cluster’s node that takes care of all activity on that node * https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/
What is kubectl?
Explanation:
* https://kubernetes.io/docs/reference/kubectl/overview/
What is CNI?
Explanation:
* https://www.dasblinkenlichten.com/understanding-cni-container-networking-interface/
What is headless service?
Explanation:
* https://dev.to/kaoskater08/building-a-headless-service-in-kubernetes-3bk8
What are the units of CPU and memory in POD definition?
Explanation:
* CPU is in milicores and memory in bytes * https://www.noqcks.io/notes/2018/02/03/understanding-kubernetes-resources/
How to deploy stateful application in Kubernetes?
Explanation:
* https://cloud.google.com/kubernetes-engine/docs/how-to/stateful-apps * https://kubernetes.io/docs/tasks/run-application/run-replicated-stateful-application/
How to expose Kubernetes service?
Explanation: * https://kubernetes.io/docs/tutorials/kubernetes-basics/expose/expose-intro/
Kubernetes deployments strategies: blue-green, canary, rolling
Explanation: * https://traefik.io/glossary/kubernetes-deployment-strategies-blue-green-canary/
Kubernetes etcd. How to backup etcd.
Explanation: * https://medium.com/@mehmetodabashi/backup-and-restore-etcd-cluster-on-kubernetes-93c19b1c070 * https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/
Custom Resource Definitions (CRD)
Explanation: * https://spacelift.io/blog/kubernetes-crd * https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/
NodePort vs ClusterIP
Explanation: * https://edgedelta.com/company/blog/kubernetes-services-types * https://kubernetes.io/docs/tutorials/kubernetes-basics/expose/expose-intro/
DEVOPS
12 Factors App
What is 12 Factor App methodology?
Explanation:
The 12 Factor App is a methodology for building software-as-a-service applications created by developers at Heroku. It provides best practices for building modern, scalable, maintainable applications.
* https://12factor.net/
What are the 12 factors?
Explanation:
1. Codebase - One codebase tracked in version control, many deploys 2. Dependencies - Explicitly declare and isolate dependencies 3. Config - Store config in the environment 4. Backing Services - Treat backing services as attached resources 5. Build, Release, Run - Strictly separate build and run stages 6. Processes - Execute the app as one or more stateless processes 7. Port Binding - Export services via port binding 8. Concurrency - Scale out via the process model 9. Disposability - Maximize robustness with fast startup and graceful shutdown 10. Dev/Prod Parity - Keep development, staging, and production as similar as possible 11. Logs - Treat logs as event streams 12. Admin Processes - Run admin/management tasks as one-off processes
* https://12factor.net/
Why is 12 Factor App important for DevOps?
Explanation:
The 12 Factor methodology aligns perfectly with DevOps principles: * Enables continuous deployment and delivery * Makes applications cloud-native and container-ready * Ensures portability between environments * Facilitates horizontal scaling * Improves maintainability and reduces technical debt * Supports automation and infrastructure as code
* https://www.redhat.com/en/topics/cloud-native-apps * https://12factor.net/
Explain Factor III: Config - Store config in the environment
Explanation:
Applications should store configuration in environment variables, not in code. This includes: * Database credentials * API keys and secrets * Hostnames for external services * Per-deploy values
Benefits: * Easy to change configuration without changing code * Configuration is not accidentally committed to version control * Works well with containers and orchestration systems
* https://12factor.net/config
Explain Factor VI: Processes - Execute the app as stateless processes
Explanation:
Applications should be stateless and share-nothing. Any data that needs to persist must be stored in a stateful backing service (database, cache).
Benefits: * Enables horizontal scaling * Makes applications resilient to failures * Simplifies deployment and rollback * Works well with container orchestration (Kubernetes)
* https://12factor.net/processes
Explain Factor X: Dev/Prod Parity - Keep environments similar
Explanation:
Keep development, staging, and production environments as similar as possible: * Time gap - Deploy code quickly (hours, not weeks) * Personnel gap - Developers deploy their own code * Tools gap - Use same tools/services in all environments
Benefits: * Reduces bugs from environment differences * Enables continuous deployment * Improves developer confidence * Containers and IaC help achieve this
* https://12factor.net/dev-prod-parity
Explain Factor XI: Logs - Treat logs as event streams
Explanation:
Applications should not manage log files. Instead, write all logs to stdout as a stream of events.
Benefits: * Simplifies application code * Enables centralized log aggregation (ELK, Splunk) * Works well with container orchestration * Logs can be routed to multiple destinations
Tools: Fluentd, Logstash, CloudWatch, Datadog
* https://12factor.net/logs
How do containers and Kubernetes support 12 Factor App?
Explanation:
Containers and Kubernetes are perfect for 12 Factor Apps: * Codebase - Dockerfile in Git repository * Dependencies - Isolated in container image * Config - ConfigMaps and Secrets * Backing Services - Services and external resources * Build/Release/Run - CI/CD pipelines with container registries * Processes - Pods are ephemeral and stateless * Port Binding - Services expose ports * Concurrency - Horizontal Pod Autoscaler * Disposability - Quick startup, graceful shutdown * Dev/Prod Parity - Same container in all environments * Logs - Container logs to stdout * Admin Processes - Jobs and CronJobs
* https://kubernetes.io/docs/concepts/
Config management
Ansible tutorials
Explanation:
* Ansible for Devops https://leanpub.com/ansible-for-devops * https://serversforhackers.com/c/an-ansible-tutorial * https://medium.com/quick-code/top-tutorials-to-learn-ansible-33afd23ea160
Salt tutorials
Explanation:
* https://docs.saltstack.com/en/master/topics/tutorials/walkthrough.html * https://www.digitalocean.com/community/tutorials/an-introduction-to-saltstack-terminology-and-concepts
Puppet tutorials
Explanation:
* https://www.guru99.com/puppet-tutorial.html
CI/CD
What is continuous integration?
Explanation:
* https://www.youtube.com/watch?v=_zCyLT33moA * https://www.atlassian.com/continuous-delivery/continuous-integration
What is continuous delivery?
Explanation:
* https://www.atlassian.com/continuous-delivery/principles/continuous-integration-vs-delivery-vs-deployment * https://aws.amazon.com/devops/continuous-delivery/
What is continuous deployment?
Explanation:
* https://www.atlassian.com/continuous-delivery/continuous-deployment
What are the benefits of CI/CD?
Explanation:
* https://www.katalon.com/resources-center/blog/benefits-continuous-integration-delivery/
Describe a simple CI/CD Pipeline
Explanation:
https://semaphoreci.com/cicd https://www.redhat.com/en/topics/devops/what-is-ci-cd
Describe deployment strategies
Explanation:
https://thenewstack.io/deployment-strategies
Jenkins tutorials
Explanation:
* https://www.udemy.com/share/101WuI/ * https://www.youtube.com/playlist?list=PL9ooVrP1hQOGM6eCsjnfAousUSvpqD8dW&ref=hackr.io * https://jenkins.io/doc/book/
K8S native CI/CD
Explanation:
* Tekton https://github.com/tektoncd * ArgoCD https://argoproj.github.io/argo-cd/ * JenkinsX https://jenkins-x.io/
Containerization & Orchestration
What is a container? How does it differ from a VM?
Explanation:
* https://www.docker.com/resources/what-container * https://www.backblaze.com/blog/vm-vs-containers/
What is Docker?
Explanation:
* https://docs.docker.com/get-started/overview/ * https://www.redhat.com/en/topics/containers/what-is-docker
Explain Docker architecture
Explanation:
* Docker daemon, Docker client, Docker registry * https://docs.docker.com/get-started/overview/#docker-architecture
What is the difference between Docker image and container?
Explanation:
* Image is a template, container is a running instance * https://stackoverflow.com/questions/23735149/what-is-the-difference-between-a-docker-image-and-a-container
What is Dockerfile? Explain best practices
Explanation:
* https://docs.docker.com/engine/reference/builder/ * https://docs.docker.com/develop/dev-best-practices/
What is Docker Compose?
Explanation:
* https://docs.docker.com/compose/
Docker multi-stage builds
Explanation:
* https://docs.docker.com/build/building/multi-stage/
What is Kubernetes?
Explanation:
* https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
Kubernetes architecture (Control Plane, Worker Nodes)
Explanation:
* https://kubernetes.io/docs/concepts/architecture/
What are Kubernetes pods, deployments, services, ingress?
Explanation:
* Pods: https://kubernetes.io/docs/concepts/workloads/pods/ * Deployments: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/ * Services: https://kubernetes.io/docs/concepts/services-networking/service/ * Ingress: https://kubernetes.io/docs/concepts/services-networking/ingress/
What is a namespace in Kubernetes?
Explanation:
* https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
ConfigMaps and Secrets in Kubernetes
Explanation:
* ConfigMaps: https://kubernetes.io/docs/concepts/configuration/configmap/ * Secrets: https://kubernetes.io/docs/concepts/configuration/secret/
What are StatefulSets and when to use them?
Explanation:
* https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
What is a DaemonSet?
Explanation:
* https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
Kubernetes persistent volumes and storage classes
Explanation:
* PV: https://kubernetes.io/docs/concepts/storage/persistent-volumes/ * Storage Classes: https://kubernetes.io/docs/concepts/storage/storage-classes/
What is Helm?
Explanation:
* https://helm.sh/docs/ * https://www.redhat.com/en/topics/devops/what-is-helm
Kubernetes resource limits and requests
Explanation:
* https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
Kubernetes networking model
Explanation:
* https://kubernetes.io/docs/concepts/cluster-administration/networking/
What are init containers?
Explanation:
* https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
Kubernetes probes (liveness, readiness, startup)
Explanation:
* https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
Monitoring & Logging
What is observability?
Explanation:
* https://www.ibm.com/cloud/learn/observability * Three pillars: metrics, logs, traces
What is Prometheus?
Explanation:
* https://prometheus.io/docs/introduction/overview/
Prometheus architecture and components
Explanation:
* https://prometheus.io/docs/introduction/overview/#architecture
What is Grafana?
Explanation:
* https://grafana.com/docs/grafana/latest/introduction/
ELK Stack (Elasticsearch, Logstash, Kibana)
Explanation:
* https://www.elastic.co/what-is/elk-stack
What is distributed tracing? Jaeger, Zipkin
Explanation:
* https://opentelemetry.io/docs/concepts/observability-primer/#distributed-traces * Jaeger: https://www.jaegertracing.io/ * Zipkin: https://zipkin.io/
Log aggregation vs log streaming
Explanation:
* Fluentd, Fluent Bit, Logstash comparison * https://logz.io/blog/fluentd-logstash/
What are SLI, SLO, SLA?
Explanation:
* https://cloud.google.com/blog/products/devops-sre/sre-fundamentals-slis-slas-and-slos * https://sre.google/sre-book/service-level-objectives/
What is APM (Application Performance Monitoring)?
Explanation:
* https://www.dynatrace.com/news/blog/what-is-apm-2/ * Tools: New Relic, Datadog, Dynatrace
GitOps
What is GitOps?
Explanation:
* https://www.gitops.tech/ * https://www.weave.works/technologies/gitops/
GitOps tools (ArgoCD, Flux)
Explanation:
* ArgoCD: https://argo-cd.readthedocs.io/en/stable/ * Flux: https://fluxcd.io/
Security & Compliance
What is DevSecOps?
Explanation:
* https://www.redhat.com/en/topics/devops/what-is-devsecops
Container security scanning (Trivy, Clair, Aqua)
Explanation:
* Trivy: https://github.com/aquasecurity/trivy * https://sysdig.com/learn-cloud-native/kubernetes-security/kubernetes-image-scanning/
What is SAST and DAST?
Explanation:
* https://www.synopsys.com/glossary/what-is-sast.html * https://www.microfocus.com/en-us/what-is/dast
Secret management (HashiCorp Vault, AWS Secrets Manager)
Explanation:
* Vault: https://www.vaultproject.io/ * AWS Secrets Manager: https://aws.amazon.com/secrets-manager/
What is RBAC in Kubernetes?
Explanation:
* https://kubernetes.io/docs/reference/access-authn-authz/rbac/
What are admission controllers in Kubernetes?
Explanation:
* https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/
Network policies in Kubernetes
Explanation:
* https://kubernetes.io/docs/concepts/services-networking/network-policies/
What is Pod Security Policy/Pod Security Standards?
Explanation:
* https://kubernetes.io/docs/concepts/security/pod-security-standards/
Version Control & Collaboration
Git branching strategies (GitFlow, trunk-based)
Explanation:
* https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow * https://trunkbaseddevelopment.com/
What is monorepo vs polyrepo?
Explanation:
* https://www.atlassian.com/git/tutorials/monorepos
Code review best practices
Explanation:
* https://google.github.io/eng-practices/review/
Service Mesh
What is a service mesh?
Explanation:
* https://www.redhat.com/en/topics/microservices/what-is-a-service-mesh
Istio overview
Explanation:
* https://istio.io/latest/docs/concepts/what-is-istio/
Linkerd overview
Explanation:
* https://linkerd.io/
Chaos Engineering
What is Chaos Engineering?
Explanation:
* https://principlesofchaos.org/ * https://www.gremlin.com/community/tutorials/chaos-engineering-the-history-principles-and-practice/
Chaos Engineering tools (Chaos Monkey, Gremlin, Litmus)
Explanation:
* Chaos Monkey: https://netflix.github.io/chaosmonkey/ * Gremlin: https://www.gremlin.com/ * Litmus: https://litmuschaos.io/
Infrastructure as code
Terraform questions
Terraform tutorials
Explanation:
* https://www.youtube.com/watch?v=TFLQcgZr0no * https://www.udemy.com/share/101ZdI/ * https://itnext.io/terraform-tutorial-part-1-intro-and-basic-concepts-7a27ae7722b6
What is terraform modules?
Explanation:
* https://www.freecodecamp.org/news/terraform-modules-explained/
What is ".terraform" directory?
Explanation:
".terraform" directory is a local cache where Terraform retains some files required for subsequent operations against this configuration. Its contents are not intended to be included in version control.
What is the usage of Terraform init?
Explanation:
init is a command used to initialize the Terraform code. Let's see the all usage of Terraform init command:
- Terraform init command is used to initialize the working directory containing Terraform configuration files.
- It is used for Plugin Installation.
- It is also used for Child Module Installation.
- It is used for Backend Initialization.
- You can safely run this command multiple times.
What do you understand by Terraform Backends? What are the most recommended Backends we should use?
Explanation:
backends are used to define where and how operations are performed, where state snapshots are stored, etc. Each Terraform configuration can specify a backend.
Reference:
- https://developer.hashicorp.com/terraform/language/settings/backends/configuration
What is terraform lock file?
Explanation:
- https://developer.hashicorp.com/terraform/language/files/dependency-lock
AWS Cloudformation
AWS CloudFormation
Explanation:
* https://www.youtube.com/watch?v=0Sh9OySCyb4 * https://www.simplilearn.com/tutorials/aws-tutorial/aws-cloudformation
Clouds
What is PaaS, SaaS, IaaS?
Explanation:
* https://www.ibm.com/cloud/learn/iaas-paas-saas
What is private cloud?
Explanation:
* https://azure.microsoft.com/en-us/overview/what-are-private-public-hybrid-clouds/
What is public cloud?
Explanation:
* https://azure.microsoft.com/en-us/overview/what-is-a-public-cloud/ * examples: AWS, GCP, DegitalOcean, Azure
What is cloud service?
Explanation:
* https://searchitchannel.techtarget.com/definition/cloud-services
What is serverless service?
Explanation:
* https://en.wikipedia.org/wiki/Serverless_computing
AWS tutorials
Explanation:
* https://medium.com/javarevisited/5-best-aws-courses-for-beginners-and-experienced-developers-to-learn-in-2021-563212409fbd * https://docs.aws.amazon.com/
Google Cloud tutorials
Explanation:
* https://www.udemy.com/topic/google-cloud/ * https://linuxacademy.com/course/google-cloud-data-engineer/
Openstack tutorials
Explanation:
The best resource with Openstack cources is LinuxAcademy https://linuxacademy.com/library/search/openstack/
Books and courses
- Brendan Gregg http://www.brendangregg.com/blog/index.html
- Systems Performance http://www.brendangregg.com/sysperfbook.html
- The Phoenix project https://www.amazon.com/Phoenix-Project-DevOps-Helping-Business/dp/1942788290/
- SRE https://landing.google.com/sre/books/
- Linux System Administration Handbook 5th by Evi Nemeth
- The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
- Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation by Jez Humble and David Farley