Fix somehow broken commit
This commit is contained in:
parent
2016810e0f
commit
dd30656e7c
@ -1,91 +0,0 @@
|
|||||||
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))
|
|
@ -1,29 +0,0 @@
|
|||||||
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
|
|
@ -1,101 +0,0 @@
|
|||||||
<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>
|
|
@ -1,92 +0,0 @@
|
|||||||
<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>
|
|
Loading…
Reference in New Issue
Block a user