Merge branch 'master' into master

This commit is contained in:
surister 2019-12-21 18:53:54 +01:00 committed by GitHub
commit 2016810e0f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 320 additions and 3 deletions

View File

@ -601,9 +601,11 @@ Stop the instance, the type of the instance to match the desired RAM and start t
<details> <details>
<summary>What is AWS WAF? Give an example of how it can used and describe what resources or services you can use it with</summary><br><b> <summary>What is AWS WAF? Give an example of how it can used and describe what resources or services you can use it with</summary><br><b>
</b></details> </b></details>
<details> <details>
<summary>What AWS VPN is used for?</summary><br><b> <summary>What AWS VPN is used for?</summary><br><b>
</b></details> </b></details>
<details> <details>
<summary>What is the difference between Site-to-Site VPN and Client VPN?</summary><br><b> <summary>What is the difference between Site-to-Site VPN and Client VPN?</summary><br><b>
</b></details> </b></details>
@ -940,7 +942,8 @@ As to fix it there are serveral options:
3. You would look for your distro default $PATH variable, copy paste using method #1 3. You would look for your distro default $PATH variable, copy paste using method #1
Note: There are many ways of getting errors like this: if bash_profile or any configuration file of your interpreter was wrongly modified; causing erratics behaviours, Note: There are many ways of getting errors like this: if bash_profile or any configuration file of your interpreter was wrongly modified; causing erratics behaviours,
permissions issues, bad compiled software (if you compiled it by yourself)... there is no answer that will be true 100% of the time.</b> permissions issues, bad compiled software (if you compiled it by yourself)... there is no answer that will be true 100% of the time.
</b>
</p> </p>
</details> </details>
@ -1293,7 +1296,7 @@ execution or run forever
</b></details> </b></details>
<details> <details>
<summary>What signal is used by default when you run 'kill <process id>'?</summary><br><b> <summary>What signal is used by default when you run 'kill *process id*'?</summary><br><b>
<pre> <pre>
The default signal is SIGTERM (15). This signal kills The default signal is SIGTERM (15). This signal kills
process gracefully which means it allows it to save current process gracefully which means it allows it to save current

View File

@ -2,9 +2,10 @@
import random import random
rand_num_li = sorted([random.randint(1, 50) for iter in range(10)]) rand_num_li = sorted([random.randint(1, 50) for _ in range(10)])
target = random.randint(1, 50) target = random.randint(1, 50)
def binary_search(li, le, ri, target): def binary_search(li, le, ri, target):
if le <= ri: if le <= ri:
mid = ri + le // 2 mid = ri + le // 2

91
scripts/main.py Normal file
View File

@ -0,0 +1,91 @@
import pathlib
p = pathlib.Path(__file__).parent.parent.joinpath('README.md')
with open(p, 'rb') as f:
file_list = [line.rstrip() for line in f.readlines()]
details_final_count = 0
details_count = 0
print(len(file_list))
for q in file_list:
if b'<details>' in q:
details_count += 1
if b'</details>' in q:
details_final_count += 1
print(details_count, details_final_count)
# TODO Checkear que tenemos mismo numero de details tabs, aunque esto no asegura al 100% que esta bien formateado.
# Una vez que tenemos un número par, podemos más o menos estar seguros de que la cosa va bien, y hacer ya entonces
# el checkeo de las demás tags.
# Problema: No obtenemos el lugar de donde esta mal el details, entonces; hacerlo.
# IDEA: comprobar que despues de un detail va un /detail y mas o menos supongo que podremos acotar, hacer pruebas.
def get_question_list(f):
questions_list = []
temp = []
after_summary_tag = False
for line in f:
if line.startswith(b'<details>'):
temp.append(line)
after_summary_tag = True
elif after_summary_tag and line != b'' and b'</details>' not in line:
temp.append(line)
elif after_summary_tag and b'</details>' in line:
temp.append(line)
after_summary_tag = False
questions_list.append(temp)
temp = []
return questions_list
def get_answered_questions(question_list) -> int:
c = 0
for q in question_list:
index = 0
for i in q:
if b'</summary>' in i:
index = q.index(i)
if q[index+1: len(q) - 1]:
# print(q[2: len(q) - 1], '-->', q)
c += 1
return c
def check_even_tags(question_list):
summary_count = 0
details_count = 0
# details count not necessary cus we already have that checked beforehand
for q in question_list:
print(q)
for l in q:
print(l)
if b'<details>' in l:
details_count += 1
if b'<summary>' in l:
summary_count += 1
if b'</details>' in l:
details_count += 1
if b'</summary>' in l:
summary_count += 1
print(summary_count, details_count)
if summary_count != 2 or details_count != 2:
raise Exception(f'You are missing a tag in {q}')
details_count = 0
summary_count = 0
# check_even_tags(get_question_list(file_list))
# if __name__ == '__main__':
# q_list = get_question_list(file_list)
# print(len(q_list))
# print(get_answered_questions(q_list))

29
scripts/tests/test.py Normal file
View File

@ -0,0 +1,29 @@
import unittest
import pathlib
from scripts.main import get_answered_questions, get_question_list
def open_test_case_file(n: int):
p = pathlib.Path(rf'D:\PycharmProjects\devops-interview-questions\scripts\tests\testcase{n}.md')
with open(p, 'rb') as f:
file_list = [line.rstrip() for line in f.readlines()]
return file_list
class QuestionCount(unittest.TestCase):
solutions = (
)
def test_count_case_1(self):
raw_list = open_test_case_file(1)
question_list = get_question_list(raw_list)
answers = get_answered_questions(question_list)
self.assertEqual(len(question_list), 21)
self.assertEqual(answers, 2)
def test_count_case_2(self):
pass

101
scripts/tests/testcase1.md Normal file
View File

@ -0,0 +1,101 @@
<details>
<summary>What objects in S3 consists of?
* Another way to ask it: explain key, value, version id and meta data in context of objects</summary><br><b>
</b></details>
<details>
<summary>Explain data consistency</summary><br><b>
</b></details>
<details>
<summary>Can you host dynamic websites on S3?. What about static websites?</summary><br><b>
</b></details>
<details>
<summary>What security measures have you taken in context of S3?</summary><br><b>
</b></details>
<details>
<summary>What is a storage class? What storage classes are you familiar with?</summary><br><b>
</b></details>
##### EC2
<details>
<summary>What is EC2? What is it used for?</summary><br><b>
</b></details>
<details>
<summary>What EC2 pricing models are there?</summary><br><b>
</b></details>
<details>
<summary>How to increase RAM for a given EC2 instance?</summary><br><b>
Stop the instance, the type of the instance to match the desired RAM and start the instance.
</b></details>
<details>
<summary>What is an AMI?</summary><br><b>
</b></details>
<details>
<summary>How many storage options are there for EC2 Instances?</summary><br><b>
</b></details>
<details>
<summary>What happens when an EC2 instance is stopped or terminated?</summary><br><b>
</b></details>
<details>
<summary>What are Security Groups?</summary><br><b>
</b></details>
<details>
<summary>How to migrate an instance to another availability zone?</summary><br><b>
</b></details>
<details>
<summary>What are spot instances?</summary><br><b>
</b></details>
##### CloudFront
<details>
<summary>Explain what is CloudFront and what is it used for</summary><br><b>
</b></details>
<details>
<summary>Explain the following
* Origin
* Edge location
* Distribution</summary><br><b>
</b></details>
<details>
<summary>What delivery methods available for the user with CDN?</summary><br><b>
</b></details>
<details>
<summary>True or False?. Objects are cached for the life of TTL</summary><br><b>
</b></details>
##### Load Balancers
<details>
<summary>What types of load balancers are supported in EC2 and what are they used for?</summary><br><b>
* Application LB - layer 7 traffic
* Network LB - ultra-high performances or static IP address
* Classic LB - low costs, good for test or dev environments
</b></details>
##### AWS Security
<details>
<summary>What is the shared responsibility model? In other words, what AWS is responsible for and what the user is responsible for in regards to Security?</summary><br><b>
</b></details>
<details>
<summary>What is the AWS compliance program?</summary><br><b>
</b></details>

View File

@ -0,0 +1,92 @@
<details>
<summary>Explain what each of the following services is used for
* AWS Inspector
* AWS Artifact
* AWS Shield</summary><br><b>
</b></details>
<details>
<summary>What is AWS WAF? Give an example of how it can used and describe what resources or services you can use it with</summary><br><b>
</b></details>
<details>
<summary>What AWS VPN is usef for?</summary><br><b>
</b></details>
<details>
<summary>What is the difference between Site-to-Site VPN and Client VPN?</summary><br><b>
</b></details>
<details>
<summary>True or False? AWS Inspector can perform both network and host assessments</summary><br><b>
True
</b></details>
#### AWS Databases
<details>
<summary>What is RDS?</summary><br><b>
</b></details>
<details>
<summary>What are some features or benefits of using RDS?</summary><br><b>
1. Multi AZ - great for Disaster Recovery
2. Read Replicas - for better performances
</b></details>
<details>
<summary>What is EBS?</summary><br><b>
</b></details>
#### AWS Networking
<details>
<summary>What is VPC?</summary><br><b>
</b></details>
<details>
<summary>Explain Security Groups and Network ACLs</summary><br><b>
</b></details>
#### Misc
<details>
<summary>Explain what are the following services and give an use case example for each one them:
* CloudTrail
* CloudWatch
* CloudSearch</summary><br><b>
</b></details>
## Network
<a name="network-beginner"></a>
#### :baby: Beginner
<details>
<summary>What is Ethernet?</summary><br><b>
</b></details>
<details>
<summary>What is a MAC address? What is it used for?</summary><br><b>
</b></details>
<details>
<summary>When is this MAC address used?: ff:ff:ff:ff:ff:ff</summary><br><b>
</b></details>
<details>
<summary>What is an IP address?</summary><br><b>
</b></details>
<details>
<summary>Explain subnet mask and given an example</summary><br><b>
</b></details>
<details>
<summary>What is a private IP address? What do we need it for?</summary><br><b>
</b></details>

View File

View File

View File