ściągnij PDF
1) Wyjaśnij, czym jest DevOps?
Jest to nowy termin w dziedzinie IT, który jest niczym innym jak praktyką, która kładzie nacisk na współpracę i komunikację zarówno programistów, jak i zespołu wdrożeniowego (operacyjnego). Koncentruje się na szybszym dostarczaniu oprogramowania i zmniejszaniu awaryjności wydań.
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ą podstawowe operacje DevOps w zakresie tworzenia aplikacji i infrastruktury?
Podstawowe operacje DevOps to
Rozwój aplikacji
- Tworzenie kodu
- Pokrycie kodu
- Testów jednostkowych
- Opakowanie
- Rozlokowanie
Infrastruktura
- Obsługa administracyjna
- Konfiguracja
- Orkiestracja
- Rozlokowanie
4) Wyjaśnij, w jaki sposób „kod infrastruktury” jest przetwarzany lub wykonywany w AWS?
W AWS
- Kod infrastruktury będzie miał prosty format JSON
- Ten kod JSON zostanie zorganizowany w pliki zwane szablonami
- Te szablony można wdrożyć w DevOps AWS, a następnie zarządzać jako stosy
- Później usługa CloudFormation wykona operację tworzenia, usuwania, aktualizowania itp. Na stosie
5) Wyjaśnij, który język skryptowy jest najważniejszy dla inżyniera DevOps?
Prostszy język skryptowy będzie lepszy dla inżyniera DevOps. Python wydaje się być bardzo popularny.
6) Wyjaśnij, w jaki sposób metoda DevOps jest pomocna dla programistów?
DevOps może być pomocne dla programistów w naprawianiu błędu i szybkim wdrażaniu nowych funkcji. Pomaga również w lepszej komunikacji między członkami zespołu.
7) Wymień niektóre popularne narzędzia do DevOps?
Niektóre z popularnych narzędzi DevOps to
- Jenkins
- Nagios
- Monit
- ELK (Elasticsearch, Logstash, Kibana)
- Jenkins
- Doker
- Ansible
- Git
8) Wspomnij, w jakim przypadku używałeś SSH?
Użyłem SSH do zalogowania się na zdalnej maszynie i pracy w wierszu poleceń. Poza tym użyłem go również do tunelowania do systemu w celu ułatwienia bezpiecznej szyfrowanej komunikacji między dwoma niezaufanymi hostami w niezabezpieczonej sieci.
9) Wyjaśnij, jak poradzisz sobie z kontrolą wersji (wersji)?
Moim podejściem do obsługi kontroli wersji byłoby opublikowanie kodu na SourceForge lub GitHub, aby każdy mógł go zobaczyć. Opublikuję również listę kontrolną z ostatniej wersji, aby upewnić się, że wszelkie nierozwiązane problemy zostały rozwiązane.
10) Jakie są typy żądań HTTP?
Typy żądań HTTP to
- OTRZYMAĆ
- GŁOWA
- POŁOŻYĆ
- POCZTA
- ŁATA
- KASOWAĆ
- ŚLAD
- POŁĄCZYĆ
- OPCJE
11) Wyjaśnij, co byś sprawdził, jeśli serwer kompilacji Linuksa nagle zacznie zwalniać?
Jeśli serwer kompilacji Linuksa nagle zacznie zwalniać, sprawdź następujące trzy rzeczy
| Problemy związane z pamięcią RAM, problemy z odczytem i zapisem we / wy dysku, problemy związane z miejscem na dysku itp. |
| Sprawdź plik dziennika aplikacji LUB plik dziennika serwera aplikacji, problemy z wydajnością systemu, dziennik serwera sieci Web - sprawdź dzienniki HTTP, tomcat lo, jboss lub WebLogic, aby zobaczyć, czy czas odpowiedzi / odbioru serwera aplikacji jest przyczyną spowolnienia, czy wycieku pamięci podanie |
| Problemy związane z programem antywirusowym, problemy związane z zaporą, problemy z siecią, problemy z czasem odpowiedzi serwera SMTP itp. |
12) Jakie są kluczowe składniki DevOps?
Najważniejsze komponenty DevOps to:
- Ciągła integracja
- Ciągłe testowanie
- Ciągła dostawa
- Ciągłe monitorowanie
13) Wymień kilka platform chmurowych, które są używane do implementacji DevOps
Popularną platformą obliczeniową w chmurze używaną do implementacji DevOps są:
- Google Cloud
- Amazon Web Services
- Microsoft Azure
14) Podaj kilka korzyści z używania systemu kontroli wersji
- System kontroli wersji umożliwia członkom zespołu swobodną pracę na dowolnym pliku w dowolnym momencie.
- Wszystkie poprzednie wersje i warianty są ściśle upakowane w VCS.
- Rozproszony system VCS pomaga przechowywać pełną historię projektu, więc w przypadku awarii centralnego serwera możesz skorzystać z lokalnego repozytorium Git członka zespołu.
- Pozwala zobaczyć, jakie dokładnie zmiany zostały wprowadzone 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 kompilacja?
Kompilacja to metoda, w której kod źródłowy jest składany w celu sprawdzenia, czy działa jako pojedyncza jednostka. W procesie tworzenia kompilacji kod źródłowy zostanie poddany kompilacji, inspekcji, testowaniu i wdrożeniu.
17) Co to jest Puppet?
Puppet to przydatne narzędzie do zarządzania projektami. Pomaga w automatyzacji zadań administracyjnych.
18) Wyjaśnij uwierzytelnianie dwuskładnikowe
Uwierzytelnianie dwuskładnikowe to metoda bezpieczeństwa, w której użytkownik zapewnia dwa sposoby identyfikacji z oddzielnych kategorii.
19) Wyjaśnij termin „uwolnienie kanarków”.
Wersja kanarka to wzorzec, który zmniejsza ryzyko wprowadzenia nowej wersji oprogramowania do środowiska produkcyjnego. Odbywa się to poprzez udostępnienie go w kontrolowany sposób podgrupie użytkowników. Przed udostępnieniem dla pełnego zestawu użytkownika.
20) Jakie rodzaje testów są ważne, aby upewnić się, że nowa usługa jest gotowa do produkcji?
Musisz przeprowadzać ciągłe testy, aby mieć pewność, że nowa usługa jest gotowa do produkcji.
21) Co to jest Vagrant?
Włóczęga to narzędzie, które może tworzyć zwirtualizowane środowiska i zarządzać nimi w celu testowania i rozwijania oprogramowania.
22) Jakie jest zastosowanie PTR w DNS?
Rekord wskaźnika, który jest również znany jako (PTR), jest używany do wstecznego wyszukiwania DNS.
23) Co to 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 do pisania, które służą do automatyzacji procesów.
24) Jakie są warunki wstępne do wdrożenia DevOps?
Poniżej przedstawiono przydatne wymagania wstępne dotyczące implementacji metodyki DevOps:
- Co najmniej jedno oprogramowanie do kontroli wersji
- Właściwa komunikacja między członkami zespołu
- Testowanie automatyczne
- Zautomatyzowane wdrażanie
25) Wymień kilka najlepszych praktyk, których należy przestrzegać, aby odnieść sukces w DevOps.
Oto najważniejsze najważniejsze wskazówki dotyczące wdrażania DevOps:
- Szybkość dostawy oznacza czas potrzebny na wprowadzenie dowolnego zadania do środowiska produkcyjnego.
- Śledź, ile wad znajduje się w różnych
- Ważne jest, aby zmierzyć rzeczywisty lub średni czas potrzebny do przywrócenia w przypadku awarii w środowisku produkcyjnym.
- Liczba błędów zgłaszanych przez klienta również wpływa na jakość aplikacji.
26) Wyjaśnij narzędzie SubGIt
SubGit pomaga w migracji SVN do Git. Pozwala także na zbudowanie zapisywalnego serwera lustrzanego Git lokalnego lub zdalnego repozytorium Subversion.
27) Wymień kilka ważnych narzędzi do monitorowania sieci
Niektóre z najbardziej znanych narzędzi do monitorowania sieci to:
- Splunk
- Icinga 2
- Wireshark
- Nagios
- OpenNMS
28) Czy Twoja karta graficzna może obsługiwać Unity, skąd możesz wiedzieć?
Kiedy używasz polecenia
/usr/lib/Linux/unity_support_test-p
da szczegółowe informacje o wymaganiach Unity, a jeśli zostaną spełnione, Twoja karta wideo może działać w systemie Unity.
29) Wyjaśnij, jak włączyć dźwięk uruchamiania w Ubuntu?
Aby włączyć dźwięk uruchamiania
- Kliknij koło zębate, a następnie kliknij Aplikacje startowe
- W oknie Preferencje aplikacji startowej kliknij Dodaj, aby dodać wpis
- Następnie wypełnij informacje w polach komentarzy, takich jak Nazwa, Polecenie i Komentarz
/usr/bin/canberra-gtk-play-id= "desktop-login"-description= "play login sound"
- Wyloguj się, a następnie zaloguj się po zakończeniu
Można również otworzyć go z klawisza skrótu Ctrl + Alt + T .
30) Jaki jest najszybszy sposób otwarcia terminala Ubuntu w określonym katalogu?
Aby otworzyć terminal Ubuntu w określonym katalogu, możesz użyć niestandardowego skrótu klawiaturowego.
Aby to zrobić, w polu poleceń nowej klawiatury niestandardowej wpisz genome - terminal - - working - directory = / path / to / dir.
31) Wyjaśnij, jak możesz uzyskać bieżący kolor bieżącego ekranu na pulpicie Ubuntu?
Możesz otworzyć obraz tła w The Gimp (edytorze obrazów), a następnie użyć narzędzia dropper, aby wybrać kolor w określonym punkcie. Daje ci wartość RGB koloru w tym momencie.
32) Wyjaśnij, jak tworzysz programy uruchamiające na pulpicie w Ubuntu?
Aby utworzyć programy uruchamiające na pulpicie w Ubuntu, możesz użyć
ALT + F2, a następnie wpisz „gnome-desktop-item-edit -create-new ~ / desktop”, spowoduje to uruchomienie starego okna GUI i utworzenie programu uruchamiającego na pulpicie
33) Wyjaśnij, czym jest Memcached?
Memcached to darmowy i otwarty, wysokowydajny, rozproszony system buforowania obiektów pamięci. Głównym celem Memcached jest wydłużenie czasu odpowiedzi na dane, które można w inny sposób odzyskać lub skonstruować z innego źródła lub bazy danych. Jest używany, aby uniknąć konieczności powtarzania obsługi bazy danych SQL lub innego źródła w celu pobierania danych dla współbieżnego żądania.
Memcached może być używany do
- Sieci społecznościowe-> Buforowanie profilu
- Agregacja treści-> HTML / buforowanie stron
- Kierowanie reklam -> Śledzenie plików cookie / profilu
- Relacja-> Buforowanie sesji
- E-commerce -> Buforowanie sesji i HTML
- Usługi oparte na lokalizacji-> Skalowanie zapytań do bazy danych
- Gry i rozrywka-> Buforowanie sesji
Memcache pomaga
- Przyspiesz procesy aplikacji
- Określa, co przechowywać, a czego nie
- Zmniejsz liczbę żądań pobierania do bazy danych
- Ogranicza dostęp do I / O (wejścia / wyjścia) (dysk twardy)
Wadą Memcached jest
- Nie jest to trwały magazyn danych
- To nie jest baza danych
- Nie jest to konkretna aplikacja
- Nie może buforować dużego obiektu
34) Wspomnij o kilku ważnych cechach Memcached?
Ważne funkcje Memcached obejmują
- Tokeny CAS: token CAS jest dołączony do obiektu pobranego z pamięci podręcznej. Możesz użyć tego tokenu, aby zapisać zaktualizowany obiekt.
- Callback: upraszcza kod
- getDelayed: skraca czas opóźnienia skryptu, który oczekuje na powrót wyników z serwera
- Protokół binarny: w nowszym kliencie możesz użyć protokołu binarnego zamiast ASCII
- Igbinary: Wcześniej klient zawsze wykonywał serializację wartości ze złożonymi danymi, ale w przypadku Memcached można użyć opcji igbinary.
35) Wyjaśnij, czy możliwe jest współdzielenie pojedynczej instancji Memcache między wieloma projektami?
Tak, możliwe jest współdzielenie jednej instancji Memcache między wieloma projektami. Memcache to miejsce do przechowywania pamięci i możesz uruchomić memcache na jednym lub kilku serwerach. Możesz także skonfigurować swojego klienta, aby mówił do określonego zestawu instancji. Możesz więc uruchomić dwa różne procesy Memcache na tym samym hoście, a mimo to są one całkowicie niezależne. Chyba że, jeśli dane zostały podzielone na partycje, konieczne staje się określenie, z którego wystąpienia należy je pobrać lub do którego należy je umieścić.
36) Masz wiele serwerów Memcache, w których jeden z serwerów memcache uległ awarii i zawiera Twoje dane. Czy kiedykolwiek będzie próbował uzyskać kluczowe dane z tego jednego, który uległ awarii?
Dane na serwerze, który uległ awarii, nie zostaną usunięte, ale istnieje przepis dotyczący automatycznej awarii, który można skonfigurować dla wielu węzłów. Przełączanie awaryjne może być wyzwalane podczas 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 możesz zminimalizować awarie serwerów Memcached?
- Gdy jedna instancja ulegnie awarii, kilka z nich ulegnie awarii, co spowoduje większe obciążenie serwera bazy danych, gdy utracone dane są ponownie ładowane, gdy klient wysyła żądanie. Aby tego uniknąć, jeśli Twój kod został napisany w celu zminimalizowania znaczników pamięci podręcznej, pozostawi to minimalny wpływ
- Innym sposobem jest wywołanie instancji Memcached na nowym komputerze przy użyciu adresu IP utraconego komputera
- Kod jest kolejną opcją minimalizującą przestoje serwerów, ponieważ umożliwia zmianę listy serwerów Memcached przy minimalnym nakładzie pracy
- Ustawienie wartości limitu czasu to kolejna opcja, którą niektórzy klienci Memcached implementują w przypadku awarii serwera Memcached. Kiedy twój serwer Memcached przestanie działać, klient będzie próbował wysłać żądanie, aż do osiągnięcia limitu czasu
38) Wyjaśnij, jak możesz zaktualizować Memcached, gdy dane ulegną zmianie?
Gdy dane ulegną zmianie, możesz zaktualizować Memcached przez
- Aktywne czyszczenie pamięci podręcznej: czyszczenie pamięci podręcznej podczas wstawiania lub aktualizacji
- Resetowanie pamięci podręcznej: jest podobna do pierwszej metody, ale zamiast po prostu usuwać klucze i czekać na kolejne żądanie odświeżenia pamięci podręcznej, zresetuj wartości po wstawieniu lub aktualizacji.
39) Wyjaśnij, czym jest efekt Dogpile? Jak możesz zapobiec temu efektowi?
Efekt Dogpile odnosi się do zdarzenia, w którym wygasa pamięć podręczna, a strony internetowe są odwiedzane przez wiele żądań klienta w tym samym czasie. Efektowi temu można zapobiec, stosując blokadę semafora. W tym systemie po wygaśnięciu wartości pierwszy proces uzyskuje blokadę i rozpoczyna generowanie nowej wartości.
40) Wyjaśnij, jak nie powinno się używać Memcached?
- Częstym nadużyciem Memcached jest używanie go jako magazynu danych, a nie 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 również z innego źródła
- Memcached to tylko 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 zamknięty lub uruchomiony ponownie, wszystkie dane przechowywane w Memcached zostaną usunięte.
42) Wspomnij, jaka jest różnica między Memcache a Memcached?
- Memcache: Jest to rozszerzenie, które umożliwia pracę z wygodnymi interfejsami obiektowymi (OOP) i proceduralnymi. Został zaprojektowany w celu zmniejszenia obciążenia bazy danych w dynamicznych aplikacjach internetowych.
- Memcached : Jest to rozszerzenie, które wykorzystuje bibliotekę libmemcached do dostarczania API do komunikacji z serwerami Memcached. Służy do zwiększenia dynamicznych aplikacji internetowych poprzez zmniejszenie obciążenia bazy danych. To najnowsze API.
43) Wyjaśnij niebieski / zielony wzór rozmieszczenia
Niebiesko-zielony wzór kolorystyczny jest odpowiedzią 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.
Kiedy zespół przygotowuje kolejną wersję swojego oprogramowania, przeprowadza ostatni etap testów w środowisku znanym jako środowisko zielone. Po weryfikacji ruch jest kierowany do środowiska Green.
44) Jakie są pojemniki?
Kontenery pochodzą z lekkiej wirtualizacji. Oferują izolację między procesami.
45) Czym jest spotkanie pośmiertne w odniesieniu do DevOps?
Sekcja zwłok ma na celu omówienie 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 najbardziej efektywnych opcji szybkiego tworzenia chmury IaaS z maszyn wirtualnych Virtual Box. Jeśli jednak chcesz lekkiego PaaS, Dokku jest dobrym rozwiązaniem, ponieważ skrypt bash może być PaaS z kontenerów Dokku.
47) Wymień dwa narzędzia, które są używane do obsługi sieci Dockera.
W przypadku sieci Docker można użyć roju Kubernetes i Docker.
48) Wymień niektóre obszary, w których zaimplementowano DevOps
DevOps są używane do produkcji, operacji IT, informacji zwrotnych o produkcji i rozwoju oprogramowania.
49) Co to jest CBD?
CBD lub 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ć je i złożyć w produkt, zamiast tworzyć od podstaw.
50) Wyjaśnij programowanie w parach w odniesieniu do DevOps
Programowanie w parach jest praktyką inżynierską ekstremalnych reguł programowania. W tej metodzie dwóch programistów pracuje na tym samym systemie, na tym samym projekcie / algorytmie / kodzie.
Jeden programista działa jako „kierowca”. Inni działają jako „obserwatorzy”, którzy stale monitorują postęp projektu w celu zidentyfikowania problemów. Role można odwrócić w dowolnym momencie bez uprzedniego powiadomienia.
51) Wyjaśnij test odporności
Test zapewniający odzyskanie danych bez utraty danych i funkcjonalności po awarii nosi nazwę Testy odporności.
52) Wymień trzy ważne wskaźniki KPI DevOps
Trzy najczęstsze wskaźniki KPI DevOps to:
- W międzyczasie przywrócenie po awarii
- Częstotliwość wdrażania
- Odsetek nieudanych wdrożeń