46 Συχνές ερωτήσεις και απαντήσεις για συνέντευξη DevOps [2023]

Θέλετε να μάθετε ποιες ερωτήσεις να κάνετε κατά την επόμενη συνέντευξη DevOps; Ξεκινήστε με τον εύχρηστο οδηγό μας.

Ο όρος DevOps επινοήθηκε το 2007-2008 αλλά τώρα έχει γίνει μια από τις πιο δημοφιλείς σταδιοδρομίες στη μηχανική λογισμικού. Το DevOps είναι μια πολιτιστική αλλαγή που αγγίζει κάθε πτυχή της ανάπτυξης και των λειτουργιών.

Οι δύο ομάδες (ανάπτυξη και επιχειρήσεις) συνεργάζονται από τον σχεδιασμό και την κατασκευή έως την παρακολούθηση και την επανάληψη. Αυτές είναι οι πιο συνηθισμένες ερωτήσεις που είναι πιθανό να συναντήσετε εάν αναζητάτε έναν ρόλο μηχανικού DevOps.

Πίνακας περιεχομένων

Τι είναι το DevOps;

Το DevOps είναι η σύντομη μορφή ανάπτυξης και λειτουργιών. Αυτή η πρακτική μηχανικής λογισμικού συγκεντρώνει τις ομάδες ανάπτυξης και λειτουργίας για να αυτοματοποιήσουν κάθε στάδιο ενός έργου. Μια ομάδα DevOps εστιάζει στη διαχείριση πόρων, την επικοινωνία και την ομαδική εργασία.

Ποιες είναι οι διαφορετικές φάσεις στη μεθοδολογία DevOps

  • Συνεχής ανάπτυξη. Αυτή είναι η φάση σχεδιασμού και κωδικοποίησης.
  • Συνεχής ενσωμάτωση. Αυτή είναι η φάση όπου η ομάδα ανάπτυξης ενσωματώνει διαφορετικά στοιχεία και διασφαλίζει ότι ο κώδικας δεν σπάει.
  • Συνεχής δοκιμή. Αυτή είναι η προκαθορισμένη και αυτοματοποιημένη φάση δοκιμών.
  • Συνεχής ανάπτυξη. Αυτή η φάση εξασφαλίζει ανάπτυξη χωρίς προβλήματα, η οποία δεν επηρεάζει την απόδοση ολόκληρης της εφαρμογής.
  • Συνεχής παρακολούθηση. Αυτή η φάση διασφαλίζει τη συνολική αποτελεσματικότητα της εφαρμογής.
  • Συνεχής ανατροφοδότηση. Αναλύονται ζητήματα και επιδόσεις, όπως αναφέρονται από τους τελικούς χρήστες.
  • Συνεχείς λειτουργίες. Επιτρέπει στους προγραμματιστές να δημιουργούν καλύτερες εκδόσεις του προϊόντος και να εντοπίζουν γρήγορα προβλήματα.

Ποια είναι τα οφέλη του DevOps;

  • Ταχύτερη και καλύτερη παράδοση προϊόντων
  • Μεγαλύτερη επεκτασιμότητα
  • Γρήγορη επίλυση προβλημάτων
  • Καλύτερη αξιοποίηση των πόρων

Ονομάστε μερικά KPI DevOps

  • Συχνότητα ανάπτυξης
  • Αλλαγή έντασης ήχου
  • Χρόνος ανάπτυξης
  • Αποτυχημένα ποσοστά ανάπτυξης
  • Ανίχνευση χρόνου
  • Ρυθμός διαφυγής ελαττώματος

Διαφορά μεταξύ DevOps και agile

Το DevOps είναι μια κουλτούρα που προωθεί τη συνεργασία μεταξύ όλων των μελών της ομάδας που εμπλέκονται στην ανάπτυξη και συντήρηση λογισμικού.

  9 Καλύτερο Λογισμικό Διαχείρισης Διαδικασιών για την Ενίσχυση της Επιχειρηματικής Ανάπτυξης

Το Agile είναι μια μεθοδολογία ανάπτυξης που έχει σχεδιαστεί για να κάνει τις ομάδες παραγωγικές και να οδηγεί τις εκδόσεις με βάση τις μεταβαλλόμενες ανάγκες.

Ποιος είναι ο ρόλος του AWS στο DevOps

Το AWS διαθέτει ένα σύνολο ευέλικτων υπηρεσιών που βοηθούν τις εταιρείες να αναπτύσσουν αξιόπιστα και γρήγορα εφαρμογές. Οι υπηρεσίες AWS απλοποιούν την ανάπτυξη κώδικα, την παροχή και την απλοποίηση της υποδομής, την αυτοματοποίηση των διαδικασιών έκδοσης λογισμικού και την παρακολούθηση της απόδοσης της υποδομής.

Ποια είναι η χρήση του SSH;

Το SSH (Secure Shell) είναι ένα πρωτόκολλο που επιτρέπει την ασφαλή σύνδεση μεταξύ διαφορετικών υπολογιστών. Το SSH εξυπηρετεί διαφορετικούς σκοπούς, όπως η προσφορά. ισχυρός έλεγχος ταυτότητας, ισχυρή κρυπτογράφηση, διατήρηση της ακεραιότητας της σύνδεσης, ισχυρή σύνδεση και ασφάλεια.

Τι είναι η συνεχής ολοκλήρωση;

Η συνεχής ενοποίηση επιτρέπει στους προγραμματιστές λογισμικού να συγχωνεύουν τον κώδικά τους σε ένα κεντρικό αποθετήριο. Στη συνέχεια, ο κώδικας λαμβάνεται μέσω αυτοματοποιημένων εκδόσεων και δοκιμών.

Τι είναι η διαχείριση διαμόρφωσης;

Είναι η μηχανική διαδικασία ενός συστήματος για τη δημιουργία και τη διατήρηση της συνέπειας της απόδοσης και των λειτουργικών και φυσικών χαρακτηριστικών ενός συστήματος/προϊόντος σε όλο τον κύκλο ζωής του.

Τι είναι η συνεχής δοκιμή;

Πρόκειται για προγραμματισμένη και αυτοματοποιημένη δοκιμή μιας εφαρμογής καθώς η ανάπτυξη συνεχίζεται.

Τι είναι το Git;

Αυτό είναι ένα ανοιχτού κώδικα και δωρεάν εργαλείο για τη διαχείριση του πηγαίου κώδικα. Αυτό το εργαλείο έχει σχεδιαστεί για να χειρίζεται μικρά και μεγάλα έργα.

Αναφέρετε μερικές βασικές εντολές Git

git clone <https://name-of-the-repository-link>
git branch <branch-name>
git checkout <name-of-your-branch>
git add <file>
git commit -m "commit message"
git push <remote> <branch-name>
git pull <remote>

Εξηγήστε τη διαφορά μεταξύ της συγχώνευσης Git και της επαναφοράς Git

Η εντολή συγχώνευσης Git επιτρέπει στους προγραμματιστές να συγχωνεύουν διαφορετικούς κλάδους Git ενώ τα αρχεία καταγραφής των δεσμεύσεων των αντίστοιχων κλάδων παραμένουν ανέπαφα.

Η εντολή Git rebase επιτρέπει στους προγραμματιστές να ενσωματώνουν αλλαγές από τον έναν κλάδο στον άλλο και τα αρχεία καταγραφής αλλάζουν μόλις ολοκληρωθεί η διαδικασία.

Εξηγήστε τη διαφορά μεταξύ Git fetch και Git pull

Το Git fetch λέει στο git να ανακτήσει/ελέγχει τα πιο πρόσφατα μεταδεδομένα από το πρωτότυπο. Ωστόσο, δεν κάνει καμία μεταφορά αρχείων αλλά απλώς ελέγχει.

Το Git pull ελέγχει και φέρνει αλλαγές από το απομακρυσμένο αποθετήριο στο τοπικό έργο.

Τι είναι η σύγκρουση συγχώνευσης;

Οι συγκρούσεις συγχώνευσης προκύπτουν όταν συγχωνεύετε δύο κλάδους με ανταγωνιστικές δεσμεύσεις. Οι διενέξεις συγχώνευσης συμβαίνουν συνήθως όταν διαφορετικοί προγραμματιστές αλλάζουν την ίδια γραμμή κώδικα ή αρχείου.

Τι είναι ο έλεγχος έκδοσης και ποιοι είναι οι διαφορετικοί τύποι;

Έλεγχος έκδοσης (έλεγχος πηγής) είναι η διαδικασία παρακολούθησης και διαχείρισης αλλαγών στον κώδικα λογισμικού.

Αυτοί είναι οι διαφορετικοί τύποι στοιχείων ελέγχου έκδοσης.

  • Κεντρικό – έχετε ένα μόνο «κεντρικό» αντίγραφο του πηγαίου κώδικα σε έναν διακομιστή και όλες οι αλλαγές δεσμεύονται στο «κεντρικό» αντίγραφο. Το Subversion (SVN) και το Perforce είναι παραδείγματα κεντρικών στοιχείων ελέγχου έκδοσης.
  • Κατανεμημένο (DVCS)-δεν υπάρχει κεντρικός διακομιστής για την αποθήκευση όλων των αρχείων του έργου. Το Git και το Mercurial είναι παραδείγματα DVCS.

Ποια είναι τα οφέλη από τη χρήση του ελέγχου έκδοσης;

  • Βοηθά τους προγραμματιστές να διατηρήσουν την αποτελεσματικότητα και την ευελιξία
  • Δίνει ένα πλήρες αρχείο καταγραφής κάθε αλλαγής σε ένα έργο/αρχείο
  • Βελτίωση της ιχνηλασιμότητας
  • Βοηθά στη διαχείριση της συγχώνευσης και της διακλάδωσης
  • Ενεργοποιεί τη συνεργασία

Τι είναι η διακλάδωση;

Η διακλάδωση αναφέρεται στη δημιουργία μιας ξεχωριστής/νέας έκδοσης του κύριου αποθετηρίου. Τα υποκαταστήματα σάς επιτρέπουν να εργάζεστε σε διάφορα μέρη του έργου χωρίς να επηρεάζετε τον κύριο κλάδο.

Τι είναι οι στρατηγικές Branching;

Οι στρατηγικές συγχώνευσης είναι οι μεθοδολογίες που υιοθετούν οι ομάδες ανάπτυξης λογισμικού κατά τη σύνταξη, τη συγχώνευση και την ανάπτυξη κώδικα. Μια τέτοια προσέγγιση διασφαλίζει ότι τα σφάλματα και τα λάθη διορθώνονται σε ένα στάδιο διακλάδωσης προτού συγχωνευθούν με το κύριο έργο.

  Πώς να κάνετε streaming gameplay από ένα PS4

Τι είναι η δοκιμή αυτοματισμού και πώς να αυτοματοποιηθεί η δοκιμή στο DevOps;

Η δοκιμή αυτοματισμού είναι μια τεχνική αυτόματης αναθεώρησης και επικύρωσης κώδικα. Οι δοκιμές αυτοματισμού γίνονται για να ελεγχθεί εάν πληρούνται τα πρότυπα ποιότητας για τη λειτουργικότητα (επιχειρηματική λογική), το στυλ κώδικα και την εμπειρία χρήστη.

Οι δοκιμές αυτοματισμού γίνονται με εργαλεία όπως το Selenium και το Katalon.

Τι είναι το Jenkinsfile;

Το Jenkinsfile είναι ένα αρχείο κειμένου που περιέχει τον ορισμό ενός αγωγού Jenkins. Το Jenkinsfile ελέγχεται στο αποθετήριο ελέγχου πηγής. Μερικές από τις χρήσεις του είναι? επιτρέπει μια διαδρομή ελέγχου για τον αγωγό, επιτρέπει την ανασκόπηση και την επανάληψη του κώδικα στον αγωγό και παρέχει μια ενιαία πηγή αλήθειας στη γραμμή.

Εξηγήστε την αρχιτεκτονική στο Jenkins

Ο Τζένκινς έχει μια αρχιτεκτονική κυρίου-σκλάβου. Αυτό σημαίνει ότι υπάρχουν πολλοί «σκλάβοι» που εργάζονται για έναν «κύριο». Το Jenkins Distributed Build μπορεί έτσι να εκτελέσει πανομοιότυπες δοκιμές σε διαφορετικά περιβάλλοντα, με τα αποτελέσματα να συλλέγονται και να συνδυάζονται στον κύριο κόμβο για παρακολούθηση.

Ποια είναι τα κορυφαία πρόσθετα Jenkins;

  • Blue Ocean Plugin για Jenkins
  • Πρόσθετο Mailer για Jenkins
  • Πρόσθετο Git για Jenkins
  • Πρόσθετο Jira για Jenkins
  • Προσθήκη Docker για Jenkins
  • Maven Integration Plugin για Jenkins
  • Πρόσθετο Kubernetes για Jenkins
  • Πρόσθετο SonarQube για Jenkins
  • Πρόσθετο Amazon EC2 για Jenkins

Τι είναι το Selenium IDE;

Το Selenium IDE είναι ένα εργαλείο που καταγράφει τις αλληλεπιδράσεις του προγράμματος περιήγησης για δοκιμαστικές περιπτώσεις. Μπορείτε να ορίσετε σημεία διακοπής και να ελέγχετε και να διακόπτετε τις μεταβλητές όταν παρουσιάζονται σφάλματα με το Selenium Integrated Development Environment.

Ποια είναι τα διαφορετικά συστατικά σεληνίου;

Ποιοι είναι οι διαφορετικοί τύποι δοκιμών στο σελήνιο;

  • Δοκιμές από άκρο σε άκρο
  • Δοκιμή παλινδρόμησης
  • Δοκιμή συστήματος
  • Δοκιμή απόδοσης
  • Δοκιμή συμβατότητας

Ποιες είναι οι διαφορετικές εξαιρέσεις στο Σελήνιο;

  • ElementNotSelectableException
  • NoAlertPresentException
  • InvalidSelectorException
  • NoSuchSessionException
  • StaleElementReferenceException
  • NoSuchWindowException
  • NoSuchFrameException
  • NoSuchElementException
  • TimeoutException
  • ElementNotVisibleException

Τι είναι το driver.close() και το driver.quit() στο WebDriver;

Η εντολή driver.close() κλείνει το παράθυρο του προγράμματος περιήγησης στην εστίαση. Εάν είναι ανοιχτό μόνο ένα πρόγραμμα περιήγησης, κλείνει ολόκληρη την περίοδο λειτουργίας του προγράμματος περιήγησης.

Η εντολή driver.quit() κλείνει ολόκληρη την περίοδο λειτουργίας του προγράμματος περιήγησης με αναδυόμενα παράθυρα, καρτέλες και παράθυρα του προγράμματος περιήγησης.

Τι είναι το Dockerfile;

Το Dockerfile είναι ένα έγγραφο κειμένου με όλες τις εντολές που μπορεί να χρησιμοποιήσει ένας χρήστης σε μια γραμμή εντολών για τη συναρμολόγηση μιας εικόνας.

Διαφορές μεταξύ των εικόνων docker και του docker container

Οι εικόνες Docker είναι πρότυπα μόνο για ανάγνωση που έχουν δημιουργηθεί με πηγαίους κώδικες, εργαλεία, βιβλιοθήκες, εξωτερικές εξαρτήσεις και άλλα αρχεία που απαιτούνται για την επιτυχή εκτέλεση οποιασδήποτε εφαρμογής σε οποιοδήποτε λειτουργικό σύστημα ή πλατφόρμα.

Ένα κοντέινερ docker είναι ένα πλαίσιο που εκτελεί πρότυπα εικόνων docker.

Εξηγήστε την αρχιτεκτονική του Docker

Το Docker ακολουθεί μια αρχιτεκτονική Client-Server και περιλαμβάνει Docker Client, Docker Host και Docker Registry.

Το Docker Client χρησιμοποιεί REST API και εντολές για επικοινωνία με τον διακομιστή (Docker Daemon).

Το Docker Client χρησιμοποιεί το CLI για να εκτελέσει αυτές τις εντολές

docker build

docker pull

docker run
  • Το Docker Host παρέχει ένα περιβάλλον για την εκτέλεση και εκτέλεση εφαρμογών. Αποτελείται από docker daemon, αποθήκευση, εικόνες, κοντέινερ και δίκτυα.
  • Το Docker Registry διαχειρίζεται και αποθηκεύει εικόνες Docker.

Πλατφόρμες cloud που υποστηρίζουν docker

Οι πλατφόρμες που υποστηρίζουν τη φιλοξενία docker είναι:

Τι είναι ο Nagios;

Το Nagios είναι ένα εργαλείο που παρακολουθεί ολόκληρη την υποδομή πληροφορικής για να διασφαλίσει ότι οι επιχειρηματικές διαδικασίες, τα συστήματα, οι υπηρεσίες και οι εφαρμογές λειτουργούν σωστά.

Πώς λειτουργεί το Nagios;

  • Παρακολούθηση. Το προσωπικό πληροφορικής διαμορφώνει το Nagios για να παρακολουθεί πρωτόκολλα δικτύου, μετρήσεις συστήματος, εφαρμογές, υποδομές δικτύου, υπηρεσίες και διακομιστές.
  • Συναγερμός. Το Nagios στέλνει ειδοποιήσεις όταν αποτυγχάνουν κρίσιμα στοιχεία. Οι ειδοποιήσεις μπορούν να γίνονται μέσω SMS, προσαρμοσμένου κωδικού ή email.
  • Απάντηση. Η ομάδα IT αναγνωρίζει ειδοποιήσεις και ενεργεί.
  • Αναφορές. Δημιουργούνται αναφορές που παρέχουν ιστορικό αρχείο ειδοποιήσεων, διακοπές λειτουργίας, απαντήσεις ειδοποιήσεων και συμβάντα για μετέπειτα έλεγχο.
  • Συντήρηση. Ο προγραμματισμένος χρόνος διακοπής λειτουργίας εμποδίζει την αποστολή ειδοποιήσεων κατά τη συντήρηση.
  Οι καλύτερες βιβλιοθήκες Python για επιστήμονες δεδομένων

Αναφέρετε μερικά Plugins στο Nagios

  • Επίσημα πρόσθετα Nagios που αναπτύχθηκαν και διατηρούνται από την επίσημη ομάδα
  • Προσαρμοσμένα πρόσθετα-γραμμένα από ιδιώτες/επιχειρήσεις για να ταιριάζουν στις μεμονωμένες ανάγκες
  • Πρόσθετα κοινότητας-που αναπτύχθηκαν από τα μέλη της κοινότητας Nagios

Εξηγήστε την εικονικοποίηση με το Nagios

Το Nagios προσφέρει τη δυνατότητα παρακολούθησης διαφόρων μετρήσεων σε διάφορες πλατφόρμες εικονικοποίησης. Το Nagios μπορεί να εκτελεστεί από διάφορες πλατφόρμες εικονικοποίησης, όπως Xen, Amazon EC2, VMware και Microsoft Virtual PC.

Πώς βοηθά το Nagios στην παρακολούθηση;

Το Nagios χρησιμοποιεί πράκτορες όπως το NRPE, το check_mk ή το SNMP για τη συλλογή στατιστικών στοιχείων στον διακομιστή σας και την αποστολή ειδοποίησης εάν οι μετρήσεις είναι πάνω από το προκαθορισμένο όριο.

Ποιους αριθμούς λιμένων χρησιμοποιεί το Nagios για σκοπούς παρακολούθησης;

SNMP, θύρες 161 και 162

Τι είναι ο αναλυτής δικτύου Nagios;

Ο αναλυτής δικτύου Nagios είναι ένα λογισμικό ανάλυσης δεδομένων ροής που επιτρέπει στους χρήστες να επιλύουν προληπτικά μη φυσιολογικές συμπεριφορές, διακοπές λειτουργίας και απειλές ασφαλείας πριν διακόψουν τις επιχειρηματικές λειτουργίες. Αυτό το εργαλείο εμπορικής ποιότητας προσφέρει εκτεταμένες πληροφορίες για την κίνηση δικτύου και την υποδομή πληροφορικής.

Μεταβλητές που επηρεάζουν την κληρονομικότητα και την αναδρομή στο Nagios

  • Όνομα-ένα πρότυπο «όνομα» που μπορεί να κληρονομήσει τις μεταβλητές/ιδιότητες του αντικειμένου.
  • Χρήση- καθορίστε το όνομα αντικειμένου του προτύπου από το οποίο θέλετε να κληρονομήσετε μεταβλητές/ιδιότητες.
  • Το Register υποδεικνύει εάν το όνομα του αντικειμένου προτύπου πρέπει να είναι «καταχωρισμένο» στο Nagios.

Τι είναι το Puppet;

Το Puppet είναι ένα εργαλείο ανοιχτού κώδικα για διαχείριση και ανάπτυξη ρυθμίσεων λογισμικού.

Τι είναι ένα μανιφέστο μαριονέτας;

Το μανιφέστο Puppet είναι ένα αρχείο που περιέχει τη γλώσσα διαμόρφωσης Puppet που περιγράφει πώς πρέπει να ρυθμιστούν οι πόροι.

Τι είναι ο κώδικας Puppet;

Ο κώδικας Puppet είναι ένας δηλωτικός κωδικός, που σημαίνει ότι τον περιγράφετε χρησιμοποιώντας την επιθυμητή κατάσταση του συστήματός σας και όχι τα βήματα που απαιτούνται για να φτάσετε εκεί.

Τι είναι ο Σεφ;

Το Chef είναι ένα εργαλείο διαχείρισης διαμόρφωσης που μετατρέπει την υποδομή σε κώδικα. Αυτό το εργαλείο εστιάζει στη σύνταξη κώδικα αντί στη μη αυτόματη διαδικασία.

Πώς λειτουργεί ο Chef;

Η δουλειά του σεφ ξεκινά όταν οι διαχειριστές του συστήματος ή οι προγραμματιστές ορίζουν τις εργασίες που θα αυτοματοποιηθούν. Στη συνέχεια, τα βιβλία μαγειρικής και οι συνταγές (μικρά προγράμματα γραμμένα σε γλώσσα συγκεκριμένης περιοχής) καταγράφονται και ελέγχονται χρησιμοποιώντας διάφορα εργαλεία όπως το Test Kitchen, το ChefSpec και το Foodcritic.

Εάν τα βιβλία μαγειρικής και οι συνταγές λειτουργούν όπως αναμένεται, στη συνέχεια αναπτύσσονται στον διακομιστή Chef χρησιμοποιώντας εργαλεία γραμμής εντολών με μαχαίρι και σεφ. Μια διαδικασία ανάπτυξης σεφ έχει διακομιστή Chef, σταθμούς εργασίας και κόμβους. Μπορείτε να επιλέξετε ανάμεσα σε περισσότερα από 3000 πρότυπα βιβλίων μαγειρικής και να τα προσαρμόσετε στις ανάγκες σας. Στη συνέχεια, ο σεφ θα αναλάβει την υπόλοιπη εργασία.

Περίληψη

Σύμφωνα με το Glassdoor, ο μέσος μισθός ενός μηχανικού DevOps είναι 104281 $ ετησίως στις ΗΠΑ. Παρόλο που το DevOps είναι μια νέα καριέρα, μπορούμε τώρα να δούμε περισσότερες εταιρείες να προσλαμβάνουν για αυτόν τον ρόλο και να δημοσιεύουν διάφορα μαθήματα για να εξοπλίσουν τους επαγγελματίες με τις βασικές δεξιότητες. Παραπάνω είναι μερικές ερωτήσεις που πιθανότατα θα συναντήσετε σε μια συνέντευξη DevOps.

Μπορείτε επίσης να εξερευνήσετε μερικά καλά διαδικτυακά μαθήματα για να μάθετε DevOps.