Add AWS execrises and questions

Mostly about VPC and Route 53.
This commit is contained in:
abregman 2021-12-04 06:56:07 +02:00
parent 395d082ff1
commit 6706171ca9
12 changed files with 538 additions and 165 deletions

154
README.md
View File

@ -66,7 +66,7 @@
<td align="center"><a href="#sql"><img src="images/sql.png" width="75px;" height="75px;" alt="sql"/><br /><b>SQL</b></a></td> <td align="center"><a href="#sql"><img src="images/sql.png" width="75px;" height="75px;" alt="sql"/><br /><b>SQL</b></a></td>
<td align="center"><a href="exercises/openshift/README.md"><img src="images/openshift.png" width="75px;" height="75px;" alt="OpenShift"/><br /><b>OpenShift</b></a></td> <td align="center"><a href="exercises/openshift/README.md"><img src="images/openshift.png" width="75px;" height="75px;" alt="OpenShift"/><br /><b>OpenShift</b></a></td>
<td align="center"><a href="#storage"><img src="images/storage.png" width="75px;" height="75px;" alt="Storage"/><br /><b>Storage</b></a></td> <td align="center"><a href="#storage"><img src="images/storage.png" width="75px;" height="75px;" alt="Storage"/><br /><b>Storage</b></a></td>
<td align="center"><a href="#HR"><img src="images/HR.png" width="110px;" height="75px;" alt="HR"/><br /><b>HR</b></a></td> <td align="center"><a href="exercises/soft_skills/README.md"><img src="images/HR.png" width="110px;" height="75px;" alt="HR"/><br /><b>Soft Skills</b></a></td>
</tr> </tr>
<tr> <tr>
<td align="center"><a href="exercises/terraform/README.md"><img src="images/terraform.png" width="70px;" height="75px;" alt="Terraform"/><br /><b>Terraform</b></a></td> <td align="center"><a href="exercises/terraform/README.md"><img src="images/terraform.png" width="70px;" height="75px;" alt="Terraform"/><br /><b>Terraform</b></a></td>
@ -1682,7 +1682,7 @@ There a couple of modes:
<summary>What is a bridge? How it's added in Linux OS?</summary><br><b> <summary>What is a bridge? How it's added in Linux OS?</summary><br><b>
</b></details> </b></details>
##### Linux DNS ##### Linux - DNS
<details> <details>
<summary>How to check what is the hostname of the system?</summary><br><b> <summary>How to check what is the hostname of the system?</summary><br><b>
@ -1706,6 +1706,21 @@ You can specify one or more of the following:
* <code>nslookup</code> * <code>nslookup</code>
</b></details> </b></details>
<details>
<summary>You run <code>dig codingshell.com</code> and get the following result:
```
ANSWER SECTION:
codingshell.com. 3515 IN A 185.199.109.153
```
What is the meaning of the number 3515?
</summary><br><b>
This is the TTL. When you lookup for an address using a domain/host name, your OS is performing DNS resolution by contacting DNS name servers to get the IP address of the host/domain you are looking for.<br>
When you get a reply, this reply in cached in your OS for a certain period of time. This is period of time is also known as TTL and this is the meaning of 3515 number - it will be cached for 3515 seconds before removed from the cache and during that period of time, you'll get the value from the cache instead of asking DNS name servers for the address again.
</b></details>
##### Linux - Packaging ##### Linux - Packaging
<details> <details>
@ -1881,6 +1896,13 @@ Using the `last` command.
* id</summary><br><b> * id</summary><br><b>
</b></details> </b></details>
<details>
<summary>You run <code>grep $(whoami) /etc/passwd</code> but the output is empty. What might be a possible reason for that?</summary><br><b>
The user you are using isn't defined locally but originates from services like LDAP.<br>
You can verify with: `getent passwd`
</b></details>
#### Linux Hardware #### Linux Hardware
<details> <details>
@ -6756,6 +6778,12 @@ I can't answer this for you :)
<summary>What's OKR?</summary><br><b> <summary>What's OKR?</summary><br><b>
</b></details> </b></details>
<details>
<summary>What's DSL (Domain Specific Language)?</summary><br><b>
Domain Specific Language (DSLs) are used to create a customised language that represents the domain such that domain experts can easily interpret it.
</b></details>
<details> <details>
<summary>What's the difference between KPI and OKR?</summary><br><b> <summary>What's the difference between KPI and OKR?</summary><br><b>
</b></details> </b></details>
@ -7222,128 +7250,6 @@ https://idiallo.com/blog/c10k-2016
<summary>Explain Dark Data</summary><br><b> <summary>Explain Dark Data</summary><br><b>
</b></details> </b></details>
## HR
These are not DevOps related questions as you probably noticed, but since they are part of the DevOps interview process I've decided it might be good to keep them
<details>
<summary>Tell us little bit about yourself</summary><br><b>
</b></details>
<details>
<summary>Tell me about your last big project/task you worked on</summary><br><b>
</b></details>
<details>
<summary>What was most challenging part in the project you worked on?</summary><br><b>
</b></details>
<details>
<summary>How did you hear about us?</summary><br><b>
Tell them how did you hear about them :D
Relax, there is no wrong or right answer here...I think.
</b></details>
<details>
<summary>How would you describe a good leadership?</summary><br><b>
</b></details>
<details>
<summary>Describe yourself in one word</summary><br><b>
</b></details>
<details>
<summary>Tell me about a time where you didn't agree on an implementation</summary><br><b>
</b></details>
<details>
<summary>How do you deal with a situation where key stakeholders are not around and a big decision needs to be made? </summary><br><b>
</b></details>
<details>
<summary>Where do you see yourself 5 years down the line?</summary><br><b>
</b></details>
<details>
<summary>Give an example of a time when you were able to change the view of a team about a particular tool/project/technology</summary><br><b>
</b></details>
<details>
<summary>Have you ever caused a service outage? (or broke a working project, tool, ...?)</summary><br><b>
If you worked in this area for more than 5 years it's hard to imagine the answer would be no. It also doesn't have to be big service outage. Maybe you merged some code that broke a project or its tests. Simply focus on what you learned from such experience.
</b></details>
<details>
<summary>Rank the following in order 1 to 5, where 1 is most important: salaray, benefits, career, team/people, work life balance</summary><br><b>
You know best your order just have a good thought if you really want to put salary in top or bottom....
</b></details>
<details>
<summary>You have three important tasks scheduled for today. One is for your boss, second for a colleague who is also a friend, third is for a customer. All tasks are equally important. What do you do first?</summary><br><b>
</b></details>
<details>
<summary>You have a colleague you dont get along with. Tell us some strategies how you create a good work relationship with them anyway.</summary><br><b>
Bad answer: I don't.
Better answer: Every person has strengths and weaknesses. This is true also for colleagues I don't have good work relationship with and this is what helps me to create good work relationship with them. If I am able to highlight or recognize their strengths I'm able to focus mainly on that when communicating with them.
</b></details>
<details>
<summary>What do you love about your work?</summary><br><b>
You know the best, but some ideas if you find it hard to express yourself:
* Diversity
* Complexity
* Challenging
* Communication with several different teams
</b></details>
<details>
<summary>What are your responsibilities in your current position?</summary><br><b>
You know the best :)
</b></details>
<details>
<summary>Why should we hire you for the role?</summary><br><b>
You can use and elaborate on one or all of the following:
* Passion
* Motivation
* Autodidact
* Creativity (be able to support it with some actual examples)
</b></details>
#### Pointless Questions
<details>
<summary>Why do you want to work here?</summary><br><b>
</b></details>
<details>
<summary>Why are you looking to leave your current place?</summary><br><b>
</b></details>
<details>
<summary>What are your strengths and weaknesses?</summary><br><b>
</b></details>
<details>
<summary>Where do you see yourself in five years?</summary><br><b>
</b></details>
#### Team Lead
<details>
<summary>How would you improve productivity in your team?</summary><br><b>
</b></details>
## Questions you CAN ask ## Questions you CAN ask
<a name="questions-you-ask"></a> <a name="questions-you-ask"></a>

View File

@ -2,7 +2,8 @@
### AWS Exercises ### AWS Exercises
Note: Provided solutions are using the AWS console. It's recommended you'll use IaC technologies to solve the exercises (e.g. Terraform). Note: Provided solutions are using the AWS console. It's recommended you'll use IaC technologies to solve the exercises (e.g. Terraform).<br>
Note 2: Some of the exercises cost money and can't be performed using the free tier/resources
#### AWS - IAM #### AWS - IAM
@ -46,6 +47,13 @@ Note: Provided solutions are using the AWS console. It's recommended you'll use
| Auto Scaling Groups Basics | ASG | [Exercise](auto_scaling_groups_basics.md) | [Solution](solutions/auto_scaling_groups_basics.md) | Easy | | Auto Scaling Groups Basics | ASG | [Exercise](auto_scaling_groups_basics.md) | [Solution](solutions/auto_scaling_groups_basics.md) | Easy |
| Dynamic Scaling Policy | ASG, Policies | [Exercise](asg_dynamic_scaling_policy.md) | [Solution](solutions/asg_dynamic_scaling_policy.md) | Easy | | Dynamic Scaling Policy | ASG, Policies | [Exercise](asg_dynamic_scaling_policy.md) | [Solution](solutions/asg_dynamic_scaling_policy.md) | Easy |
#### AWS - VPC
|Name|Topic|Objective & Instructions|Solution|Comments|
|--------|--------|------|----|----|
| My First VPC | VPC | [Exercise](new_vpc.md) | [Solution](solutions/new_vpc.md) | Easy |
| Subnets | VPC | [Exercise](subnets.md) | [Solution](solutions/subnets.md) | Easy |
#### AWS - Databases #### AWS - Databases
|Name|Topic|Objective & Instructions|Solution|Comments| |Name|Topic|Objective & Instructions|Solution|Comments|
@ -54,6 +62,13 @@ Note: Provided solutions are using the AWS console. It's recommended you'll use
| Aurora DB | RDS | [Exercise](aurora_db.md) | [Solution](solutions/aurora_db.md) | Easy | | Aurora DB | RDS | [Exercise](aurora_db.md) | [Solution](solutions/aurora_db.md) | Easy |
| ElastiCache | ElastiCache | [Exercise](elasticache.md) | [Solution](solutions/elasticache.md) | Easy | | ElastiCache | ElastiCache | [Exercise](elasticache.md) | [Solution](solutions/elasticache.md) | Easy |
#### AWS - DNS
|Name|Topic|Objective & Instructions|Solution|Comments|
|--------|--------|------|----|----|
Register Domain | Route 53 | [Exercise](register_domain.md) | [Solution](solutions/register_domain.md) | Easy |
Creating Records | Route 53 | [Exercise](creating_records.md) | [Solution](solutions/creating_records.md) | Easy |
#### AWS - Lambda #### AWS - Lambda
|Name|Topic|Objective & Instructions|Solution|Comments| |Name|Topic|Objective & Instructions|Solution|Comments|
@ -1638,6 +1653,12 @@ For example:
Note: The token has a lifetime of 15 minutes Note: The token has a lifetime of 15 minutes
</b></details> </b></details>
<details>
<summary>True or False? In case of RDS (not Aurora), read replicas require you to change the SQL connection string</summary><br><b>
True. Since read replicas add endpoints, each with its own DNS name, you need to modify your app to reference these new endpoints to balance the load read.
</b></details>
##### AWS Databases - Aurora ##### AWS Databases - Aurora
<details> <details>
@ -1812,9 +1833,7 @@ Learn more [here](https://aws.amazon.com/documentdb)
EBS EBS
</b></details> </b></details>
#### AWS - Networking #### AWS - VPC
##### AWS Network - VPC
<details> <details>
<summary>What is VPC?</summary><br><b> <summary>What is VPC?</summary><br><b>
@ -1823,23 +1842,69 @@ EBS
Read more about it [here](https://aws.amazon.com/vpc). Read more about it [here](https://aws.amazon.com/vpc).
</b></details> </b></details>
<details>
<summary>True or False? By default, any new account has a default VPC</summary><br><b>
True
</b></details>
<details>
<summary>True or False? Default VPC doesn't have internet connectivity and any launched EC2 will only have a private IP assigned</summary><br><b>
False. The default VPC has internet connectivity and any launched EC2 instance gets a public IPv4 address.
In addition, any launched EC2 instance gets a public and private DNS names.
</b></details>
<details> <details>
<summary>True or False? VPC spans multiple regions</summary><br><b> <summary>True or False? VPC spans multiple regions</summary><br><b>
False False
</b></details> </b></details>
<details>
<summary>True or False? It's possible to have multiple VPCs in one region</summary><br><b>
True. As of today, the soft limit is 5.
</b></details>
<details> <details>
<summary>True or False? Subnets belong to the same VPC, can be in different availability zones</summary><br><b> <summary>True or False? Subnets belong to the same VPC, can be in different availability zones</summary><br><b>
True. Just to clarify, a single subnet resides entirely in one AZ. True. Just to clarify, a single subnet resides entirely in one AZ.
</b></details> </b></details>
<details>
<summary>You have noticed your VPC's subnets (which use x.x.x.x/20 CIDR) have 4096 available IP addresses although this CIDR should have 4096 addresses. What is the reason for that?</summary><br><b>
AWS reserves 5 IP addresses in each subnet - first 4 and the last one, and so they aren't available for use.
</b></details>
<details>
<summary>What AWS uses the 5 reserved IP addresses for?</summary><br><b>
x.x.x.0 - network address
x.x.x.1 - VPC router
x.x.x.2 - DNS mapping
x.x.x.3 - future use
x.x.x.255 - broadcast address
</b></details>
<details> <details>
<summary>What is an Internet Gateway?</summary><br><b> <summary>What is an Internet Gateway?</summary><br><b>
"component that allows communication between instances in your VPC and the internet" (AWS docs). [AWS Docs](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html): "component that allows communication between instances in your VPC and the internet"
Read more about it [here](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)
In addition it's good to know that IGW is:
* Highly available and redundant
* Not porivding internet access by its own (you need route tables to be edited)
* Created separately from VPC
</b></details>
<details>
<summary>True or False? One or more VPCs can be attached to one Internet Gateway</summary><br><b>
False. Only one VPC can be attached to one IGW and vice versa
</b></details> </b></details>
<details> <details>
@ -1866,6 +1931,10 @@ False. Only one internet gateway can be attached to a single VPC.
Use Elastic IP which provides you a fixed IP address. Use Elastic IP which provides you a fixed IP address.
</b></details> </b></details>
<details>
<summary>When creating a new VPC, there is an option called "Tenancy". What is it used for?</summary><br><b>
</b></details>
<details> <details>
<summary>What is an Elastic IP address?</summary><br><b> <summary>What is an Elastic IP address?</summary><br><b>
@ -1917,6 +1986,14 @@ Allows you to connect your corporate network to AWS network.
Elastic IP Elastic IP
</b></details> </b></details>
<details>
<summary>Kratos, your colleague, decided to use a subnet of /27 because he needs 29 IP addresses for EC2 instances. Is Kratos right?</summary><br><b>
No. Since AWS reserves 5 IP addresses for every subnet, Kratos will have 32-5=27 addresses and this is less than what he needs (29).
It's better if Kratos uses a subnet of size /26 but good luck telling him that.
</b></details>
##### AWS EC2 - ENI ##### AWS EC2 - ENI
<details> <details>
@ -2187,12 +2264,6 @@ ElastiCache
Amazon S3 Transfer Acceleration Amazon S3 Transfer Acceleration
</b></details> </b></details>
<details>
<summary>Which service would you use for distributing incoming requests across multiple?</summary><br><b>
Route 53
</b></details>
<details> <details>
<summary>Which services are involved in getting a custom string (based on the input) when inserting a URL in the browser?</summary><br><b> <summary>Which services are involved in getting a custom string (based on the input) when inserting a URL in the browser?</summary><br><b>
@ -2206,18 +2277,95 @@ API Gateway - to define the URL trigger (= when you insert the URL, the function
Kinesis Kinesis
</b></details> </b></details>
#### AWS DNS #### AWS - DNS (Route 53)
<details> <details>
<summary>What is Route 53?</summary><br><b> <summary>What is Route 53?</summary><br><b>
"Amazon Route 53 is a highly available and scalable cloud Domain Name System (DNS) web service..." [AWS Route 53](https://aws.amazon.com/route53): "Amazon Route 53 is a highly available and scalable cloud Domain Name System (DNS) web service..."
Some of Route 53 features: Some of Route 53 features:
* Register domain * Register domains
* DNS service - domain name translations * DNS service - domain name translations
* Health checks - verify your app is available * Health checks - verify your app is available
* Not a feature but its SLA is 100% availability
</b></details>
More on Route 53 [here](https://aws.amazon.com/route53) <details>
<summary>What it means that "Route 53 is an Authoritative DNS"?</summary><br><b>
The customer can update DNS records
</b></details>
<details>
<summary>What each Route 53 record contains?</summary><br><b>
* Domain/subdomain name (e.g. blipblop.com)
* Value (e.g. 201.7.202.2)
* Record type (e.g. A, AAAA, MX)
* TTL: amount of time the record is going to be cached
* Routing Policy: how to respond to queries
</b></details>
<details>
<summary>What DNS record types does Route 53 supports?</summary><br><b>
* A
* AAAA
* CNAME
* NS
* DS
* CAA
* SOA
* MX
* TXT
* SPF
* SRV
* NAPTR
* PTR
</b></details>
<details>
<summary>What are hosted zones?</summary><br><b>
A container that includes records for defining how to route traffic from a domain and its subdomains
</b></details>
<details>
<summary>What types of hosted zones are there?</summary><br><b>
* Public Hosted Zones - include records to specify how to route traffic on the internet
* Private Hosted Zones - contain records that specify how you traffic within VPC(s)
</b></details>
<details>
<summary>What is the difference between CNAME record and an Alias record?</summary><br><b>
CNAME is used for mapping one hostname to any other hostname while Alias is used to map an hostname to an AWS resource.
In addition, Alias work for both root domain (somedomain.com) and non-root domain, while CNAME works only with non-root domain (foo.somedomain.com)
</b></details>
<details>
<summary>True or False? Alias record can be set up for an EC2 DNS name</summary><br><b>
False
</b></details>
<details>
<summary>True or False? Alias record can be set up for an VPC interface endpoint</summary><br><b>
True
</b></details>
<details>
<summary>True or False? Alias record is only of type A or AAAA</summary><br><b>
True
</b></details>
<details>
<summary>What is a routing policy in regards to AWS Route 53?</summary><br><b>
</b></details> </b></details>
#### AWS Monitoring & Logging #### AWS Monitoring & Logging

View File

@ -0,0 +1,14 @@
## AWS Route 53 - Creating Records
### Requirements
At least one registered domain
### Objectives
1. Create the following record for your domain:
1. Record name: foo
2. Record type: A
3. Set some IP in the value field
2. Verify from the shell that you are able to use the record you've created to lookup for the IP address by using the domain name

6
exercises/aws/new_vpc.md Normal file
View File

@ -0,0 +1,6 @@
## AWS VPC - My First VPC
### Objectives
1. Create a new VPC
1. It should have a CIDR that supports using at least 60,000 hosts

View File

@ -0,0 +1,9 @@
## AWS Route 53 - Register Domain
### Objectives
Note: registering domain costs money. Don't do this exercise, unless you understand that you are going to register a domain and it's going to cost you money.
1. Register your own custom domain using AWS Route 53
2. What is the type of your domain?
3. How many records your domain has?

View File

@ -0,0 +1,26 @@
## AWS Route 53 - Creating Records
### Requirements
At least one registered domain
### Objectives
1. Create the following record for your domain:
1. Record name: foo
2. Record type: A
3. Set some IP in the value field
2. Verify from the shell that you are able to use the record you've created to lookup for the IP address by using the domain name
### Solution
1. Go to Route 53 service -> Hosted zones
2. Click on your domain name
3. Click on "Create record"
4. Insert "foo" in "Record name"
5. Set "Record type" to A
6. In "Value" insert "201.7.20.22"
7. Click on "Create records"
1. In your shell, type `nslookup foo.<YOUR DOMAIN>` or `dig foo.<YOUR NAME`

View File

@ -0,0 +1,17 @@
## AWS VPC - My First VPC
### Objectives
1. Create a new VPC
1. It should have a CIDR that supports using at least 60,000 hosts
### Solution
#### Console
1. Under "Virtual Private Cloud" click on "Your VPCs"
2. Click on "Create VPC"
3. Insert a name (e.g. someVPC)
4. Insert IPv4 CIDR block: 10.0.0.0/16
5. Keep "Tenancy" at Default
6. Click on "Create VPC"

View File

@ -0,0 +1,27 @@
## AWS Route 53 - Register Domain
### Objectives
Note: registering domain costs money. Don't do this exercise, unless you understand that you are going to register a domain and it's going to cost you money.
1. Register your own custom domain using AWS Route 53
2. What is the type of your domain?
3. How many records your domain has?
### Solution
1. Go to Route 53 service page
2. Click in the menu on "Registered Domains" under "Domains"
3. Click on "Register Domain"
4. Insert your domain
5. Check if it's available. If it is, add it to the cart
Note: registering domain costs money. Don't click on "continue", unless you understand that you are going to register a domain and it's going to cost you money.
6. Click on "Continue" and fill in your contact information
7. Choose if you want to renew it in the future automatically. Accept the terms and click on "Complete Order"
8. Go to hosted zones and you should see there your newly registered domain
1. The domain type is "Public"
1. The domain has 2 DNS records: NS and SOA

View File

@ -0,0 +1,39 @@
## AWS VPC - Subnets
### Requirements
Single newly created VPC
### Objectives
1. Create a subnet in your newly created VPC
1. CIDR: 10.0.0.0/24
2. Name: NewSubnet1
2. Create additional subnet
1. CIDR: 10.0.1.0/24
2. Name: NewSubnet2
3. Different AZ compared to previous subnet
3. Create additional subnet
1. CIDR: 10.0.2.0/24
2. Name: NewSubnet3
3. Different AZ compared to previous subnets
### Solution
#### Console
1. Click on "Subnets" under "Virtual Private Cloud"
2. Make sure you filter by your newly created VPC (to not see the subnets in all other VPCs). You can do this in the left side menu
3. Click on "Create subnet"
4. Choose your newly created VPC
5. Set the subnet name to "NewSubnet1"
6. Choose AZ
7. Set CIDR to 10.0.0.0/24
8. Click on "Add new subnet"
9. Set the subnet name to "NewSubnet2"
10. Choose a different AZ
11. Set CIDR to 10.0.1.0/24
12. Click on "Add new subnet"
13. Set the subnet name to "NewSubnet3"
14. Choose a different AZ
15. Set CIDR to 10.0.2.0/24

19
exercises/aws/subnets.md Normal file
View File

@ -0,0 +1,19 @@
## AWS VPC - Subnets
### Requirements
Single newly created VPC
### Objectives
1. Create a subnet in your newly created VPC
1. CIDR: 10.0.0.0/24
2. Name: NewSubnet1
2. Create additional subnet
1. CIDR: 10.0.1.0/24
2. Name: NewSubnet2
3. Different AZ compared to previous subnet
3. Create additional subnet
1. CIDR: 10.0.2.0/24
2. Name: NewSubnet3
3. Different AZ compared to previous subnets

View File

@ -4,7 +4,7 @@
<summary>What is DNS? What is it used for?</summary><br><b> <summary>What is DNS? What is it used for?</summary><br><b>
DNS (Domain Name Systems) is a protocol used for converting domain names into IP addresses.<br> DNS (Domain Name Systems) is a protocol used for converting domain names into IP addresses.<br>
As you know computer networking is done with IP addresses (layer 3 of the OSI model) but for as humans it's hard to remember IP addresses, it's much easier to remember names. This why we need something such as DNS to convert any domain name we type into an IP address. You can think on DNS as a huge phonebook or database where each corresponding name has an IP. computer networking (at layer 3 of the OSP model) is done with IP addresses but for as humans it's hard to remember IP addresses, it's much easier to remember names. This why we need something such as DNS to convert any domain name we type into an IP address. You can think on DNS as a huge phonebook or database where each corresponding name has an IP.
</b></details> </b></details>
<details> <details>
@ -14,29 +14,13 @@ The process of translating IP addresses to domain names.
</b></details> </b></details>
<details> <details>
<summary>What is a DNS record?</summary><br><b> <summary>What is a name server?</summary><br><b>
A mapping between domain name and an IP address. A server which is responsible for resolving DNS queries.
</b></details> </b></details>
<details> <details>
<summary>How DNS works?</summary><br><b> <summary>What is the resolution sequence of: www.site.com</summary><br><b>
In general the process is as follows:
* The user types an address in the web browser (some_site.com)
* The operating system gets a request from the browser to translate the address the user entered
* A query created to check a local entry of the address exists in the system. In case it doesn't, the request is forwarded to the DNS resolver
* The Resolver is a server, usually configured by your ISP when you connect to the internet, that responsible for resolving your query by contacting other DNS servers
* The Resolver contacts the root nameserver (aka as .)
* The root nameserver responds with the address of the relevant Top Level Domain DNS server (if your address ends with org then the org TLD)
* The Resolver then contacts the TLD DNS and TLD DNS responds with the IP address that matches the address the user typed in the browser
* The Resolver passes this information to the browser
* The user is happy :D
</b></details>
<details>
<summary>Explain the resolution sequence of: www.site.com</summary><br><b>
It's resolved in this order: It's resolved in this order:
@ -46,6 +30,61 @@ It's resolved in this order:
4) www.site.com 4) www.site.com
</b></details> </b></details>
<details>
<summary>What is a domain name registrar?</summary><br><b>
[Cloudflare](https://www.cloudflare.com/en-gb/learning/dns/glossary/what-is-a-domain-name-registrar): "A domain name registrar provides domain name registrations to the general public. A common misconception is that registrars sell domain names; these domain names are actually owned by registries and can only be leased by users."
</b></details>
<details>
<summary>Given the following fqdn, <code>www.blipblop.com</code>, what is the root?</summary><br><b>
`.` is the root
</b></details>
<details>
<summary>Given the following fqdn, <code>www.blipblop.com</code>, what is the top level domain?</summary><br><b>
`.com.` is the top level domain
</b></details>
<details>
<summary>Given the following fqdn, <code>www.blipblop.com</code>, what is the second level domain?</summary><br><b>
`blipblop.com.` is the second level domain
</b></details>
<details>
<summary>Given the following fqdn, <code>www.blipblop.com</code>, what is the domain?</summary><br><b>
`www.blipblop.com.` is the domain
</b></details>
<details>
<summary>Describe DNS resolution workflow in high-level</summary><br><b>
In general the process is as follows:
* The user types an address in the web browser (some_site.com)
* The operating system gets a request from the browser to translate the address the user entered
* A query created to check if a local entry of the address exists in the system. In case it doesn't, the request is forwarded to the DNS resolver
* The Resolver is a server, usually configured by your ISP when you connect to the internet, that responsible for resolving your query by contacting other DNS servers
* The Resolver contacts the root nameserver (aka as .)
* The root nameserver either responds with the address you are looking for or it responds with the address of the relevant Top Level Domain DNS server (if your address ends with org then the org TLD)
* The Resolver then contacts the TLD DNS. TLD DNS might respond with the address you are looking for. If it doesn't has the information, it will provide the address of SLD DNS server
* SLD DNS server will reply with the address to the resolver
* The Resolver passes this information to the browser while your OS also stores this information in the cache
* The user cab browse the website with happiness and joy :D
</b></details>
##### DNS - Records
<details>
<summary>What is a DNS record?</summary><br><b>
A mapping between domain name and an IP address.
</b></details>
<details> <details>
<summary>What types of DNS records are there?</summary><br><b> <summary>What types of DNS records are there?</summary><br><b>
@ -61,7 +100,9 @@ A more detailed list, can be found [here](https://www.nslookup.io/learning/dns-r
<details> <details>
<summary>What is a A record?</summary><br><b> <summary>What is a A record?</summary><br><b>
A (Address) Maps a host name to an IP address. When a computer has multiple adapter cards and IP addresses, it should have multiple address records. A (Address): Maps a host name to an IPv4 address.
When a computer has multiple adapter cards and IP addresses, it should have multiple address records.
</b></details> </b></details>
<details> <details>
@ -70,6 +111,14 @@ A (Address) Maps a host name to an IP address. When a computer has multiple adap
An AAAA Record performs the same function as an A Record, but for an IPv6 Address. An AAAA Record performs the same function as an A Record, but for an IPv6 Address.
</b></details> </b></details>
<details>
<summary>What is a CNAME record?</summary><br><b>
CNAME: maps a hostname to another hostname.
The target should be a domain name which must have an A or AAAA record. Think of it as an alias record.
</b></details>
<details> <details>
<summary>What is a PTR record?</summary><br><b> <summary>What is a PTR record?</summary><br><b>
@ -78,9 +127,26 @@ While an A record points a domain name to an IP address, a PTR record does the o
<details> <details>
<summary>What is a MX record?</summary><br><b> <summary>What is a MX record?</summary><br><b>
MX (Mail Exchange) Specifies a mail exchange server for the domain, which allows mail to be delivered to the correct mail servers in the domain. MX (Mail Exchange) Specifies a mail exchange server for the domain, which allows mail to be delivered to the correct mail servers in the domain.
</b></details> </b></details>
<details>
<summary>What is a NS record?</summary><br><b>
NS: name servers that can respond to DNS queries
</b></details>
##### DNS - TTL
<details>
<summary>Explain DNS Records TTL</summary><br><b>
[varonis.com](https://www.varonis.com/blog/dns-ttl): "DNS TTL (time to live) is a setting that tells the DNS resolver how long to cache a query before requesting a new one. The information gathered is then stored in the cache of the recursive or local resolver for the TTL before it reaches back out to collect new, updated details."
</b></details>
##### DNS - Misc
<details> <details>
<summary>Is DNS using TCP or UDP?</summary><br><b> <summary>Is DNS using TCP or UDP?</summary><br><b>
@ -97,10 +163,6 @@ True.
<summary>Which techniques a DNS can use for load balancing?</summary><br><b> <summary>Which techniques a DNS can use for load balancing?</summary><br><b>
</b></details> </b></details>
<details>
<summary>What is DNS Record TTL? Why do we need it?</summary><br><b>
</b></details>
<details> <details>
<summary>What is a zone? What types of zones are there?</summary><br><b> <summary>What is a zone? What types of zones are there?</summary><br><b>
</b></details> </b></details>

View File

@ -0,0 +1,100 @@
## HR & Soft Skills
These are not DevOps related questions as you probably noticed, but since they are part of the DevOps interview process I've decided it might be good to keep them<br>
There are no answers for these questions for obvious reasons :)
<details>
<summary>Tell us little bit about yourself</summary><br><b>
</b></details>
<details>
<summary>Tell me about the best type of environment you've worked in (team, solo, pairs, ...)</summary><br><b>
</b></details>
<details>
<summary>Tell me about your last big project/task you worked on</summary><br><b>
</b></details>
<details>
<summary>What was most challenging part in the project you worked on?</summary><br><b>
</b></details>
<details>
<summary>How did you hear about us?</summary><br><b>
</b></details>
<details>
<summary>How would you describe a good leadership?</summary><br><b>
</b></details>
<details>
<summary>Describe yourself in one word</summary><br><b>
</b></details>
<details>
<summary>Tell me about a time where you didn't agree on an implementation</summary><br><b>
</b></details>
<details>
<summary>How do you deal with a situation where key stakeholders are not around and a big decision needs to be made? </summary><br><b>
</b></details>
<details>
<summary>Where do you see yourself 5 years down the line?</summary><br><b>
</b></details>
<details>
<summary>Give an example of a time when you were able to change the view of a team about a particular tool/project/technology</summary><br><b>
</b></details>
<details>
<summary>Have you ever caused a service outage? (or broke a working project, tool, ...?)</summary><br><b>
</b></details>
<details>
<summary>Rank the following in order 1 to 5, where 1 is most important: salaray, benefits, career, team/people, work life balance</summary><br><b>
</b></details>
<details>
<summary>You have three important tasks scheduled for today. One is for your boss, second for a colleague who is also a friend, third is for a customer. All tasks are equally important. What do you do first?</summary><br><b>
</b></details>
<details>
<summary>You have a colleague you dont get along with. Tell us some strategies how you create a good work relationship with them anyway.</summary><br><b>
</b></details>
<details>
<summary>What do you love about your work?</summary><br><b>
</b></details>
<details>
<summary>What are your responsibilities in your current position?</summary><br><b>
</b></details>
<details>
<summary>Why should we hire you for the role?</summary><br><b>
</b></details>
#### Pointless Questions
<details>
<summary>Why do you want to work here?</summary><br><b>
</b></details>
<details>
<summary>Why are you looking to leave your current place?</summary><br><b>
</b></details>
<details>
<summary>What are your strengths and weaknesses?</summary><br><b>
</b></details>
<details>
<summary>Where do you see yourself in five years?</summary><br><b>
</b></details>
#### Team Lead
<details>
<summary>How would you improve productivity in your team?</summary><br><b>
</b></details>