top 20 latest devops interview questions
Domande e risposte dell'intervista DevOps più popolari per completare con successo qualsiasi intervista DevOps:
Abbiamo visto l'elenco dei migliori Fornitori di servizi DevOps nel nostro ultimo tutorial.
DevOps non riguarda solo gli strumenti, ma è anche un insieme di best practice che ci consentono di colmare il divario tra i team di sviluppo e operativi nelle aree di integrazione e distribuzione continue utilizzando un set integrato di strumenti per automatizzare la consegna del software.
Lettura suggerita => Guida introduttiva a DevOps
Diamo ora un'occhiata ad alcune delle domande più frequenti nell'intervista DevOps insieme alle possibili risposte che puoi dare. Le risposte possono variare in base al proprio lavoro e alle proprie esperienze.
Le migliori domande di intervista DevOps con risposte
Di seguito è riportato un elenco delle domande DevOps più frequenti nelle interviste:
Iniziamo.
D # 1) Spiega DevOps.
Risposta:
- DevOps promuove la comunicazione e la collaborazione tra i team aziendali, di sviluppo e operativi. In un certo senso, stiamo parlando di unificazione.
- DevOps non riguarda solo gli strumenti, ma anche il coinvolgimento di persone e processi.
- DevOps si ispira al processo Agile.
- DevOps riguarda l'automazione dei processi di sviluppo, rilascio e funzionamento.
- DevOps aiuta nella velocità di consegna delle applicazioni agli utenti finali.
- DevOps riguarda anche il miglioramento continuo che aiuta nell'apprendimento attraverso il feedback.
D # 2) Spiegare alcuni prerequisiti utili per l'implementazione di DevOps.
Risposta: i prerequisiti includono:
- Impegno a livello senior nell'organizzazione.
- Necessità di cambiamento da comunicare a tutta l'organizzazione.
- Software di controllo della versione.
- Strumenti automatizzati per l'elaborazione della conformità.
- Test automatizzati
- Distribuzione automatizzata
D # 3) Quali sono le best practice per l'implementazione di DevOps?
Risposta: L'implementazione di DevOps varia da un'organizzazione all'altra. Oggi le organizzazioni stanno cercando di fornire il software più velocemente e da quel punto di vista ecco i miei pensieri su come DevOps può realizzare una comunicazione efficiente con tutti gli stakeholder, incluso il team operativo.
- Ogni organizzazione ha determinati obiettivi di business e l'implementazione DevOps dovrebbe allinearsi con esso. Dovrebbe esserci una certa necessità di cambiamento.
- Incoraggiare la comunicazione e la collaborazione soprattutto tra sviluppo e operazioni.
- L'automazione è la chiave e dovrebbe essere eseguita ed eseguita ove possibile all'interno delle fasi SDLC per facilitare il funzionamento di DevOps.
- Gli strumenti utilizzati in DevOps dovrebbero integrarsi molto bene. Dal punto di vista di qualsiasi strumento commerciale come IBM Rational CLM o Microsoft TFS, l'implementazione di DevOps è buona in quanto proviene da un unico fornitore. Allo stesso modo, è necessario esaminare strumenti open source che si integrano per fornire risultati desiderati simili.
- L'implementazione di DevOps non ha successo senza le pratiche di Continuous Integration e Continuous Delivery. Quindi CI del tuo codice con test rigorosi e CD è la chiave per farlo.
- È molto importante per il team Ops assicurarsi che le applicazioni funzionino molto bene a livelli appropriati. Se necessario, dovranno collaborare con i team di sviluppo per creare strumenti che aiutino a creare le giuste capacità di monitoraggio nelle applicazioni.
- Infine, incoraggiare il feedback degli utenti finali per consentire il miglioramento continuo che fornisce la chiave per migliorare il processo e fornire software di qualità.
D # 4) Quali sono i componenti chiave di DevOps?
Risposta: i componenti chiave includono:
- Integrazione continua
- Test continuo
- Consegna continua
- Monitoraggio continuo
D # 5) Spiegare l'integrazione continua.
Risposta: L'integrazione continua è una componente molto importante del processo Agile. In genere, gli sviluppatori lavorano su funzionalità o storie utente all'interno di uno sprint e inviano le modifiche al repository di controllo della versione.
Una volta che il codice è stato impegnato, l'intero lavoro degli sviluppatori è ben integrato e la compilazione viene eseguita regolarmente in base a ogni check-in o pianificazione. Quindi, l'integrazione continua come pratica costringe lo sviluppatore a integrare le proprie modifiche con le altre in modo da ottenere un feedback tempestivo.
come scrivere casi di test per applicazioni web con esempio
D # 6) Spiegare la consegna continua.
Risposta: La consegna continua è un'estensione dell'integrazione continua che aiuta principalmente a fornire le funzionalità che gli sviluppatori stanno sviluppando agli utenti finali il prima possibile. Durante questo processo, passa attraverso varie fasi di QA, Staging, ecc. E quindi per la consegna al sistema di PRODUZIONE.
D # 7) Spiega i test continui.
Risposta: Dall'obiettivo di cui sopra dell'integrazione continua, che è quello di portare l'applicazione agli utenti finali, stiamo principalmente consentendo la consegna continua. Questo non può essere completato senza una quantità sufficiente di test di unità e test di automazione.
Quindi, dobbiamo convalidare che il codice prodotto e integrato con tutti gli sviluppatori che eseguono come richiesto.
D # 8) Spiega il monitoraggio continuo.
Risposta: Man mano che l'applicazione viene sviluppata e distribuita, è necessario monitorarne le prestazioni. Monitoraggio è anche molto importante in quanto potrebbe aiutare a scoprire i difetti che potrebbero non essere stati rilevati in precedenza.
D # 9) Come ti approccerai quando un progetto deve implementare DevOps?
Risposta: È possibile utilizzare i seguenti approcci, ma ciò varierà in base agli scenari di progetto effettivi o da organizzazione a organizzazione
Fase 1: Per qualsiasi implementazione DevOps, una valutazione del processo esistente e dell'implementazione per circa 2 o 3 settimane prendendo una media di 5 applicazioni è un must per valutare il processo AS-IS, identifica le aree di miglioramento e fornisce una roadmap per l'implementazione.
In genere, un profilo senior come un architetto DevOps dovrebbe essere coinvolto per condurre questa valutazione.
Fase 2: È possibile eseguire un POC pilota per mostrare il funzionamento end-to-end di DevOps. Una volta che questo è stato accettato e approvato dagli utenti finali, solo allora dovrebbe essere eseguita l'effettiva attuazione, consegna e stesura del piano per i progetti coinvolti.
Eventuali parti di formazione richieste dovranno anche essere impartite al processo o agli strumenti. Architetti, ingegneri e tester DevOps dovrebbero essere coinvolti in questa fase.
Fase 3: I progetti dovrebbero ora essere in modalità DevOps con tutti i componenti di integrazione / consegna / test e monitoraggio continui che vengono seguiti.
D # 10) DevOps può essere applicato a un processo Waterfall? Spiega il significato del processo Agile nell'implementazione DevOps.
Risposta: Nel processo a cascata, poiché tutti noi sappiamo che inizialmente vengono raccolti i Requisiti completi, successivamente viene progettato il sistema, viene eseguita l'implementazione del sistema, seguita dal test del sistema e distribuito agli utenti finali. In questo processo, il problema era che c'era un enorme tempo di attesa per la compilazione e la distribuzione che rendeva molto difficile ottenere il feedback.
La soluzione al problema di cui sopra è stata che il processo Agile deve portare agilità sia nello sviluppo che nelle operazioni. Il processo agile potrebbe essere il principale o potrebbe essere richiesto un determinato prerequisito per l'implementazione di DevOps. DevOps va di pari passo con il processo Agile.
L'area di interesse è rilasciare il software in modo molto tempestivo con cicli di rilascio più brevi e feedback rapido. Quindi, l'attenzione del processo agile sarà principalmente sulla velocità e in DevOps funziona bene con l'automazione di vari strumenti
D # 11) Qual è la differenza tra Continuous Delivery e Continuous Deployment?
Risposta: In uno sprint agile, Per esempio, ci sono molte funzionalità o storie di utenti che vengono sviluppate, testate e pronte per la distribuzione. Ma sulla base degli scenari e delle priorità dei clienti non tutti sarebbero stati implementati. Quindi, qui in distribuzione continua, è molto importante mantenere il codice prontamente disponibile per la distribuzione.
Nella distribuzione continua, tutte le modifiche sviluppate dallo sviluppatore attraversano varie fasi per essere distribuite nell'ambiente di PRODUZIONE in modo automatizzato.
qa lead intervista domande e risposte pdf
D # 12) Qual è la tua esperienza sui progetti DevOps?
Risposta: Spiega il tuo ruolo di DevOps Engineer e come stavi lavorando come parte dell'ambiente 24 ore su 24, 7 giorni su 7 e forse a turni, i progetti coinvolti nell'automazione della pipeline CI e CD e nel fornire supporto ai team di progetto.
Quindi, assumersi la completa responsabilità di mantenere ed estendere gli ambienti per l'automazione DevOps a un numero sempre maggiore di progetti e tecnologie diverse ( Esempio: .NET, progetti J2EE) coinvolti all'interno dell'organizzazione.
Inoltre, spiega il processo ( Esempio Agile) e strumenti coinvolti in un'automazione end-to-end. Potresti anche parlare della tua esperienza, se del caso, nel supporto DevOps nell'ambiente Cloud.
D # 13) Quali sono i 10 migliori strumenti DevOps utilizzati oggi nel settore?
Risposta: l'elenco include:
- Jira
- GIT / SVN
- Bitbucket
- Jenkins
- Bambù
- SonarQube
- Artifactory / Nexus
- Docker
- Chef / Puppet / Ansible
- IBM Urbancode Deploy / CA-RA
- Nagios / Splunk
D # 14) Puoi spiegare gli usi degli strumenti menzionati nella domanda precedente e come si connettono per fornire un modello DevOps (CI / CD)?
Risposta:
Pianificazione
Domande e risposte dell'intervista agli sviluppatori .net
- Jira - Utilizzato per la pianificazione del progetto e la gestione dei problemi
Integrazione continua
- Partire - Controllo della versione
- Jenkins - Strumento di integrazione continua open source che può anche aiutare nella consegna continua.
- SonarQube - Analisi del codice
- JFrog Artifactory - Binary Repository Manager
Consegna continua
- Chef / Burattino / Ansible - Gestione della configurazione e distribuzione dell'applicazione
- IBM Urbancode Deploy / CA RA - Consegna continua
Monitoraggio continuo
- Nagios / Splunk
Flusso di lavoro DevOps di esempio:
- In genere in un processo Agile le storie degli utenti, le attività, i difetti, ecc., Sono tutti archiviati in JIRA e assegnati ai proprietari e agli sviluppatori del prodotto.
- Gli sviluppatori raccolgono i compiti loro assegnati e lavorano allo sviluppo. Il codice sorgente è controllato dalla versione e archiviato in GIT. Gli sviluppatori confermano le loro modifiche al codice sorgente in GIT. Alla fine, il codice viene condiviso tra gli sviluppatori utilizzando GitHub.
- Jenkins, che è lo strumento di integrazione continua, estrae il codice e ad ogni check-in o in base a una pianificazione la build viene eseguita utilizzando strumenti di build come Maven o ANT.
- Poiché i file J2EE WAR vengono prodotti, vengono anche controllati dalla versione e archiviati in un gestore di repository binario come Artifactory o Nexus.
- Anche gli unit test utilizzando JUnit e l'analisi del codice con SonarQube vengono eseguiti e automatizzati
- Una volta completato il processo di cui sopra, la Continuous Delivery viene eseguita in diversi ambienti in base alle approvazioni utilizzando strumenti come IBM UrbanCode Deploy / CA RA Continuous Testing (Functional and Acceptance Testing) viene invocato negli ambienti di test appropriati utilizzando strumenti come Selenium
- Il monitoraggio continuo sarebbe un'attività continua nell'ambiente PROD
D # 15) Che cos'è la gestione della configurazione in termini di infrastruttura e menzionare alcuni strumenti popolari utilizzati?
Risposta: La gestione della configurazione consiste nelle pratiche e nei vari strumenti coinvolti per automatizzare le operazioni di consegna e infrastruttura. Si tratta solo di mantenere il server pronto ( Esempio Installazione di pacchetti di sistema, impostazioni di configurazione di rete) per la distribuzione dell'applicazione una volta sviluppata l'applicazione.
Quindi le operazioni o l'amministratore di sistema devono garantire la parità in diversi ambienti (Dev, QA, PROD, ecc…) effettuando il provisioning dei sistemi.
Gli strumenti utilizzati in questo spazio per automatizzare le attività di gestione della configurazione sopra descritte sono Chef / Puppet / Ansible
D # 16) Quali strumenti di scripting vengono utilizzati in DevOps?
Risposta: Python, Ruby
D # 17) Spiega i ruoli tipici coinvolti in DevOps.
Risposta:
- Architetto DevOps: Il leader responsabile dell'intero processo DevOps.
- Ingegnere DevOps: La persona deve avere esperienza con Agile, SCM o controllo di versione, CI / CD e configurazione di strumenti di automazione per lo stesso, automazione dell'infrastruttura e capacità di gestione del database. Qualsiasi sviluppatore che abbia competenze nella codifica o nello scripting e abbia l'acume per entrare nella distribuzione o nell'amministratore di sistema può qualificarsi per il ruolo di ingegnere DevOps.
D # 18) Sei stato coinvolto nell'implementazione di DevOps nel cloud? Se sì quale piattaforma di cloud computing?
Risposta:Esempi di piattaforme di cloud computing popolari:
- AWS - Amazon Web Services
- Microsoft Azure
- Google Cloud
D # 19) Spiega alcune delle metriche seguite per il successo di DevOps.
Risposta:
Alcuni degli esempi sono i seguenti:
- Il primo e più importante fattore è la velocità di consegna, il che significa il tempo impiegato da qualsiasi elemento di lavoro per entrare nell'ambiente di produzione.
- Il prossimo sarebbe la distribuzione e quanto tempo ci vorrà una volta automatizzato questo processo.
- È quasi necessario tracciare quanti difetti si trovano nei diversi ambienti rispetto all'ambiente di PRODUZIONE. Questo è molto importante per considerare le funzionalità che devono essere rilasciate più velocemente. L'utilizzo di metodologie Agile aiuta molto e l'obiettivo primario è ridurre i difetti a livello di PRODUZIONE.
- Normalmente le distribuzioni non falliscono ma è molto importante tenere traccia di questo aspetto e avere un meccanismo per tornare alla precedente versione stabile.
- In qualsiasi implementazione DevOps, il test unitario è la chiave così come il test funzionale. In base alle modifiche al codice apportate, spesso è necessario verificare se questi test si interrompono e in che misura. È fondamentale che il test automatizzato sia sufficientemente robusto da supportare eventuali modifiche al codice.
- È molto importante misurare il tempo effettivo o medio necessario per il ripristino in caso di guasto nell'ambiente di PRODUZIONE. Questo è definito come Mean Time To Recover (MTTR) e dovrebbe essere breve. Ciò significa anche che è necessario disporre di strumenti di monitoraggio adeguati per mantenere brevi i tempi di recupero.
- Le prestazioni dell'applicazione sono un'altra metrica chiave che dovrebbe essere monitorata soprattutto dopo che sono state eseguite le distribuzioni.
- Un fattore molto importante per il successo è il numero di bug segnalati dai clienti che dipende principalmente dalla qualità dell'applicazione.
D # 20) Quali sono le tue aspettative dal punto di vista della carriera di DevOps?
Risposta: Essere coinvolti nel processo di consegna end-to-end e l'aspetto più importante per aiutare a migliorare il processo in modo da consentire ai team di sviluppo e operativi di lavorare insieme e comprendere il punto di vista dell'altro.
Conclusione
Questo era l'elenco delle domande di intervista DevOps più popolari.
All'inizio di questa serie di tutorial DevOps , siamo venuti a sapere cos'è esattamente DevOps, il suo processo e alcuni possibili modi per implementarli.
Si spera che le domande DevOps in questo tutorial dovrebbero aiutarti a vincere l'intervista DevOps e metterti sulla strada di una grande carriera in questo campo. Poiché le domande menzionate provengono da una prospettiva DevOps, dovresti anche essere esperto nel processo Agile e negli strumenti menzionati in questo articolo per CI e CD.
Spero che l'intera gamma di tutorial della nostra serie DevOps ti sia piaciuta e sono sicuro che avrai acquisito una conoscenza immensa sul concetto di DevOps !! Vi auguriamo tutto il successo !!!
Lettura consigliata
- 9 MIGLIORI conferenze DevOps nel 2021 da seguire
- Ruoli Ansible, integrazione con Jenkins in DevOps e moduli EC2
- Monitoraggio delle prestazioni delle applicazioni in DevOps
- Tutorial di AWS CodeCommit per l'implementazione di DevOps nel cloud
- I migliori strumenti DevOps open source (con installazione e configurazione)
- Collaborazione in DevOps
- Gestione della configurazione nelle pratiche DevOps
- Consegna continua in DevOps
- Distribuzione continua in DevOps
- Integrazione continua in DevOps
- Test continuo in DevOps
- Demistificazione di DevOps: tutorial video (parte 1)
- Automazione DevOps: come viene applicata l'automazione nella pratica DevOps
- Pratica DevOps basata su Agile Manifesto (Parte 2 - Blocco 1)
- Tutorial sul test DevOps: in che modo DevOps influirà sui test di controllo qualità?
- Tutorial DevOps: The Ultimate Guide to DevOps (25+ tutorial)
- DevOps con Microsoft VSTS: CI / CD a un'app Web di Azure
- Come sviluppare la collaborazione nei team DevOps
- Come utilizzare Microsoft TFS per progetti JAVA con Eclipse in DevOps
- Importanza di piccoli incrementi di consegne in DevOps