50 najważniejszych pytań i odpowiedzi podczas rozmów kwalifikacyjnych DevOps (PDF)
Oto pytania i odpowiedzi dotyczące rozmów kwalifikacyjnych DevOps dla świeżych i doświadczonych kandydatów, którzy chcą zdobyć wymarzoną pracę.
Pytania i odpowiedzi dotyczące rozmowy kwalifikacyjnej DevOps dla nowicjuszy
1) Wyjaśnij, czym jest DevOps?
Jest to nowy termin w dziedzinie IT, który jest niczym innym, jak praktyką, która podkreśla współpracę i komunikację zarówno programistów oprogramowania, jak i zespołu wdrożeniowego (operacyjnego). Skupia się na szybszym dostarczaniu oprogramowania i obniżaniu wskaźnika awaryjności wydań.
👉 Bezpłatne pobieranie pliku PDF: pytania i odpowiedzi dotyczące wywiadu DevOps >>
2) Wspomnij, jakie są kluczowe aspekty lub zasady DevOps?
Kluczowymi aspektami lub zasadą DevOps jest
- Infrastruktura jako kod
- Ciągłe wdrażanie
- Automatyzacja
- Monitorowanie
- Bezpieczeństwo
3) Jakie są główne operacje DevOps związane z rozwojem aplikacji i infrastrukturą?
Podstawowe operacje DevOps to:
Tworzenie aplikacji
- Budowanie kodu
- Pokrycie kodu
- Testy jednostkowe
- Pakowanie
- Rozlokowanie
Infrastruktura
- Provisioning
- systemu
- orkiestracja
- Rozlokowanie
4) Wyjaśnij, w jaki sposób „kod infrastruktury” jest przetwarzany lub wykonywany w AWS?
w AWS-ie,
- Kod infrastruktury będzie w prostym formacie JSON
- Ten kod JSON zostanie zorganizowany w pliki zwane szablonami
- Te szablony można wdrożyć w AWS DevOps, a następnie zarządzać nimi jako stosami
- Later Usługa CloudFormation wykona operację tworzenia, usuwania, aktualizowania itp. w stosie
5) Wyjaśnij, który język skryptowy jest najważniejszy dla inżyniera DevOps?
Dla inżyniera DevOps lepszy będzie prostszy język skryptowy. Python wydaje się być bardzo popularne.
6) Wyjaśnij, w jaki sposób DevOps jest pomocny dla programistów?
DevOps może być pomocne dla programistów w szybkim naprawieniu błędu i wdrożeniu nowych funkcji. Pomaga także w lepszej komunikacji pomiędzy członkami zespołu.
7) Wymień kilka popularnych narzędzi dla DevOps?
Niektóre z popularnych narzędzi DevOps to
- Jenkins
- Nagios
- Monit
- ELK (Elastyczne wyszukiwanie, Logstash, Kibana)
- Jenkins
- Doker
- Wiarygodne
- git
8) Wspomnij, w którym przypadku korzystałeś z SSH?
Użyłem protokołu SSH do zalogowania się na zdalny komputer i pracy w wierszu poleceń. Poza tym użyłem go również do tunelowania systemu, aby ułatwić bezpieczną szyfrowaną komunikację między dwoma niezaufanymi hostami w niezabezpieczonej sieci.
9) Wyjaśnij, jak poradziłbyś sobie z kontrolą wersji (wersji)?
Moje podejście do kontroli wersji polega na opublikowaniu kodu na SourceForge lub GitHub, aby każdy mógł go zobaczyć. Opublikuję także listę kontrolną z ostatniej wersji, aby upewnić się, że wszelkie nierozwiązane problemy zostały rozwiązane.
10) Jakie są rodzaje żądań HTTP?
Rodzaje żądań HTTP to
- GET
- GŁOWA
- PUT
- POST
- ŁATA
- DELETE
- TRACE
- CONNECT
- OPCJE
11) Wyjaśnij, co byś sprawdził, gdyby serwer Linux-owy nagle zaczął działać wolno?
Jeśli serwer kompilacji systemu Linux nagle zacznie działać wolniej, należy sprawdzić następujące trzy rzeczy
Rozwiązywanie problemów na poziomie aplikacji | Problemy związane z pamięcią RAM, problemy z odczytem i zapisem na dysku, problemy związane z miejscem na dysku itp. |
Rozwiązywanie problemów na poziomie systemu | Sprawdź plik dziennika aplikacji LUB plik dziennika serwera aplikacji, problemy z wydajnością systemu, dziennik serwera WWW — sprawdź dzienniki HTTP, Tomcat lo, jboss lub WebLogic, aby sprawdzić, czy czas odpowiedzi/odbioru serwera aplikacji nie jest przyczyną spowolnienia, wycieku pamięci aplikacja |
Rozwiązywanie problemów z usługami zależnymi | Problemy związane z oprogramowaniem antywirusowym, problemy związane z zaporą sieciową, problemy z siecią, problemy z czasem odpowiedzi serwera SMTP itp. |
12) Jakie są kluczowe elementy DevOps?
Oto kilka ważnych Fazy cyklu życia DevOps:
- Ciągły rozwój
- Ciągła integracja
- Ciągłe testowanie
- Ciągłe wdrażanie
- Ciągłe monitorowanie
- Ciągła informacja zwrotna
- Ciągły Operanych
13) Wymień kilka platform chmurowych, które są wykorzystywane w implementacji DevOps
Popularnymi platformami Cloud Computing wykorzystywanymi do wdrażania DevOps są:
- Google Cloud
- Amazon Web Services
- Microsoft Azure
14) Podaj zalety stosowania systemu kontroli wersji
- System kontroli wersji pozwala członkom zespołu na swobodną pracę nad dowolnym plikiem w dowolnym momencie.
- Wszystkie poprzednie wersje i warianty są ściśle upakowane w VCS.
- Rozproszony VCS pomaga przechowywać pełną historię projektu, dzięki czemu w przypadku awarii centralnego serwera możesz skorzystać z lokalnego repozytorium Git członka Twojego zespołu.
- Umożliwia sprawdzenie, jakie dokładnie zmiany zaszły w zawartości pliku
15) Wyjaśnij Git Bisect
Git bisect pomaga znaleźć zatwierdzenie, które spowodowało błąd przy użyciu wyszukiwania binarnego.
16) Jaka jest konstrukcja?
Kompilacja to metoda, w której kod źródłowy jest łączony w celu sprawdzenia, czy działa jako pojedyncza jednostka. W procesie tworzenia kompilacji kod źródłowy zostanie poddany kompilacji, kontroli, testowaniu i wdrożeniu.
17) Czym jest marionetka?
Marionetka to przydatne narzędzie do zarządzania projektami. Pomaga zautomatyzować zadania administracyjne.
18) Wyjaśnij uwierzytelnianie dwuskładnikowe
Uwierzytelnianie dwuskładnikowe to metoda bezpieczeństwa, w której użytkownik udostępnia dwa sposoby identyfikacji z odrębnych kategorii.
19) Wyjaśnij termin „Canary Uwolnienie'.
Wersja kanarkowa to wzorzec, który zmniejsza ryzyko wprowadzenia nowej wersji oprogramowania do środowiska produkcyjnego. Odbywa się to poprzez udostępnienie jej w sposób kontrolowany podgrupie użytkowników. Przed udostępnieniem jej całemu zestawowi użytkowników.
20) Jakie rodzaje testów są ważne, aby upewnić się, że nowa usługa jest gotowa do produkcji?
Należy przeprowadzać ciągłe testy, aby mieć pewność, że nowa usługa jest gotowa do wdrożenia w środowisku produkcyjnym.
Pytania i odpowiedzi dotyczące rozmowy kwalifikacyjnej DevOps dla doświadczonych
21) Co to jest włóczęga?
Włóczęga to narzędzie, które może tworzyć i zarządzać zwirtualizowanymi środowiskami do testowania i rozwijania oprogramowania.
22) Jakie jest zastosowanie PTR w DNS?
Rekord wskaźnikowy, znany również jako (PTR), służy do wstecznego wyszukiwania DNS.
23) Kim jest szef kuchni?
Jest to potężna platforma automatyzacji, która przekształca infrastrukturę w kod. W tym narzędziu możesz używać skryptów zapisu, które służą do automatyzacji procesów.
24) Jakie są przesłanki wdrożenia DevOps?
Poniżej przedstawiono przydatne wymagania wstępne dla wdrożenia DevOps:
- Co najmniej jedno oprogramowanie do kontroli wersji
- Właściwa komunikacja pomiędzy członkami zespołu
- Automatyczne testowanie
- Zautomatyzowane wdrażanie
25) Wymień kilka najlepszych praktyk, których należy przestrzegać, aby DevOps odniosło sukces.
Oto najważniejsze najlepsze praktyki dotyczące wdrażania DevOps:
- Szybkość dostawy oznacza czas potrzebny na dostarczenie dowolnego zadania do środowiska produkcyjnego.
- Śledź, ile defektów znajduje się w różnych
- Ważne jest, aby zmierzyć rzeczywisty lub średni czas potrzebny na przywrócenie działania w przypadku awarii w środowisku produkcyjnym.
- Na jakość aplikacji wpływa także liczba błędów zgłaszanych przez klienta.
26) Wyjaśnij narzędzie SubGIt
SubGit pomaga w migracji SVN do Git. Umożliwia także zbudowanie zapisywalnego kopii lustrzanej Git lokalnego lub zdalnego repozytorium Subversion.
27) Wymień kilka ważnych narzędzi monitorowania sieci
Niektóre z najbardziej znanych narzędzi do monitorowania sieci to:
- Splunk
- Icinga 2
- Wireshark
- Nagios
- Otwórz NMS
28) Czy Twoja karta graficzna może działać Unity Skąd miałbyś wiedzieć?
Kiedy używasz polecenia
/usr/lib/Linux/unity_support_test-p
wyświetli szczegółowe dane wyjściowe na temat Unityi jeśli zostaną spełnione, to Twoja karta graficzna będzie mogła uruchomić Unity.
29) Wyjaśnij, jak włączyć dźwięk startowy w Ubuntu?
Aby włączyć dźwięk uruchamiania
- Kliknij przekładnię sterującą, a następnie kliknij Aplikacje startowe
- W Preferencje aplikacji startowej okno, kliknij Dodaj aby dodać wpis
- Następnie wpisz informacje w polach komentarza, takich jak Nazwa, Polecenie i Komentarz.
/usr/bin/canberra-gtk-play—id= "desktop-login"—description= "play login sound"
- Wyloguj się, a następnie zaloguj, gdy już skończysz
Można go także otworzyć za pomocą klawisza skrótu Ctrl+Alt+T
.
30) Jaki jest najszybszy sposób otwarcia pliku Ubuntu terminal w określonym katalogu?
Aby otworzyć Ubuntu terminal w określonym katalogu, możesz użyć niestandardowego skrótu klawiaturowego.
Aby to zrobić, w polu poleceń nowej niestandardowej klawiatury wpisz genom – terminal – –working – katalog = /ścieżka/do/katalog.
31) Wyjaśnij, w jaki sposób można uzyskać bieżący kolor bieżącego ekranu na Ubuntu pulpit?
Możesz otworzyć obraz tła w The Gimp (edytor obrazów), a następnie użyć narzędzia kroplomierza, aby wybrać kolor w określonym punkcie. Podaje ono wartość RGB koloru w tym punkcie.
32) Wyjaśnij, jak tworzysz programy uruchamiające na komputerze w Ubuntu?
Aby utworzyć programy uruchamiające na pulpicie w Ubuntu możesz użyć
ALT+F2, następnie wpisz „gnome-desktop-item-edit –create-new~/desktop”, uruchomi stare okno GUI i utworzy program uruchamiający na twoim pulpicie
33) Wyjaśnij, czym jest Memcached?
Memcached to darmowy i otwarty, wydajny, rozproszony system pamięci podręcznej obiektów. Głównym celem Memcached jest zwiększenie czasu reakcji dla danych, które w przeciwnym razie można odzyskać lub skonstruować z innego źródła lub bazy danych. Jest on używany w celu uniknięcia konieczności obsługi bazy danych SQL lub innego źródła w sposób powtarzalny w celu pobrania danych dla współbieżnego żądania.
Można używać Memcached
- Sieci społecznościowe->Buforowanie profilu
- Agregacja treści->Buforowanie HTML/strony
- Kierowanie reklam-> Śledzenie plików cookie/profilu
- Relacja->Buforowanie sesji
- E-commerce -> Buforowanie sesji i HTML
- Usługi lokalizacyjne->Skalowanie zapytań do baz danych
- Gry i rozrywka->Buforowanie sesji
Memcache pomaga
- Przyspiesz procesy aplikacyjne
- Określa, co przechowywać, a czego nie
- Zmniejsz liczbę żądań pobierania do bazy danych
- Ogranicza dostęp do wejść/wyjść (wejścia/wyjścia) (dysk twardy)
Wadą Memcached jest
- Nie jest to trwały magazyn danych
- Nie baza danych
- Nie jest to specyficzna aplikacja
- Nie może buforować dużego obiektu
34) Wymień kilka ważnych funkcji Memcached?
Ważne funkcje Memcached obejmują
- Tokeny CAS: Token CAS jest dołączany do obiektu pobranego z pamięci podręcznej. Możesz użyć tego tokena, aby zapisać zaktualizowany obiekt.
- Oddzwonienia: Upraszcza kod
- uzyskajOpóźnienie: Zmniejsza czas opóźnienia skryptu oczekującego na wyniki z serwera
- Protokół binarny: W nowszym kliencie możesz używać protokołu binarnego zamiast ASCII
- Igbinarny: Wcześniej klient zawsze wykonywał serializację wartości zawierających złożone dane, ale w przypadku Memcached można używać opcji igbinary.
Pytania i odpowiedzi dotyczące rozmowy kwalifikacyjnej DevOps dla doświadczenia 5+
35) Wyjaśnij, czy możliwe jest współdzielenie pojedynczej instancji Memcache pomiędzy wieloma projektami?
Tak, możliwe jest współdzielenie pojedynczej instancji Memcache pomiędzy wieloma projektami. Memcache to miejsce przechowywania pamięci, które można uruchomić na jednym lub większej liczbie serwerów. Możesz także skonfigurować klienta tak, aby komunikował się z określonym zestawem instancji. Można więc uruchomić dwa różne procesy Memcache na tym samym hoście, a mimo to są one całkowicie niezależne. Chyba, że podzieliłeś swoje dane na partycje, wtedy konieczne będzie wiedzieć, z której instancji pobrać dane lub do której je umieścić.
36) Masz wiele serwerów Memcache i jeden z nich ulega awarii i zawiera Twoje dane. Czy kiedykolwiek będzie próbował uzyskać kluczowe dane z tego jednego uszkodzonego serwera?
Dane z uszkodzonego serwera nie zostaną usunięte, ale istnieje możliwość automatycznej awarii, którą można skonfigurować dla wielu węzłów. Przełączenie awaryjne może zostać wywołane w przypadku błędów na poziomie dowolnego gniazda lub serwera Memcached, a nie podczas standardowych błędów klienta, takich jak dodanie istniejącego klucza itp.
37) Wyjaśnij, jak zminimalizować awarie serwera Memcached?
- Kiedy jedna instancja ulegnie awarii, kilka z nich ulegnie awarii, co spowoduje większe obciążenie serwera bazy danych po ponownym załadowaniu utraconych danych w odpowiedzi na żądanie klienta. Aby tego uniknąć, jeśli Twój kod został napisany tak, aby zminimalizować buforowanie pamięci podręcznej, będzie to miało minimalny wpływ
- Innym sposobem jest wywołanie instancji Memcached na nowej maszynie przy użyciu utraconego adresu IP maszyny
- Kod jest kolejną opcją minimalizującą przestoje serwera, ponieważ daje swobodę zmiany listy serwerów Memcached przy minimalnym nakładzie pracy
- Ustawienie wartości limitu czasu to kolejna opcja wdrażana przez niektórych klientów Memcached w przypadku awarii serwera Memcached. Kiedy Twój serwer Memcached ulegnie awarii, klient będzie próbował wysłać żądanie aż do osiągnięcia limitu czasu
38) Wyjaśnij, w jaki sposób możesz zaktualizować Memcached w przypadku zmiany danych?
Kiedy dane się zmienią, możesz zaktualizować Memcached za pomocą
- Aktywne czyszczenie pamięci podręcznej: Czyszczenie pamięci podręcznej po dokonaniu wstawienia lub aktualizacji
- Resetowanie pamięci podręcznej: Jest to podobne do pierwszej metody, ale zamiast po prostu usuwać klucze i czekać na kolejne żądanie danych w celu odświeżenia pamięci podręcznej, zresetuj wartości po wstawieniu lub aktualizacji.
39) Wyjaśnij, czym jest efekt Dogpile? Jak można zapobiec temu efektowi?
Efekt dogpile odnosi się do zdarzenia, gdy pamięć podręczna wygaśnie, a strony internetowe zostaną dotknięte wieloma żądaniami wysyłanymi przez klienta w tym samym czasie. Efektowi temu można zapobiec stosując blokadę semafora. W tym systemie, gdy wartość wygaśnie, pierwszy proces nabywa blokadę i rozpoczyna generowanie nowej wartości.
40) Wyjaśnij, w jaki sposób nie należy używać Memcached?
- Powszechnym nadużyciem Memcached jest używanie go jako magazynu danych, a nie jako pamięci podręcznej
- Nigdy nie używaj Memcached jako jedynego źródła informacji potrzebnych do uruchomienia aplikacji. Dane powinny być zawsze dostępne także z innego źródła
- Memcached to po prostu magazyn kluczy lub wartości i nie może wykonywać zapytań dotyczących danych ani iterować po zawartości w celu wyodrębnienia informacji
- Memcached nie oferuje żadnej formy bezpieczeństwa ani w zakresie szyfrowania, ani uwierzytelniania
41) Czy po wyłączeniu serwera dane przechowywane w Memcached są nadal dostępne?
Dane przechowywane w Memcached nie są trwałe, więc jeśli serwer zostanie wyłączony lub ponownie uruchomiony, wszystkie dane przechowywane w Memcached zostaną usunięte.
42) Wspomnij, jaka jest różnica między Memcache i Memcached?
- Pamięć podręczna: Jest to rozszerzenie umożliwiające pracę z wygodnymi interfejsami obiektowymi (OOP) i proceduralnymi. Został zaprojektowany w celu zmniejszenia obciążenia bazy danych w dynamicznych aplikacjach internetowych.
- w pamięci podręcznej: Jest to rozszerzenie, które używa libmemcached-zapisany biblioteka zapewniająca interfejs API do komunikacji z serwerami Memcached. Służy do zwiększenia dynamiki aplikacji internetowych poprzez zmniejszenie obciążenia bazy danych. To najnowsze API.
43) Wyjaśnij wzór wdrożenia niebieski/zielony
Wzór kolorowania niebiesko-zielonego odpowiada na najważniejsze wyzwania stojące przed procesem automatycznego wdrażania. W podejściu Blue/Green Deployment należy zapewnić dwa identyczne środowiska produkcyjne. Jednak tylko jeden z nich jest NA ŻYWO w danym momencie. Środowisko LIVE nazywane jest środowiskiem niebieskim.
Gdy zespół przygotowuje kolejną wersję swojego oprogramowania, przeprowadza ostatni etap testowania w środowisku znanym jako środowisko Green. Po weryfikacji ruch jest kierowany do środowiska Green.
44) Jakie są kontenery?
Kontenery pochodzą z lekkiej wirtualizacji. Oferują izolację pomiędzy procesami.
45) Czym jest spotkanie pośmiertne w odniesieniu do DevOps?
Spotkanie pośmiertne odbywa się w celu omówienia tego, co poszło nie tak i jakie kroki należy podjąć, aby uniknąć niepowodzeń.
46) Jaka jest najłatwiejsza metoda zbudowania małej chmury?
VMfres to jedna z najskuteczniejszych opcji tworzenia chmury IaaS z Virtual Box Maszyny wirtualne w mgnieniu oka. Jeśli jednak potrzebujesz lekkiego PaaS, Dokku jest dobrą opcją, ponieważ skrypt bash może być PaaS z kontenerów Dokku.
47) Wymień dwa narzędzia używane w sieci dokerów.
W przypadku sieci dokerów można używać Kubernetes i roju Docker.
48) Wymień niektóre obszary, w których wdrażany jest DevOps
Metodykę DevOps stosuje się w produkcji, operacjach informatycznych, w procesie sprzężenia zwrotnego produkcji i w tworzeniu oprogramowania.
49) Co to jest CBD?
CBD, czyli rozwój oparty na komponentach, to wyjątkowy sposób podejścia do rozwoju produktu. W tej metodzie programiści zawsze szukają istniejących, dobrze zdefiniowanych, przetestowanych i zweryfikowanych komponentów, aby skomponować i złożyć je w produkt, zamiast tworzyć od zera.
50) Wyjaśnij programowanie w parach w odniesieniu do DevOps
Programowanie w parach jest praktyką inżynierską zgodną z zasadami programowania ekstremalnego. W tej metodzie dwóch programistów pracuje na tym samym systemie, na tym samym projekcie/algorytmie/kodzie.
Jeden programista pełni rolę „kierowcy”. Inne pełnią rolę „obserwatora”, który na bieżąco monitoruje postęp projektu w celu identyfikacji problemów. Role mogą zostać odwrócone w dowolnym momencie, bez wcześniejszej zapowiedzi.
51) Wyjaśnij test odporności
Test zapewniający odtworzenie bez utraty danych i funkcjonalności po awarii nazywa się testami odporności.
52) Wymień trzy ważne KPI DevOps
Trzy najczęstsze KPI DevOps to:
- W międzyczasie do usunięcia awarii
- Częstotliwość wdrażania
- Procent nieudanych wdrożeń
Te pytania podczas rozmowy kwalifikacyjnej pomogą również w Twoim życiu (ustach)