diff --git a/README.md b/README.md index 67c9cdb..5e40c38 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ :information_source:  This repo contains questions and exercises on various technical topics, sometimes related to DevOps and SRE :) -:bar_chart:  There are currently **1013** questions +:bar_chart:  There are currently **1035** questions :warning:  You can use these for preparing for an interview but most of the questions and exercises don't represent an actual interview. Please read [Q&A](common-qa.md) for more details @@ -64,6 +64,7 @@ Databases
Databases
RegEx
Regex

Beginner :baby:
Design
Design
+ Hardware
Hardware
you
Questions you ask
Exercises
Exercises
@@ -1873,7 +1874,15 @@ This is a great article on the topic: https://www.computerhope.com/jargon/f/file Do you have experience with hardening servers? Can you describe the process?
-##### Network +##### Linux - Networking + +
+How to list all interfaces?
+
+ +
+How to disable an interface?
+
What is a network namespace? What is it used for?
@@ -1898,6 +1907,12 @@ lsof -i -n -P | grep What is a virtual IP? In what situation would you use it?
+
+True or False? The MAC address of an interface is assigned/set by the OS
+ +False +
+
Can you have more than one default gateway in a given system?
@@ -2032,6 +2047,12 @@ Upstart: add Upstart init script at /etc/init/service.conf What is CUPS?
+
+What types of web servers are you familiar with?
+ +Nginx, Apache httpd. +
+ ##### Users
@@ -2046,12 +2067,16 @@ Upstart: add Upstart init script at /etc/init/service.conf How do you change/set the password of a user?
+
+Which file stores users passwords? Is it visible for everyone?
+
+
Do you know how to create a new user without using adduser/useradd command?
-What information is stored in /etc/passwd?
+What information is stored in /etc/passwd? explain each field
@@ -2068,6 +2093,10 @@ su command. Use su - to switch to root
+
+What is the UID the root user? What about a regular user?
+
+
What can you do if you lost/forogt the root password?
@@ -2078,6 +2107,10 @@ Re-install the OS IS NOT the right answer :) What is sudo? How do you set it up?
+
+What is /etc/skel?
+
+
How to see a list of who logged-in to the system?
@@ -2297,7 +2330,7 @@ These system calls are reading the file /my/file and 5 is the file You found there is a server with high CPU load but you didn't find a process with high CPU. How is that possible?
-##### Linux Networking +##### Linux Advanced - Networking
When you run ip a you see there is a device called 'lo'. What is it and why do we need it?
@@ -6027,7 +6060,7 @@ startap-script * Manage virtual instances
- * Glance - Copy or snapshot instances + * Glance - Images Service. Also used for copying or snapshot instances * Horizon - GUI for viewing and modifying resources * Cinder - Block Storage * Nova - Manage virtual instances @@ -6065,8 +6098,16 @@ startap-script How do you debug OpenStack compute issues? (tools, logs, ...)
+#### OpenStack Deployment & TripleO +
-Are you familiar with TripleO? How is it different from Devstack?
+Have you deployed OpenStack in the past? If yes, can you describe how you did it?
+
+ +
+Are you familiar with TripleO? How is it different from Devstack or Packstack?
+ +You can read about TripleO right [here](https://docs.openstack.org/tripleo-docs/latest)
#### OpenStack Compute @@ -6122,6 +6163,20 @@ startap-script * neutron-server - exposes networking API and passes requests to other plugins if required
+
+Explain these network types: + + * Management Network + * Guest Network + * API Network + * External Network
+ + * Management Network - used for internal communication between OpenStack components. Any IP address in this network is accessible only within the datacetner + * Guest Network - used for communication between instances/VMs + * API Network - used for services API communication. Any IP address in this network is publicly accessible + * External Network - used for public communication. Any IP address in this network is accessible by anyone on the internet +
+
What is a provider network?
@@ -6154,6 +6209,80 @@ startap-script How do you debug OpenStack networking issues? (tools, logs, ...)
+#### OpenStack - Glance + +
+Explain Glance in detail
+ + * Glance is the OpenStack image service + * It handles requests related to instances disks and images + * Glance also used for creating snapshots for quick instances backups + * Users can use Glance to create new images or upload existing ones +
+ +
+Describe Glance architecture
+ + * glance-api - responsible for handling image API calls such as retrieval and storage. It consists of two APIs: 1. registry-api - responsible for internal requests 2. user API - can be accessed publicly + * glance-registry - responsible for handling image metadata requests (e.g. size, type, etc). This component is private which means it's not available publicly + * metadata definition service - API for custom metadata + * database - for storing images metadata + * image repository - for storing images. This can be a filesystem, swift object storage, HTTP, etc. +
+ +#### OpenStack - Swift + +
+Explain Swift in detail
+ + * Swift is Object Store service and is an highly available, distributed and consistent store designed for storing a lot of data + * Swift is distributing data across multiple servers while writing it to multiple disks + * One can choose to add additional servers to scale the cluster. All while swift maintaining integrity of the information and data replications. +
+ +
+Can users store by default an object of 100GB in size?
+ +Not by default. Object Storage API limits the maximum to 5GB per object but it can be adjusted. +
+ +
+Explain the following in regards to Swift: + + * Container + * Account + * Object
+ + * Container - Defines a namespace for objects. + * Account - Defines a namespace for containers + * Object - Data content (e.g. image, document, ...) +
+ +
+True or False? there can be two objects with the same name in the same container but not in two different containers
+ +False. Two objects can have the same name if they are in different containers. +
+ +#### OpenStack - Swift + +
+Explain Cinder in detail
+ + * Cinder is OpenStack Block Storage service + * It basically provides used with storage resources they can consume with other services such as Nova + * One of the most used implementations of storage supported by Cinder is LVM + * From user perspective this is transparent which means the user doesn't know where, behind the scenes, the storage is located or what type of storage is used +
+ +
+Describe Cinder's components
+ + * cinder-api - receives API requests + * cinder-volume - manages attached block devices + * cinder-scheduler - responsible for storing volumes +
+ #### OpenStack - Keystone
@@ -6210,12 +6339,14 @@ A list of services and their endpoints * Swift * Sahara * Ironic + * Trove * Aodh * Ceilometer
* Swift - highly available, distributed, eventually consistent object/blob store * Sahara - Manage Hadoop Clusters * Ironic - Bare Metal Provisioning + * Trove - Database as a service that runs on OpenStack * Aodh - Alarms Service * Ceilometer - Track and monitor usage
@@ -6223,12 +6354,14 @@ A list of services and their endpoints
Identify the service/project used for each of the following: + * Database as a service which runs on OpenStack * Bare Metal Provisioning * Track and monitor usage * Alarms Service * Manage Hadoop Clusters * highly available, distributed, eventually consistent object/blob store
+ * Database as a service which runs on OpenStack - Trove * Bare Metal Provisioning - Ironic * Track and monitor usage - Ceilometer * Alarms Service - Aodh @@ -7718,6 +7851,30 @@ DNS redirection Explain "Branch by Abstraction" technique
+## Hardware + +
+What is a processor?
+
+ +
+What is RAM?
+
+ +
+What is an embedded system?
+
+ +
+Can you give an example of an embedded system?
+ +Raspberry Pi +
+ +
+What types of storage are there?
+
+ ## Exercises Exercises are all about: @@ -7729,17 +7886,29 @@ Exercises are all about: Below you can find several exercises +#### Containers * [Writing a Dockerfile and running a container](exercises/write_dockerfile_run_container.md) + +#### Jenkins + +* [Jenkins: writing scripts](exercises/jenkins_scripts.md) +* [Jenkins: writing pipelines](exercises/jenkins_pipelines.md) + +#### CI + +* [CI for open source project](exercises/ci_for_open_source_project.md) + +#### Mixed + +* [Flask, Containers and CI](exercises/flask_container_ci/README.md) +* [Flask, Containers and CI 2](exercises/flask_container_ci2/README.md) + +#### Misc + * [Elasticsearch & Kibana on AWS](exercises/elk_kibana_aws.md) * [ELK & Filebeat](exercises/eflk.md) * [Ansible, Minikube and Docker](exercises/ansible_minikube_docker.md) * [Cloud Slack bot](exercises/cloud_slack_bot.md) -* [Jenkins: writing scripts](exercises/jenkins_scripts.md) -* [Jenkins: writing pipelines](exercises/jenkins_pipelines.md) -* [CI for open source project](exercises/ci_for_open_source_project.md) -* [Flask, Containers and CI](exercises/flask_container_ci/README.md) -* [Flask, Containers and CI 2](exercises/flask_container_ci2/README.md) - ## Credits diff --git a/images/hardware.png b/images/hardware.png new file mode 100644 index 0000000..7cc0e10 Binary files /dev/null and b/images/hardware.png differ