top 20 latest devops interview questions
DevOps 인터뷰를 성공적으로 완료하기위한 가장 인기있는 DevOps 인터뷰 질문 및 답변 :
우리는 최고의 목록을 보았습니다 DevOps 서비스 제공 업체 지난 튜토리얼에서.
DevOps는 단순히 도구에 관한 것이 아니라 소프트웨어 제공을 자동화하는 통합 도구 세트를 사용하여 지속적 통합 및 배포 영역에서 개발 팀과 운영 팀 간의 격차를 해소 할 수있는 모범 사례입니다.
추천 읽기 => 입문 DevOps 가이드
이제 DevOps 인터뷰에서 가장 자주 묻는 질문과 가능한 답변을 살펴 보겠습니다. 응답은 자신의 작업과 경험에 따라 다를 수 있습니다.
답변이있는 최고의 DevOps 인터뷰 질문
다음은 인터뷰에서 가장 자주 묻는 DevOps 질문 목록입니다.
시작하자.
Q # 1) DevOps를 설명하십시오.
대답:
- DevOps는 비즈니스, 개발 및 운영 팀 간의 커뮤니케이션 및 협업을 촉진합니다. 어떤 의미에서 우리는 통일에 대해 이야기하고 있습니다.
- DevOps는 도구에 관한 것이 아니라 사람과 프로세스를 포함하는 것입니다.
- DevOps는 Agile 프로세스에서 영감을 받았습니다.
- DevOps는 개발, 릴리스 및 운영 프로세스를 자동화하는 것입니다.
- DevOps는 최종 사용자에게 애플리케이션을 제공하는 속도를 지원합니다.
- DevOps는 또한 피드백을 통해 학습하는 데 도움이되는 지속적인 개선에 관한 것입니다.
Q # 2) DevOps 구현에 유용한 몇 가지 전제 조건을 설명하십시오.
답변 : 전제 조건에는 다음이 포함됩니다.
- 조직의 고위급에서의 헌신.
- 조직 전체에 변화를 전달할 필요가 있습니다.
- 버전 관리 소프트웨어.
- 프로세스 준수를위한 자동화 도구.
- 자동화 된 테스트
- 자동화 된 배포
Q # 3) DevOps 구현을위한 모범 사례는 무엇입니까?
대답: DevOps 구현은 조직마다 다릅니다. 오늘날 조직은 소프트웨어를 더 빨리 제공하기를 원하고 있으며 여기에서 DevOps가 운영 팀을 포함한 모든 이해 관계자와 효율적인 커뮤니케이션을 가능하게하는 방법에 대한 저의 생각이 있습니다.
- 모든 조직에는 특정 비즈니스 목표가 있으며 DevOps 구현은 이에 맞춰야합니다. 변화가 필요합니다.
- 특히 개발과 운영 간의 커뮤니케이션 및 협업을 장려합니다.
- 자동화가 핵심이며 DevOps의 작업을 용이하게하기 위해 SDLC 단계 내에서 가능한 한 수행되고 수행되어야합니다.
- DevOps에서 사용되는 도구는 매우 잘 통합되어야합니다. IBM Rational CLM 또는 Microsoft TFS와 같은 상용 도구의 관점에서 볼 때 DevOps 구현은 단일 공급 업체에서 제공하는 것처럼 훌륭합니다. 마찬가지로, 유사한 원하는 결과를 제공하기 위해 통합되는 오픈 소스 도구를 살펴볼 필요가 있습니다.
- 지속적 통합 및 지속적 배포 관행 없이는 DevOps 구현이 성공하지 못합니다. 따라서 엄격한 테스트 및 CD 작업을 통해 코드의 CI가 핵심입니다.
- Ops 팀은 애플리케이션이 적절한 수준에서 매우 잘 작동하는지 확인하는 것이 매우 중요합니다. 필요한 경우 애플리케이션에 올바른 모니터링 기능을 구축하는 데 도움이되는 도구를 구축하기 위해 개발 팀과 협력해야합니다.
- 마지막으로, 최종 사용자의 피드백을 장려하여 프로세스를 개선하고 양질의 소프트웨어를 제공하기위한 핵심을 제공하는 지속적인 개선을 가능하게합니다.
Q # 4) DevOps의 주요 구성 요소는 무엇입니까?
답변 : 주요 구성 요소는 다음과 같습니다.
- 지속적인 통합
- 지속적인 테스트
- 지속적인 전달
- 지속적인 모니터링
Q # 5) 지속적인 통합을 설명하십시오.
대답: 지속적인 통합은 Agile 프로세스에서 매우 중요한 구성 요소입니다. 일반적으로 개발자는 스프린트 내에서 기능 또는 사용자 스토리에 대해 작업하고 변경 사항을 버전 제어 저장소에 커밋합니다.
코드가 커밋되면 개발자의 전체 작업이 잘 통합되고 모든 체크인 또는 일정에 따라 정기적으로 빌드가 수행됩니다. 따라서 지속적 통합을 실행하면 개발자가 변경 사항을 다른 사용자와 통합하여 조기 피드백을받을 수 있습니다.
PC 청소를위한 최고의 무료 소프트웨어
Q # 6) 지속적인 배포를 설명하십시오.
대답: Continuous Delivery는 개발자가 개발중인 기능을 가능한 한 빨리 최종 사용자에게 제공하는 데 주로 도움이되는 지속적 통합의 확장입니다. 이 과정에서 다양한 단계의 QA, Staging 등을 거쳐 PRODUCTION 시스템으로 전달됩니다.
Q # 7) 연속 테스트를 설명하십시오.
대답: 애플리케이션을 최종 사용자에게 제공하는 위의 지속적 통합 목표에서 주로 지속적 제공을 가능하게합니다. 이는 충분한 단위 테스트와 자동화 테스트 없이는 완료 될 수 없습니다.
따라서 코드가 생성되고 필요에 따라 수행하는 모든 개발자와 통합되었는지 검증해야합니다.
Q # 8) 지속적인 모니터링을 설명하십시오.
대답: 응용 프로그램이 개발되고 배포됨에 따라 성능을 모니터링해야합니다. 모니터링 또한 이전에 발견되지 않았을 수있는 결함을 발견하는 데 도움이 될 수 있으므로 매우 중요합니다.
Q # 9) 프로젝트에서 DevOps를 구현해야 할 때 어떻게 접근 하시겠습니까?
답변 : 다음 접근 방식을 사용할 수 있지만 실제 프로젝트 시나리오에 따라 또는 조직마다 다를 수 있습니다.
스테이지 1: 모든 DevOps 구현의 경우 평균 5 개의 애플리케이션을 사용하여 약 2 ~ 3 주 동안 기존 프로세스 및 구현에 대한 평가는 AS-IS 프로세스를 측정하고 개선 영역을 식별하며 구현을위한 로드맵을 제공하는 데 필수적입니다.
일반적으로 DevOps 설계자와 같은 고위 프로필이이 평가를 수행해야합니다.
2 단계 : DevOps의 종단 간 작업을 보여주기 위해 파일럿 POC를 수행 할 수 있습니다. 최종 사용자가이를 수락하고 승인 한 후에 만 실제 구현, 관련된 프로젝트에 대한 계획을 전달 및 배포해야합니다.
기본 게이트웨이를 사용할 수 없음 Windows 10 WiFi
필요한 교육도 프로세스 또는 도구에 전달해야합니다. DevOps 설계자, 엔지니어 및 테스터가이 단계에 참여해야합니다.
3 단계 : 이제 프로젝트는 계속되는 통합 / 배달 / 테스트 및 모니터링의 모든 구성 요소와 함께 DevOps 모드에 있어야합니다.
Q # 10) DevOps를 Waterfall 프로세스에 적용 할 수 있습니까? DevOps 구현에서 Agile 프로세스의 중요성을 설명합니다.
대답: 폭포수 프로세스에서 우리 모두는 처음에 완전한 요구 사항이 수집되고 다음으로 시스템이 설계되고 시스템 구현이 완료된 다음 시스템 테스트가 완료되고 최종 사용자에게 배포됨을 알고 있습니다. 이 과정에서 문제는 빌드 및 배포를위한 대기 시간이 길어서 피드백을 받기가 매우 어려웠습니다.
위의 문제에 대한 해결책은 Agile 프로세스가 개발과 운영 모두에서 민첩성을 가져와야한다는 것입니다. 애자일 프로세스가 주체이거나 DevOps 구현을 위해 특정 전제 조건이 필요할 수 있습니다. DevOps는 Agile 프로세스와 함께 진행됩니다.
초점 영역은 짧은 릴리스주기와 빠른 피드백으로 매우 적시에 소프트웨어를 릴리스하는 것입니다. 따라서 애자일 프로세스의 초점은 주로 속도에 있으며 DevOps에서는 다양한 도구의 자동화와 잘 작동합니다.
Q # 11) 지속적 배포와 지속적 배포의 차이점은 무엇입니까?
대답: 애자일 스프린트에서 예를 들어, 개발, 테스트 및 배포 할 준비가 된 많은 기능 또는 사용자 스토리가 있습니다. 그러나 고객 시나리오와 우선 순위에 따라 모든 것이 배포되는 것은 아닙니다. 따라서 여기서 지속적인 배포에서는 코드를 배포 할 수 있도록 쉽게 유지하는 것이 매우 중요합니다.
Continous Deployment에서 개발자가 개발 한 모든 변경 사항은 자동화 된 방식으로 PRODUCTION 환경에 배포하기 위해 다양한 단계를 거칩니다.
Q # 12) DevOps 프로젝트에 대한 전문 지식은 무엇입니까?
대답: DevOps 엔지니어로서의 역할과 CI 및 CD 파이프 라인을 자동화하고 프로젝트 팀에 지원을 제공하는 데 관련된 프로젝트에 대해 연중 무휴 환경의 일환으로 작업하는 방식과 교대 근무 방식을 설명하십시오.
따라서 DevOps 자동화를위한 환경을 유지 관리하고 점점 더 많은 프로젝트와 다양한 기술로 확장 할 책임이 있습니다 ( 예: .NET, J2EE 프로젝트)는 조직 내에 포함됩니다.
또한 프로세스 ( 예 Agile) 및 엔드 투 엔드 자동화에 관련된 도구. 클라우드 환경에서 DevOps 지원에 대한 경험 (있는 경우)에 대해서도 이야기 할 수 있습니다.
Q # 13) 오늘날 업계에서 사용되는 10 대 DevOps 도구는 무엇입니까?
답변 : 목록에는 다음이 포함됩니다.
- Jira
- GIT / SVN
- Bitbucket
- 젠킨스
- 대나무
- SonarQube
- Artifactory / Nexus
- Docker
- 요리사 / 인형 / Ansible
- IBM Urbancode Deploy / CA-RA
- Nagios / Splunk
Q # 14) 위 질문에서 언급 한 도구의 사용과 DevOps 모델 (CI / CD)을 제공하기 위해 연결하는 방법을 설명해 주시겠습니까?
대답:
계획
- Jira – 프로젝트 기획 및 이슈 관리에 사용
지속적인 통합
- 가다 – 버전 관리
- 젠킨스 – Continuous Delivery에서도 도움이 될 수있는 오픈 소스 지속적 통합 도구.
- SonarQube – 코드 분석
- JFrog Artifactory – 바이너리 리포지토리 관리자
지속적인 전달
- Chef / Puppet / Ansible – 구성 관리 및 애플리케이션 배포
- IBM Urbancode Deploy / CA RA – 지속적인 전달
지속적인 모니터링
- Nagios / Splunk
샘플 DevOps 워크 플로 :
- 일반적으로 Agile 프로세스에서는 사용자 스토리, 작업, 결함 등이 모두 JIRA에 저장되고 제품 소유자 및 개발자에게 할당됩니다.
- 개발자는 자신에게 할당 된 작업을 선택하고 개발 작업을합니다. 소스 코드는 버전 관리되고 GIT에 저장됩니다. 개발자는 GIT의 소스 코드에 대한 변경 사항을 커밋합니다. 결국 코드는 GitHub를 사용하는 개발자간에 공유됩니다.
- 지속적 통합 도구 인 Jenkins는 코드를 가져 와서 체크인 할 때마다 또는 일정에 따라 Maven 또는 ANT와 같은 빌드 도구를 사용하여 빌드를 수행합니다.
- J2EE WAR 파일이 생성되면 버전이 제어되고 Artifactory 또는 Nexus와 같은 바이너리 저장소 관리자에 저장됩니다.
- SonarQube와 함께 JUnit 및 코드 분석을 사용한 단위 테스트도 수행되고 자동화됩니다.
- 위의 프로세스가 완료되면 Selenium과 같은 도구를 사용하여 적절한 테스트 환경에서 IBM UrbanCode Deploy / CA RA Continuous Testing (기능 및 승인 테스트)과 같은 도구를 사용하여 승인을 기반으로 다양한 환경에 지속적 전달이 수행됩니다.
- 지속적인 모니터링은 PROD 환경에서 지속적인 활동입니다.
Q # 15) 인프라 측면에서 구성 관리 란 무엇이며 사용되는 몇 가지 인기 도구를 언급합니까?
대답: 구성 관리는 제공 및 인프라 운영을 자동화하는 데 관련된 다양한 도구와 사례로 구성됩니다. 서버를 준비하는 것입니다 ( 예 응용 프로그램이 개발되면 응용 프로그램 배포를위한 시스템 패키지 설치, 네트워크 구성 설정).
따라서 운영팀 또는 시스템 관리자는 시스템을 프로비저닝하여 다양한 환경 (Dev, QA, PROD 등)에서 패리티를 보장해야합니다.
위에서 설명한 구성 관리 작업을 자동화하기 위해이 공간에서 사용되는 도구는 다음과 같습니다. 셰프 / 퍼펫 / 앤서 블
Q # 16) DevOps에서 사용되는 스크립팅 도구는 무엇입니까?
대답: Python, Ruby
Q # 17) DevOps와 관련된 일반적인 역할을 설명하십시오.
대답:
- DevOps 설계자 : 전체 DevOps 프로세스를 담당하는 리더입니다.
- DevOps 엔지니어 : 그 사람은 Agile, SCM 또는 버전 제어, CI / CD 및 동일한 인프라 자동화 및 데이터베이스 관리 기술을위한 자동화 도구 설정에 대한 경험이 있어야합니다. 코딩 또는 스크립팅 기술이 있고 배포 또는 시스템 관리자에 대한 통찰력이있는 개발자는 DevOps 엔지니어의 역할을 수행 할 수 있습니다.
Q # 18) 클라우드에서 DevOps 구현에 참여 했습니까? 그렇다면 어떤 클라우드 컴퓨팅 플랫폼입니까?
대답:인기있는 클라우드 컴퓨팅 플랫폼의 예 :
- AWS – Amazon Web Services
- 마이크로 소프트 애저
- 구글 클라우드
Q # 19) DevOps 성공을 위해 따랐던 몇 가지 지표를 설명하십시오.
대답:
몇 가지 예는 다음과 같습니다.
Java로 열리도록 jar 파일을 설정하는 방법
- 첫 번째이자 가장 중요한 요소는 작업 항목이 프로덕션 환경에 들어가는 데 걸리는 시간을 의미하는 전달 속도입니다.
- 다음은 배포와이 프로세스가 자동화 된 후 걸리는 시간입니다.
- PRODUCTION 환경과 관련하여 서로 다른 환경에서 발견 된 결함 수를 추적하는 것이 거의 필요합니다. 이는 더 빨리 출시되어야하는 기능을 고려할 때 매우 중요합니다. Agile 방법론의 사용은 많은 도움이되며 주요 목표는 생산 수준의 결함을 줄이는 것입니다.
- 일반적으로 배포는 실패하지 않지만이 측면을 추적하고 이전 안정 버전으로 롤백하는 메커니즘을 갖는 것이 매우 중요합니다.
- 모든 DevOps 구현에서 단위 테스트는 기능 테스트이자 핵심입니다. 수행 된 코드 변경 사항을 기반으로 이러한 테스트가 어느 정도까지 중단되는지 살펴 봐야합니다. 자동화 된 테스트는 코드 변경 사항을 유지할 수있을만큼 강력해야합니다.
- PRODUCTION 환경에서 장애가 발생한 경우 복구하는 데 걸리는 실제 또는 평균 시간을 측정하는 것은 매우 중요합니다. 이를 MTTR (평균 복구 시간)이라고하며 짧아야합니다. 이는 또한 복구 시간을 짧게 유지하기 위해 적절한 모니터링 도구가 필요함을 의미합니다.
- 응용 프로그램의 성능은 특히 배포가 완료된 후 모니터링해야하는 또 다른 주요 지표입니다.
- 성공을위한 매우 중요한 요소는 주로 애플리케이션의 품질에 따라 달라지는 고객이보고하는 버그의 수입니다.
Q # 20) DevOps의 경력 관점에서 기대하는 것은 무엇입니까?
대답: 개발 및 운영 팀이 협력하고 서로의 관점을 이해할 수 있도록 종단 간 제공 프로세스 및 프로세스 개선을 돕는 가장 중요한 측면에 참여합니다.
결론
이것이 가장 인기있는 DevOps 인터뷰 질문 목록입니다.
시작 부분 이 일련의 DevOps 자습서 , 우리는 DevOps가 정확히 무엇인지, 프로세스 및이를 구현할 수있는 특정 방법을 알게되었습니다.
이 자습서의 DevOps 질문은 DevOps 인터뷰를 정복하고이 분야에서 훌륭한 경력을 쌓는 데 도움이되기를 바랍니다. 언급 된 질문은 DevOps 관점에서 나온 것이므로 CI 및 CD에 대한이 기사에서 언급 한 Agile 프로세스와 도구에 능숙해야합니다.
DevOps 시리즈의 모든 자습서를 즐겼기를 바랍니다. DevOps 개념에 대한 방대한 지식을 얻었을 것입니다 !! 모든 성공을 기원합니다 !!!
추천 도서
- 따라야 할 2021 년 최고의 DevOps 컨퍼런스 9 가지
- Ansible 역할, DevOps에서 Jenkins와의 통합 및 EC2 모듈
- DevOps의 애플리케이션 성능 모니터링
- 클라우드에서 DevOps 구현을위한 AWS CodeCommit 자습서
- 최고의 오픈 소스 DevOps 도구 (설치 및 구성 포함)
- DevOps에서의 협업
- DevOps 사례의 구성 관리
- DevOps의 지속적인 제공
- DevOps의 지속적인 배포
- DevOps의 지속적인 통합
- DevOps의 지속적인 테스트
- DevOps 이해하기 : 비디오 자습서 (1 부)
- DevOps 자동화 : DevOps Practice에 자동화가 적용되는 방법
- Agile Manifesto에 기반한 DevOps 연습 (2 부-블록 1)
- DevOps 테스트 자습서 : DevOps가 QA 테스트에 어떤 영향을 미칠까요?
- DevOps 자습서 : DevOps에 대한 궁극적 인 가이드 (25 개 이상의 자습서)
- Microsoft VSTS를 사용한 DevOps : Azure 웹앱에 대한 CI / CD
- DevOps 팀에서 협업을 개발하는 방법
- DevOps에서 Eclipse와 함께 JAVA 프로젝트 용 Microsoft TFS를 사용하는 방법
- DevOps에서 소량 제공의 중요성