diff --git a/README.md b/README.md index df46360..a339ed7 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ sql
SQL
OpenShift
OpenShift
Storage
Storage
- HR
HR
+ HR
Soft Skills
Terraform
Terraform
@@ -1682,7 +1682,7 @@ There a couple of modes: What is a bridge? How it's added in Linux OS?
-##### Linux DNS +##### Linux - DNS
How to check what is the hostname of the system?
@@ -1706,6 +1706,21 @@ You can specify one or more of the following: * nslookup
+
+You run dig codingshell.com and get the following result: + +``` +ANSWER SECTION: +codingshell.com. 3515 IN A 185.199.109.153 +``` + +What is the meaning of the number 3515? +
+ +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.
+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. +
+ ##### Linux - Packaging
@@ -1881,6 +1896,13 @@ Using the `last` command. * id
+
+You run grep $(whoami) /etc/passwd but the output is empty. What might be a possible reason for that?
+ +The user you are using isn't defined locally but originates from services like LDAP.
+You can verify with: `getent passwd` +
+ #### Linux Hardware
@@ -6756,6 +6778,12 @@ I can't answer this for you :) What's OKR?
+
+What's DSL (Domain Specific Language)?
+ +Domain Specific Language (DSLs) are used to create a customised language that represents the domain such that domain experts can easily interpret it. +
+
What's the difference between KPI and OKR?
@@ -7222,128 +7250,6 @@ https://idiallo.com/blog/c10k-2016 Explain Dark Data
-## 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 - -
-Tell us little bit about yourself
-
- -
-Tell me about your last big project/task you worked on
-
- -
-What was most challenging part in the project you worked on?
-
- -
-How did you hear about us?
- -Tell them how did you hear about them :D -Relax, there is no wrong or right answer here...I think. -
- -
-How would you describe a good leadership?
-
- -
-Describe yourself in one word
-
- -
-Tell me about a time where you didn't agree on an implementation
-
- -
-How do you deal with a situation where key stakeholders are not around and a big decision needs to be made?
-
- -
-Where do you see yourself 5 years down the line?
-
- -
-Give an example of a time when you were able to change the view of a team about a particular tool/project/technology
-
- -
-Have you ever caused a service outage? (or broke a working project, tool, ...?)
- -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. -
- -
-Rank the following in order 1 to 5, where 1 is most important: salaray, benefits, career, team/people, work life balance
- -You know best your order just have a good thought if you really want to put salary in top or bottom.... -
- -
-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?
-
- -
-You have a colleague you don‘t get along with. Tell us some strategies how you create a good work relationship with them anyway.
- -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. -
- -
-What do you love about your work?
- -You know the best, but some ideas if you find it hard to express yourself: - -* Diversity -* Complexity -* Challenging -* Communication with several different teams -
- -
-What are your responsibilities in your current position?
- -You know the best :) -
- -
-Why should we hire you for the role?
- -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) -
- -#### Pointless Questions - -
-Why do you want to work here?
-
- -
-Why are you looking to leave your current place?
-
- -
-What are your strengths and weaknesses?
-
- -
-Where do you see yourself in five years?
-
- -#### Team Lead - -
-How would you improve productivity in your team?
-
- ## Questions you CAN ask diff --git a/exercises/aws/README.md b/exercises/aws/README.md index 1ff132e..22f4738 100644 --- a/exercises/aws/README.md +++ b/exercises/aws/README.md @@ -2,7 +2,8 @@ ### 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).
+Note 2: Some of the exercises cost money and can't be performed using the free tier/resources #### 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 | | 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 |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 | | 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 |Name|Topic|Objective & Instructions|Solution|Comments| @@ -1638,6 +1653,12 @@ For example: Note: The token has a lifetime of 15 minutes +
+True or False? In case of RDS (not Aurora), read replicas require you to change the SQL connection string
+ +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. +
+ ##### AWS Databases - Aurora
@@ -1812,9 +1833,7 @@ Learn more [here](https://aws.amazon.com/documentdb) EBS
-#### AWS - Networking - -##### AWS Network - VPC +#### AWS - VPC
What is VPC?
@@ -1823,23 +1842,69 @@ EBS Read more about it [here](https://aws.amazon.com/vpc).
+
+True or False? By default, any new account has a default VPC
+ +True +
+ +
+True or False? Default VPC doesn't have internet connectivity and any launched EC2 will only have a private IP assigned
+ +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. +
+
True or False? VPC spans multiple regions
False
+
+True or False? It's possible to have multiple VPCs in one region
+ +True. As of today, the soft limit is 5. +
+
True or False? Subnets belong to the same VPC, can be in different availability zones
True. Just to clarify, a single subnet resides entirely in one AZ.
+
+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?
+ +AWS reserves 5 IP addresses in each subnet - first 4 and the last one, and so they aren't available for use. +
+ +
+What AWS uses the 5 reserved IP addresses for?
+ +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 +
+
What is an Internet Gateway?
-"component that allows communication between instances in your VPC and the internet" (AWS docs). -Read more about it [here](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html) +[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" + +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 +
+ +
+True or False? One or more VPCs can be attached to one Internet Gateway
+ +False. Only one VPC can be attached to one IGW and vice versa
@@ -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.
+
+When creating a new VPC, there is an option called "Tenancy". What is it used for?
+
+
What is an Elastic IP address?
@@ -1917,6 +1986,14 @@ Allows you to connect your corporate network to AWS network. Elastic IP
+
+Kratos, your colleague, decided to use a subnet of /27 because he needs 29 IP addresses for EC2 instances. Is Kratos right?
+ +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. +
+ ##### AWS EC2 - ENI
@@ -2187,12 +2264,6 @@ ElastiCache Amazon S3 Transfer Acceleration
-
-Which service would you use for distributing incoming requests across multiple?
- -Route 53 -
-
Which services are involved in getting a custom string (based on the input) when inserting a URL in the browser?
@@ -2206,18 +2277,95 @@ API Gateway - to define the URL trigger (= when you insert the URL, the function Kinesis
-#### AWS DNS +#### AWS - DNS (Route 53)
What is Route 53?
-"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: - * Register domain + * Register domains * DNS service - domain name translations * Health checks - verify your app is available + * Not a feature but its SLA is 100% availability +
-More on Route 53 [here](https://aws.amazon.com/route53) +
+What it means that "Route 53 is an Authoritative DNS"?
+ +The customer can update DNS records +
+ +
+What each Route 53 record contains?
+ +* 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 +
+ +
+What DNS record types does Route 53 supports?
+ +* A +* AAAA +* CNAME +* NS +* DS +* CAA +* SOA +* MX +* TXT +* SPF +* SRV +* NAPTR +* PTR +
+ +
+What are hosted zones?
+ +A container that includes records for defining how to route traffic from a domain and its subdomains +
+ +
+What types of hosted zones are there?
+ +* 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) +
+ +
+What is the difference between CNAME record and an Alias record?
+ +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) +
+ +
+True or False? Alias record can be set up for an EC2 DNS name
+ +False +
+ +
+True or False? Alias record can be set up for an VPC interface endpoint
+ +True +
+ +
+True or False? Alias record is only of type A or AAAA
+ +True +
+ +
+What is a routing policy in regards to AWS Route 53?
#### AWS Monitoring & Logging diff --git a/exercises/aws/creating_records.md b/exercises/aws/creating_records.md new file mode 100644 index 0000000..1ba010d --- /dev/null +++ b/exercises/aws/creating_records.md @@ -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 diff --git a/exercises/aws/new_vpc.md b/exercises/aws/new_vpc.md new file mode 100644 index 0000000..96fd373 --- /dev/null +++ b/exercises/aws/new_vpc.md @@ -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 diff --git a/exercises/aws/register_domain.md b/exercises/aws/register_domain.md new file mode 100644 index 0000000..cdff835 --- /dev/null +++ b/exercises/aws/register_domain.md @@ -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? diff --git a/exercises/aws/solutions/creating_records.md b/exercises/aws/solutions/creating_records.md new file mode 100644 index 0000000..cde0f8c --- /dev/null +++ b/exercises/aws/solutions/creating_records.md @@ -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.` or `dig foo.What is DNS? What is it used for?
DNS (Domain Name Systems) is a protocol used for converting domain names into IP addresses.
-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.
@@ -14,29 +14,13 @@ The process of translating IP addresses to domain names.
-What is a DNS record?
+What is a name server?
-A mapping between domain name and an IP address. +A server which is responsible for resolving DNS queries.
-How DNS works?
- -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 -
- -
-Explain the resolution sequence of: www.site.com
+What is the resolution sequence of: www.site.com
It's resolved in this order: @@ -46,6 +30,61 @@ It's resolved in this order: 4) www.site.com
+
+What is a domain name registrar?
+ +[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." +
+ +
+Given the following fqdn, www.blipblop.com, what is the root?
+ +`.` is the root +
+ +
+Given the following fqdn, www.blipblop.com, what is the top level domain?
+ +`.com.` is the top level domain +
+ +
+Given the following fqdn, www.blipblop.com, what is the second level domain?
+ +`blipblop.com.` is the second level domain +
+ +
+Given the following fqdn, www.blipblop.com, what is the domain?
+ +`www.blipblop.com.` is the domain +
+ +
+Describe DNS resolution workflow in high-level
+ +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 +
+ +##### DNS - Records + +
+What is a DNS record?
+ +A mapping between domain name and an IP address. +
+
What types of DNS records are there?
@@ -61,7 +100,9 @@ A more detailed list, can be found [here](https://www.nslookup.io/learning/dns-r
What is a A record?
-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.
@@ -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.
+
+What is a CNAME record?
+ +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. +
+
What is a PTR record?
@@ -78,9 +127,26 @@ While an A record points a domain name to an IP address, a PTR record does the o
What is a MX record?
+ 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.
+
+What is a NS record?
+ +NS: name servers that can respond to DNS queries +
+ +##### DNS - TTL + +
+Explain DNS Records TTL
+ +[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." +
+ +##### DNS - Misc +
Is DNS using TCP or UDP?
@@ -97,10 +163,6 @@ True. Which techniques a DNS can use for load balancing?
-
-What is DNS Record TTL? Why do we need it?
-
-
What is a zone? What types of zones are there?
diff --git a/exercises/soft_skills/README.md b/exercises/soft_skills/README.md new file mode 100644 index 0000000..6784f9c --- /dev/null +++ b/exercises/soft_skills/README.md @@ -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
+There are no answers for these questions for obvious reasons :) + +
+Tell us little bit about yourself
+
+ +
+Tell me about the best type of environment you've worked in (team, solo, pairs, ...)
+
+ +
+Tell me about your last big project/task you worked on
+
+ +
+What was most challenging part in the project you worked on?
+
+ +
+How did you hear about us?
+
+ +
+How would you describe a good leadership?
+
+ +
+Describe yourself in one word
+
+ +
+Tell me about a time where you didn't agree on an implementation
+
+ +
+How do you deal with a situation where key stakeholders are not around and a big decision needs to be made?
+
+ +
+Where do you see yourself 5 years down the line?
+
+ +
+Give an example of a time when you were able to change the view of a team about a particular tool/project/technology
+
+ +
+Have you ever caused a service outage? (or broke a working project, tool, ...?)
+
+ +
+Rank the following in order 1 to 5, where 1 is most important: salaray, benefits, career, team/people, work life balance
+
+ +
+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?
+
+ +
+You have a colleague you don‘t get along with. Tell us some strategies how you create a good work relationship with them anyway.
+
+ +
+What do you love about your work?
+
+ +
+What are your responsibilities in your current position?
+
+ +
+Why should we hire you for the role?
+
+ +#### Pointless Questions + +
+Why do you want to work here?
+
+ +
+Why are you looking to leave your current place?
+
+ +
+What are your strengths and weaknesses?
+
+ +
+Where do you see yourself in five years?
+
+ +#### Team Lead + +
+How would you improve productivity in your team?
+