20 listopada 2024
Pytania rekrutacyjne o AWS
Razem z zespołem przeprowadzałem rekrutację na stanowisko DevOps Engineer w naszej firmie. Potrzebowaliśmy specjalisty z dość szerokim wachlarzem technologii, w tym oczywiście chmurowe AWS. Moim zdaniem właśnie było zweryfikowanie wiedzy kandydatów w zakresie usług z których głównie korzystamy.
Poniżej zamieszam pytania i odpowiedzi, z których korzystałem. Drogi czytelniku, śmiało możesz wykorzystać je w swoim procesie rekrutacji na stanowisko, które dotyczy chmury Amazona.
Amazon EC2
- Pytanie: Jakie są różnice między instancjami typu On-Demand, Reserved Instances i Spot Instances?
Odpowiedź:- On-Demand: Płacisz za czas użycia, elastyczne, bez zobowiązań.
- Reserved Instances: Tańsze niż On-Demand, wymaga wcześniejszej rezerwacji na określony okres (1 lub 3 lata).
- Spot Instances: Najtańsze, wykorzystujesz niewykorzystane moce obliczeniowe AWS, możliwość przerwania instancji.
- Pytanie: Co to jest Security Group i jak działa w Amazon EC2?
Odpowiedź: Security Group to wirtualna zapora sieciowa dla instancji EC2, która kontroluje ruch przychodzący i wychodzący. Jest przypisywana na poziomie instancji i działa w oparciu o reguły pozwalające lub blokujące ruch na określonych portach i IP. - Pytanie: Jak zapewnić wysoką dostępność dla aplikacji uruchomionej na EC2?
Odpowiedź:- Użycie Auto Scaling Groups do dynamicznego skalowania.
- Rozmieszczenie instancji w wielu Availability Zones.
- Użycie Elastic Load Balancer (ELB) do rozdzielania ruchu.
Amazon S3
- Pytanie: Wyjaśnij różnicę między klasami przechowywania w S3 (np. Standard, Intelligent-Tiering, Glacier).
Odpowiedź:- Standard: Niska latencja, wysoka dostępność, przechowywanie często używanych danych.
- Intelligent-Tiering: Automatyczne przenoszenie danych między klasami w zależności od ich użycia.
- Glacier: Niska cena, przechowywanie archiwalne z dłuższym czasem dostępu.
- Pytanie: Jak działa mechanizm wersjonowania w S3?
Odpowiedź: Wersjonowanie pozwala przechowywać wiele wersji obiektów w S3. Po włączeniu, nowe wersje obiektu nie nadpisują istniejących, co umożliwia odzyskanie wcześniejszych wersji. - Pytanie: Jak zabezpieczyć dane w S3 przed nieautoryzowanym dostępem?
Odpowiedź:- Stosowanie polityk IAM i polityk bucketów.
- Użycie szyfrowania danych (np. SSE-S3, SSE-KMS).
- Włączanie kontroli dostępu publicznego (Block Public Access).
AWS Lambda
- Pytanie: Jakie są ograniczenia AWS Lambda (np. czas wykonania, pamięć)?
Odpowiedź:- Maksymalny czas wykonania do 15 minut.
- Pamięć – od 128 MB do 10 GB.
- Tymczasowe przechowywanie danych – 512 MB (/tmp).
- Pytanie: Jakie są wyzwalacze dla AWS Lambda? Podaj kilka przykładów.
Odpowiedź: Lambda może być wyzwalana przez:- S3 (np. przesłanie pliku do bucketu).
- DynamoDB Streams.
- EventBridge/Scheduler.
- API Gateway (REST/HTTP API).
- Pytanie: Co to jest cold start w AWS Lambda? Jak można go zminimalizować?
Odpowiedź: Cold start to opóźnienie związane z uruchomieniem funkcji, gdy nie ma aktywnej instancji. Można je minimalizować, np. poprzez:- Użycie mniejszych runtimes.
- Utrzymywanie funkcji w provisioned concurrency.
AWS CloudFormation
- Pytanie: Co to jest CloudFormation Stack i jak się go używa?
Odpowiedź: Stack to kolekcja zasobów AWS zarządzana jako jedna jednostka. Używany jest do automatycznego tworzenia i zarządzania infrastrukturą zgodnie z definicją w pliku szablonu (JSON/YAML). - Pytanie: Jak CloudFormation radzi sobie z błędami podczas tworzenia stosu?
Odpowiedź: Jeśli wystąpi błąd, CloudFormation domyślnie wycofa zmiany (rollback), przywracając stan sprzed tworzenia stosu. Można to wyłączyć (opcja Disable Rollback). - Pytanie: Jakie korzyści daje użycie parametrów w szablonach CloudFormation?
Odpowiedź: Parametry pozwalają na tworzenie bardziej dynamicznych i wielokrotnego użytku szablonów, umożliwiając użytkownikom wprowadzanie danych podczas wdrażania stosu.