top 20 latest devops interview questions
Najpopularniejsze pytania i odpowiedzi do wywiadów DevOps w celu pomyślnego wyczyszczenia każdego wywiadu DevOps:
Widzieliśmy listę najlepszych Dostawcy usług DevOps w naszym ostatnim samouczku.
DevOps to nie tylko same narzędzia, ale także zestaw najlepszych praktyk, które pozwalają nam wypełnić lukę między zespołami programistycznymi i operacyjnymi w obszarach ciągłej integracji i wdrażania, wykorzystując zintegrowany zestaw narzędzi do automatyzacji dostarczania oprogramowania.
Sugerowany odczyt => Wstępny przewodnik DevOps
Przyjrzyjmy się teraz niektórym z najczęściej zadawanych pytań w wywiadzie DevOps wraz z możliwymi odpowiedziami, których możesz udzielić. Odpowiedzi mogą się różnić w zależności od własnej pracy i doświadczeń.
Najlepsze pytania do wywiadów DevOps z odpowiedziami
Poniżej znajduje się lista najczęściej zadawanych pytań DevOps w wywiadach:
Zaczynajmy.
Pytanie nr 1) Wyjaśnij DevOps.
Odpowiedź:
- DevOps promuje komunikację i współpracę między zespołami biznesowymi, programistycznymi i operacyjnymi. W pewnym sensie mówimy o zjednoczeniu.
- DevOps to nie tylko narzędzia, ale także angażowanie ludzi i procesów.
- DevOps jest inspirowany procesem Agile.
- DevOps polega na automatyzacji procesów tworzenia, wydawania i eksploatacji.
- DevOps pomaga w szybkości dostarczania aplikacji do użytkowników końcowych.
- DevOps to także ciągłe doskonalenie, które pomaga w uczeniu się poprzez informacje zwrotne.
Pytanie 2) Wyjaśnij kilka wymagań wstępnych, które są przydatne przy implementacji DevOps.
Odpowiedź: Wymagania wstępne obejmują:
- Zaangażowanie na wyższym szczeblu organizacji.
- Potrzeba zakomunikowania zmian w całej organizacji.
- Oprogramowanie do kontroli wersji.
- Zautomatyzowane narzędzia do zgodności z procesem.
- Testowanie automatyczne
- Zautomatyzowane wdrażanie
Pytanie 3) Jakie są najlepsze rozwiązania dotyczące wdrażania DevOps?
Odpowiedź: Wdrożenie DevOps różni się w zależności od organizacji. Obecnie organizacje chcą szybciej dostarczać oprogramowanie iz tego punktu widzenia oto moje przemyślenia na temat tego, w jaki sposób DevOps może zapewnić efektywną komunikację ze wszystkimi interesariuszami, w tym z zespołem operacyjnym.
- Każda organizacja ma określone cele biznesowe i wdrożenie DevOps powinno być z nimi zgodne. Powinna istnieć pewna potrzeba zmiany.
- Zachęcanie do komunikacji i współpracy, zwłaszcza między programowaniem a operacjami.
- Automatyzacja jest kluczowa i powinna być wykonywana i przeprowadzana wszędzie tam, gdzie jest to możliwe, na etapach SDLC, aby ułatwić pracę DevOps.
- Narzędzia używane w DevOps powinny się bardzo dobrze zintegrować. Z punktu widzenia dowolnych narzędzi komercyjnych, takich jak IBM Rational CLM czy Microsoft TFS, implementacja DevOps jest dobra, ponieważ pochodzi od jednego dostawcy. Podobnie należy spojrzeć na narzędzia open source, które integrują się, aby dać podobne pożądane rezultaty.
- Wdrożenie DevOps nie powiedzie się bez praktyk Continuous Integration i Continuous Delivery. Więc CI twojego kodu z rygorystycznymi testami i wykonywaniem CD jest kluczem do tego.
- Dla zespołu Ops bardzo ważne jest upewnienie się, że aplikacje działają bardzo dobrze na odpowiednich poziomach. W razie potrzeby będą musieli współpracować z zespołami programistów, aby zbudować dowolne narzędzia, które pomogłyby w tworzeniu odpowiednich funkcji monitorowania w aplikacjach.
- Wreszcie, zachęcaj użytkowników końcowych do przekazywania informacji zwrotnych, aby umożliwić ciągłe doskonalenie, które stanowi klucz do ulepszania procesu i dostarczania wysokiej jakości oprogramowania.
Pytanie 4) Jakie są kluczowe składniki DevOps?
Odpowiedź: Kluczowe elementy obejmują:
- Ciągła integracja
- Ciągłe testowanie
- Ciągła dostawa
- Ciągłe monitorowanie
Pytanie 5) Wyjaśnij ciągłą integrację.
Odpowiedź: Ciągła integracja jest bardzo ważnym elementem procesu Agile. Zazwyczaj programiści pracują nad funkcjami lub historyjkami użytkownika w ramach sprintu i wprowadzają zmiany do repozytorium kontroli wersji.
Po zatwierdzeniu kodu cała praca programistów jest dobrze zintegrowana, a kompilacja jest wykonywana regularnie, na podstawie każdego zgłoszenia lub harmonogramu. Stąd ciągła integracja jako praktyka zmusza programistę do integracji ich zmian z innymi, aby uzyskać wczesną informację zwrotną.
java dodając wartości do tablicy
P # 6) Wyjaśnij ciągłość dostarczania.
Odpowiedź: Continuous Delivery to rozszerzenie Continuous Integration, które przede wszystkim pomaga w jak najszybszym udostępnieniu użytkownikom końcowym funkcji opracowywanych przez programistów. Podczas tego procesu przechodzi przez różne etapy QA, Staging, itp., A następnie trafia do systemu PRODUKCJA.
P # 7) Wyjaśnij ciągłe testowanie.
Odpowiedź: Z powyższego celu Continuous Integration, jakim jest dostarczenie aplikacji do użytkowników końcowych, są przede wszystkim umożliwienie ciągłego dostarczania. Nie można tego ukończyć bez wystarczającej ilości testów jednostkowych i testów automatyzacji.
Dlatego musimy sprawdzić, czy kod został wyprodukowany i zintegrowany ze wszystkimi programistami, którzy działają zgodnie z wymaganiami.
P # 8) Wyjaśnij ciągłe monitorowanie.
Odpowiedź: Ponieważ aplikacja jest rozwijana i wdrażana, musimy monitorować jej wydajność. Monitorowanie jest również bardzo ważny, ponieważ może pomóc w wykryciu usterek, które mogły nie zostać wykryte wcześniej.
P # 9) Jak podejdziesz, gdy projekt będzie wymagał implementacji DevOps?
Odpowiedź: Można zastosować następujące podejścia, ale będą się one różnić w zależności od rzeczywistych scenariuszy projektu lub od organizacji do organizacji
najlepsze oprogramowanie do zarządzania zadaniami dla systemu Windows
Scena 1: W przypadku każdego wdrożenia DevOps ocena istniejącego procesu i implementacji przez około 2 do 3 tygodni obejmująca średnio 5 aplikacji jest koniecznością, aby ocenić proces AS-IS, zidentyfikować obszary poprawy i przedstawić mapę drogową dla wdrożenia.
Zazwyczaj do przeprowadzenia tej oceny powinien być zaangażowany starszy profil, taki jak architekt DevOps.
Etap 2: Można wykonać pilotażowe POC, aby zaprezentować od końca do końca działanie DevOps. Gdy tylko zostanie to zaakceptowane i zatwierdzone przez użytkowników końcowych, należy przeprowadzić faktyczne wdrożenie, przekazanie i wdrożenie planu dla zaangażowanych projektów.
Wszelkie wymagane szkolenia będą również musiały zostać przekazane do procesu lub narzędzi. Architekci DevOps, inżynierowie i testerzy musieliby być zaangażowani na tym etapie.
Etap 3: Projekty powinny być teraz w trybie DevOps ze wszystkimi komponentami ciągłej integracji / dostarczania / testowania i monitorowania, które są przestrzegane.
P # 10) Czy DevOps można zastosować do procesu Waterfall? Wyjaśnij znaczenie procesu Agile w implementacji DevOps.
Odpowiedź: W procesie kaskadowym, ponieważ wszyscy jesteśmy świadomi początkowo kompletnych wymagań, są gromadzone, następnie projektowany jest System, a następnie przeprowadzane jest wdrożenie systemu, a następnie testowanie systemu i wdrażanie do użytkowników końcowych. W tym procesie problemem był długi czas oczekiwania na kompilację i wdrożenie, co bardzo utrudniało uzyskanie opinii.
Rozwiązaniem powyższego problemu było to, że proces Agile musi zapewnić zwinność zarówno w programowaniu, jak i operacjach. Proces zwinny może być podmiotem głównym lub może być wymagany warunek wstępny do wdrożenia DevOps. DevOps idzie w parze z procesem Agile.
Głównym celem jest bardzo terminowe udostępnianie oprogramowania z krótszymi cyklami wydawania i szybkimi informacjami zwrotnymi. Tak więc zwinny proces skupi się głównie na szybkości, aw DevOps działa dobrze z automatyzacją różnych narzędzi
P # 11) Jaka jest różnica między ciągłym dostarczaniem a ciągłym wdrażaniem?
Odpowiedź: W zwinnym sprincie Na przykład, istnieje wiele funkcji lub historyjek użytkownika, które zostały opracowane, przetestowane i gotowe do wdrożenia. Jednak w oparciu o scenariusze i priorytety klientów nie wszystkie zostaną wdrożone. Dlatego w przypadku ciągłego dostarczania bardzo ważne jest, aby kod był łatwo dostępny do wdrożenia.
W Continuous Deployment wszystkie zmiany opracowane przez dewelopera przechodzą przez różne etapy, aby zostać wdrożone w środowisku PRODUKCYJNYM w sposób zautomatyzowany.
P # 12) Jaka jest Twoja wiedza na temat projektów DevOps?
Odpowiedź: Wyjaśnij swoją rolę inżyniera DevOps oraz sposób, w jaki pracowałeś jako część środowiska 24 * 7 i być może w systemie zmianowym, projekty związane z automatyzacją potoku CI i CD oraz zapewnianiem wsparcia zespołom projektowym.
Stąd wzięcie pełnej odpowiedzialności za utrzymanie i rozszerzenie środowisk automatyzacji DevOps na coraz więcej projektów i różnych technologii ( Przykład: .NET, J2EE) zaangażowanych w organizację.
Wyjaśnij również proces ( Przykład Agile) i narzędzia, które były zaangażowane w kompleksową automatyzację. Możesz również porozmawiać o swoich doświadczeniach, jeśli w ogóle, w obsłudze DevOps w środowisku chmurowym.
P # 13) Jakie są 10 najpopularniejszych narzędzi DevOps, które są obecnie używane w branży?
Odpowiedź: Lista obejmuje:
- Jira
- GIT / SVN
- Bitbucket
- Jenkins
- Bambus
- SonarQube
- Artifactory / Nexus
- Doker
- Szef kuchni / Puppet / Ansible
- IBM Urbancode Deploy / CA-RA
- Nagios / Splunk
P # 14) Czy możesz wyjaśnić zastosowania narzędzi wymienionych w powyższym pytaniu i sposób, w jaki łączą się one, aby stworzyć model DevOps (CI / CD)?
Odpowiedź:
Planowanie
- Jira - Służy do planowania projektów i zarządzania problemami
Ciągła integracja
- Iść - Kontrola wersji
- Jenkins - Narzędzie do ciągłej integracji typu open source, które może również pomóc w ciągłym dostarczaniu.
- SonarQube - Analiza kodu
- JFrog Artifactory - Menedżer repozytoriów binarnych
Ciągła dostawa
- Szef kuchni / Puppet / Ansible - Zarządzanie konfiguracją i wdrażanie aplikacji
- IBM Urbancode Deploy / CA RA - Ciągła dostawa
Ciągłe monitorowanie
- Nagios / Splunk
Przykładowy przepływ pracy DevOps:
- Zazwyczaj w procesie zwinnym historie użytkowników, zadania, usterki itp. Są przechowywane w JIRA i przypisywane do właścicieli produktów i programistów.
- Deweloperzy przejmują przydzielone im zadania i pracują nad rozwojem. Kod źródłowy jest kontrolowany przez wersję i przechowywany w GIT. Programiści zatwierdzają swoje zmiany w kodzie źródłowym w GIT. Ostatecznie kod jest udostępniany programistom korzystającym z GitHub.
- Jenkins, który jest narzędziem ciągłej integracji, pobiera kod i przy każdym zameldowaniu lub na podstawie harmonogramu kompilacja odbywa się za pomocą narzędzi do budowania, takich jak Maven lub ANT.
- Podczas tworzenia plików J2EE WAR są one również kontrolowane pod kątem wersji i przechowywane w binarnym menedżerze repozytorium, takim jak Artifactory lub Nexus.
- Testy jednostkowe przy użyciu JUnit i analizy kodu z SonarQube są również wykonywane i zautomatyzowane
- Po zakończeniu powyższego procesu Continuous Delivery jest wykonywana w różnych środowiskach na podstawie zatwierdzeń przy użyciu narzędzi takich jak IBM UrbanCode Deploy / CA RA Continuous Testing (Testowanie funkcjonalne i akceptacyjne) jest wywoływane w odpowiednich środowiskach testowych przy użyciu narzędzi takich jak Selenium
- Ciągły monitoring byłby ciągłym działaniem w środowisku PROD
P # 15) Czym jest zarządzanie konfiguracją w zakresie infrastruktury i wspomnij o kilku popularnych narzędziach?
Odpowiedź: Zarządzanie konfiguracją składa się z praktyk i różnych narzędzi służących do automatyzacji dostaw i operacji związanych z infrastrukturą. Chodzi o to, aby serwer był gotowy ( Przykład Instalowanie pakietów systemowych, ustawienia konfiguracji sieci) w celu wdrożenia aplikacji po opracowaniu aplikacji.
Tak więc operatorzy lub administrator systemu muszą zapewnić parzystość w różnych środowiskach (Dev, QA, PROD, itp…) poprzez udostępnianie systemów.
Narzędzia używane w tej przestrzeni do automatyzacji zadań zarządzania konfiguracją opisanych powyżej to Szef kuchni / Puppet / Ansible
P # 16) Jakie narzędzia skryptowe są używane w DevOps?
Odpowiedź: Python, Ruby
Q # 17) Wyjaśnij typowe role związane z DevOps.
Odpowiedź:
- Architekt DevOps: Lider odpowiedzialny za cały proces DevOps.
- Inżynier DevOps: Osoba powinna mieć doświadczenie w zakresie Agile, SCM lub kontroli wersji, CI / CD i konfigurowaniu narzędzi automatyzacji dla tych samych umiejętności w zakresie automatyzacji infrastruktury i zarządzania bazą danych. Każdy programista, który ma umiejętności w zakresie kodowania lub tworzenia skryptów i ma wnikliwość do wdrożenia lub administrowania systemem, może kwalifikować się do roli inżyniera DevOps.
P # 18) Czy byłeś zaangażowany we wdrażanie DevOps w chmurze? Jeśli tak, która platforma przetwarzania w chmurze?
Odpowiedź:Przykłady popularnych platform przetwarzania w chmurze:
- AWS - Amazon Web Services
- Microsoft Azure
- Google Cloud
P # 19) Wyjaśnij niektóre metryki, które były przestrzegane dla sukcesu DevOps.
Odpowiedź:
Oto niektóre przykłady:
- Pierwszym i najważniejszym czynnikiem jest szybkość dostawy, co oznacza czas potrzebny na dostarczenie dowolnego elementu pracy do środowiska produkcyjnego.
- Następnym krokiem będzie wdrożenie i czas, jaki zajmie po zautomatyzowaniu tego procesu.
- Niemal konieczne jest śledzenie liczby defektów występujących w różnych środowiskach w odniesieniu do środowiska PRODUKCJI. Jest to bardzo ważne, biorąc pod uwagę funkcje, które należy udostępnić szybciej. Stosowanie metodologii Agile bardzo pomaga, a głównym celem jest redukcja defektów na poziomie PRODUKCJI.
- Zazwyczaj wdrożenia nie kończą się niepowodzeniem, ale bardzo ważne jest, aby śledzić ten aspekt i mieć mechanizm przywracania poprzedniej stabilnej wersji.
- W każdej implementacji DevOps testowanie jednostkowe jest kluczowe, podobnie jak testowanie funkcjonalne. Na podstawie dokonanych zmian w kodzie często musimy przyjrzeć się, czy te testy kończą się niepowodzeniem i do jakiego stopnia. Konieczne jest, aby test automatyczny był wystarczająco solidny, aby wytrzymać wszelkie zmiany w kodzie.
- Bardzo ważne jest zmierzenie faktycznego lub średniego czasu potrzebnego do przywrócenia sprawności w przypadku awarii w środowisku PRODUKCYJNYM. Nazywa się to średnim czasem do odzyskania (MTTR) i powinno być krótkie. Oznacza to również, że trzeba mieć odpowiednie narzędzia do monitorowania, aby skrócić czas odzyskiwania.
- Wydajność aplikacji to kolejna kluczowa miara, którą należy monitorować, zwłaszcza po wykonaniu wszelkich wdrożeń.
- Bardzo ważnym czynnikiem sukcesu jest liczba błędów zgłaszanych przez klientów, która zależy przede wszystkim od jakości aplikacji.
P # 20) Jakie są Twoje oczekiwania z perspektywy kariery w DevOps?
które z poniższych nie są obowiązkiem zespołu?
Odpowiedź: Angażowanie się w proces dostawy od końca do końca i najważniejszy aspekt pomagania w ulepszaniu procesu, tak aby umożliwić zespołom programistycznym i operacyjnym współpracę i zrozumienie wzajemnego punktu widzenia.
Wniosek
To była lista najpopularniejszych pytań do wywiadów DevOps.
Na początku ta seria samouczków DevOps dowiedzieliśmy się, czym dokładnie jest DevOps, jego proces i pewne możliwe sposoby ich implementacji.
Mam nadzieję, że pytania dotyczące DevOps zawarte w tym samouczku powinny pomóc Ci zdobyć wywiad z DevOps i wprowadzić Cię na ścieżkę wielkiej kariery w tej dziedzinie. Ponieważ wspomniane pytania dotyczą punktu widzenia DevOps, powinieneś również biegle posługiwać się procesem Agile i narzędziami wymienionymi w tym artykule dla CI i CD.
Mam nadzieję, że podobał Ci się cały szereg samouczków w naszej serii DevOps i jestem pewien, że musiałeś zdobyć ogromną wiedzę na temat koncepcji DevOps !! Życzymy sukcesów !!!
rekomendowane lektury
- 9 NAJLEPSZYCH konferencji DevOps w 2021 roku, które warto śledzić
- Ansible Roles, Integration with Jenkins in DevOps i EC2 Modules
- Monitorowanie wydajności aplikacji w DevOps
- Samouczek AWS CodeCommit dotyczący wdrażania DevOps w chmurze
- Najlepsze narzędzia DevOps Open Source (z instalacją i konfiguracją)
- Współpraca w DevOps
- Zarządzanie konfiguracją w praktykach DevOps
- Ciągłe dostarczanie w DevOps
- Ciągłe wdrażanie w DevOps
- Ciągła integracja w DevOps
- Ciągłe testowanie w DevOps
- Demistyfikacja DevOps: samouczek wideo (część 1)
- DevOps Automation: Jak automatyzacja jest stosowana w praktyce DevOps
- Praktyka DevOps oparta na manifeście Agile (część 2 - blok 1)
- Samouczek testowania DevOps: Jak DevOps wpłynie na testy QA?
- Samouczek DevOps: Kompletny przewodnik po DevOps (ponad 25 samouczków)
- DevOps z Microsoft VSTS: CI / CD do aplikacji sieci Web platformy Azure
- Jak rozwijać współpracę w zespołach DevOps
- Jak używać Microsoft TFS dla projektów JAVA z Eclipse w DevOps
- Znaczenie małych przyrostów dostaw w DevOps