상위 50개 DevOps 인터뷰 질문 및 답변(PDF)

꿈의 직업을 얻기 위한 신입 지원자와 경험 많은 지원자를 위한 DevOps 인터뷰 질문과 답변은 다음과 같습니다.

 

신입생을 위한 DevOps 인터뷰 질문 및 답변

1) DevOps가 무엇인지 설명해주세요.

IT 분야에서 새롭게 등장한 용어로, 소프트웨어 개발자와 배포(운영) 팀 모두의 협업과 소통을 강조하는 관행에 불과합니다. 소프트웨어 제품을 더 빠르게 제공하고 릴리스 실패율을 낮추는 데 중점을 둡니다.

👉 무료 PDF 다운로드: DevOps 인터뷰 질문 및 답변 >>


2) DevOps의 핵심 측면이나 원칙이 무엇인지 언급하세요.

DevOps의 핵심 측면 또는 원칙은 다음과 같습니다.

  • 코드형 인프라
  • 지속적인 배포
  • 자동화
  • 모니터링
  • 보안

3) 애플리케이션 개발 및 인프라와 관련된 DevOps의 핵심 작업은 무엇입니까?

DevOps의 핵심 운영은 다음과 같습니다.

응용 프로그램 개발

  • 코드 빌딩
  • 코드 커버리지
  • 단위 테스트
  • 포장
  • 전개

인프라

  • 프로 비저닝
  • 구성
  • 오케스트레이션
  • 전개

4) AWS에서 "인프라 코드"가 어떻게 처리되거나 실행되는지 설명하십시오.

AWS에서는

  • 인프라 코드는 간단한 JSON 형식입니다.
  • 이 JSON 코드는 템플릿이라는 파일로 구성됩니다.
  • 이 템플릿은 AWS DevOps에 배포된 후 스택으로 관리할 수 있습니다.
  • Later CloudFormation 서비스는 스택에서 생성, 삭제, 업데이트 등의 작업을 수행합니다.

5) DevOps 엔지니어에게 가장 중요한 스크립팅 언어가 무엇인지 설명해주세요.

DevOps 엔지니어에게는 더 간단한 스크립팅 언어가 더 좋습니다. Python 인기가 많은 것 같습니다.

DevOps 인터뷰 질문


6) DevOps가 개발자에게 어떻게 도움이 되는지 설명해주세요.

개발자 개발자가 버그를 수정하고 새로운 기능을 신속하게 구현하는 데 도움이 될 수 있습니다. 또한 팀원 간의 명확한 의사소통에도 도움이 됩니다.


7) DevOps에 널리 사용되는 도구를 나열해 보세요.

DevOps에 널리 사용되는 도구 중 일부는 다음과 같습니다.

  • 젠킨스
  • Nagios
  • Monit
  • ELK(엘라스틱서치, Logstash, 키바나)
  • 젠킨스
  • 도커
  • 책임감있는
  • 힘내

8) 어떤 경우에 SSH를 사용했는지 언급해 주세요.

SSH를 사용하여 원격 컴퓨터에 로그인하고 명령줄에서 작업했습니다. 이 외에도 안전하지 않은 네트워크를 통해 신뢰할 수 없는 두 호스트 간의 보안 암호화 통신을 용이하게 하기 위해 시스템에 터널링하는 데에도 사용했습니다.


9) 개정(버전) 관리를 어떻게 처리할 것인지 설명해주세요.

개정 제어를 처리하는 나의 접근 방식은 모든 사람이 볼 수 있도록 SourceForge 또는 GitHub에 코드를 게시하는 것입니다. 또한, 미해결 문제가 해결되었는지 확인하기 위해 지난 개정판의 체크리스트를 게시하겠습니다.


10) HTTP 요청의 유형은 무엇입니까?

Http 요청 유형은 다음과 같습니다.

  • 바로
  • HEAD
  • PUT
  • POST
  • 반점
  • 삭제
  • 자취
  • 소셜 미디어
  • 옵션

11) Linux 빌드 서버가 갑자기 느려지기 시작하면 무엇을 확인할 것인지 설명해주세요.

Linux 빌드 서버가 갑자기 느려지기 시작하면 다음 세 가지 사항을 확인하세요.

애플리케이션 수준 문제 해결 RAM 관련 문제, 디스크 I/O 읽기/쓰기 문제, 디스크 공간 관련 문제 등
시스템 수준 문제 해결 응용 프로그램 로그 파일 또는 응용 프로그램 서버 로그 파일, 시스템 성능 문제, 웹 서버 로그를 확인하십시오. HTTP, tomcat lo, jboss 또는 WebLogic 로그를 확인하여 응용 프로그램 서버 응답/수신 시간이 속도 저하, 메모리 누수 문제인지 확인하십시오. 애플리케이션
종속 서비스 문제 해결 바이러스 백신 관련 문제, 방화벽 관련 문제, 네트워크 문제, SMTP 서버 응답 시간 문제 등

12) DevOps의 핵심 구성요소는 무엇입니까?

다음은 몇 가지 중요한 사항입니다. DevOps 수명주기 단계:

SQL

  • 지속적인 개발
  • 지속적인 통합
  • 지속적인 테스트
  • 지속적인 배포
  • 지속적인 모니터링
  • 지속적인 피드백
  • 끊임없는 OperaTIONS

13) DevOps 구현에 사용되는 몇 가지 클라우드 플랫폼을 나열하십시오.

DevOps 구현에 사용되는 인기 있는 클라우드 컴퓨팅 플랫폼은 다음과 같습니다.

  1. Google Cloud
  2. Amazon 웹 서비스
  3. Microsoft Azure

14) 버전 관리 시스템을 사용하면 얻을 수 있는 이점을 알려주세요.

  • 버전 관리 시스템을 통해 팀 구성원은 언제든지 어떤 파일에 대해서도 자유롭게 작업할 수 있습니다.
  • 모든 이전 버전과 변형은 VCS 내부에 밀접하게 포함되어 있습니다.
  • 분산형 VCS는 프로젝트의 전체 기록을 저장하는 데 도움이 되므로 중앙 서버에 장애가 발생한 경우 팀 구성원의 로컬 Git 저장소를 사용할 수 있습니다.
  • 파일 내용에서 정확한 변경 사항을 확인할 수 있습니다.

15) Git Bisect를 설명하세요

Git bisect는 바이너리 검색을 사용하여 버그가 발생한 커밋을 찾는 데 도움이 됩니다.


16) 빌드는 무엇입니까?

빌드란 소스코드를 모아서 하나의 단위로 동작하는지 확인하는 방식이다. 빌드 생성 프로세스에서 소스 코드는 컴파일, 검사, 테스트 및 배포를 거칩니다.


17) 퍼펫이란 무엇입니까?

인형 유용한 프로젝트 관리 도구입니다. 관리 작업을 자동화하는 데 도움이 됩니다.


18) 이중 인증 설명

이중 인증은 사용자가 별도의 범주에서 두 가지 식별 방법을 제공하는 보안 방법입니다.


19) '라는 용어를 설명하십시오.Canary 풀어 주다'.

카나리아 릴리스는 프로덕션 환경에 새로운 버전 소프트웨어를 도입할 때의 위험을 줄이는 패턴입니다. 이는 사용자 하위 집합에 제어된 방식으로 제공함으로써 수행됩니다. 전체 사용자 집합에 제공하기 전에.


20) 새로운 서비스를 생산할 준비가 되었는지 확인하려면 어떤 유형의 테스트가 중요합니까?

새로운 서비스가 프로덕션 준비가 되었는지 확인하려면 지속적인 테스트를 수행해야 합니다.


숙련된 DevOps 인터뷰 질문 및 답변

21) 방랑이란 무엇입니까?

Vagrant는 소프트웨어 테스트 및 개발을 위한 가상화된 환경을 생성하고 관리할 수 있는 도구입니다.


22) DNS에서 PTR의 용도는 무엇입니까?

(PTR)이라고도 하는 포인터 레코드는 역방향 DNS 조회에 사용됩니다.


23) 셰프란 무엇인가요?

인프라를 코드로 변환하는 강력한 자동화 플랫폼입니다. 이 도구에서는 프로세스를 자동화하는 데 사용되는 쓰기 스크립트를 사용할 수 있습니다.


24) DevOps 구현을 위한 전제 조건은 무엇입니까?

DevOps 구현에 유용한 전제 조건은 다음과 같습니다.

  • 하나 이상의 버전 제어 소프트웨어
  • 팀원 간의 올바른 의사소통
  • 자동화 된 테스트
  • 자동화된 배포

25) DevOps 성공을 위해 따라야 할 몇 가지 모범 사례를 나열하십시오.

DevOps 구현을 위한 필수 모범 사례는 다음과 같습니다.

  • 전달 속도는 모든 작업을 프로덕션 환경으로 가져오는 데 걸리는 시간을 의미합니다.
  • 다양한 제품에서 얼마나 많은 결함이 발견되었는지 추적
  • 프로덕션 환경에 장애가 발생한 경우 복구하는 데 걸리는 실제 시간 또는 평균 시간을 측정하는 것이 중요합니다.
  • 고객이 보고하는 버그의 수도 애플리케이션 품질에 영향을 미칩니다.

26) SubGIt 도구 설명

SubGit은 SVN을 Git으로 마이그레이션하는 데 도움이 됩니다. 또한 로컬 또는 원격 Subversion 저장소의 쓰기 가능한 Git 미러를 구축할 수 있습니다.


27) 중요한 네트워크 모니터링 도구 이름

가장 유명한 네트워크 모니터링 도구는 다음과 같습니다.


28) 비디오 카드가 실행될 수 있는지 여부 Unity 당신은 어떻게 알겠습니까?

명령을 사용할 때

/usr/lib/Linux/unity_support_test-p

에 대한 자세한 출력을 제공합니다 Unity요구 사항을 충족하면 비디오 카드에서 Unity를 실행할 수 있습니다.


29) 시작 사운드를 활성화하는 방법을 설명하십시오. Ubuntu?

시작음을 활성화하려면

  • 컨트롤 기어를 클릭한 후 다음을 클릭하세요. 시작 응용 프로그램
  • . 시작 응용 프로그램 기본 설정 창을 클릭합니다 추가 항목을 추가하려면
  • 그런 다음 이름, 명령 및 설명과 같은 설명 상자에 정보를 입력합니다.
/usr/bin/canberra-gtk-play—id= "desktop-login"—description= "play login sound"
  • 로그아웃 후 로그인 후 완료

단축키로도 열 수 있어요 Ctrl+Alt+T.


30) 문을 여는 가장 빠른 방법은 무엇입니까? Ubuntu 특정 디렉토리의 터미널?

열려면 Ubuntu 특정 디렉토리의 터미널에서는 사용자 정의 키보드 단축키를 사용할 수 있습니다.

그렇게 하려면 새 사용자 정의 키보드의 명령 필드에 게놈 – 터미널 – – 작업 – 디렉토리 = /path/to/dir을 입력하십시오.


31) 화면에서 현재 화면의 현재 색상을 얻는 방법을 설명하세요. Ubuntu 데스크톱?

Gimp(이미지 편집기)에서 배경 이미지를 열고 드로퍼 도구를 사용하여 특정 지점의 색상을 선택할 수 있습니다. 해당 지점의 색상의 RGB 값을 제공합니다.


32) 데스크톱에서 실행 프로그램을 만드는 방법을 설명하세요. Ubuntu?

데스크탑에 실행 프로그램을 생성하려면 Ubuntu 당신이 사용할 수있는

ALT+F2를 누른 다음 "gnome-desktop-item-edit –create-new~/desktop"을 입력하면 이전 GUI 대화 상자가 시작되고 데스크탑에 실행 프로그램이 생성됩니다.


33) Memcached가 무엇인지 설명해주세요.

Memcached는 무료 오픈 소스, 고성능 분산 메모리 객체 캐싱 시스템입니다. Memcached의 주요 목적은 다른 소스나 데이터베이스에서 복구하거나 구성할 수 있는 데이터의 응답 시간을 향상시키는 것입니다. 작동할 필요성을 피하기 위해 사용됩니다. SQL 데이터베이스 또는 다른 소스를 통해 동시 요청에 대한 데이터를 반복적으로 가져옵니다.

Memcached는 다음 용도로 사용할 수 있습니다.

  • 소셜 네트워킹->프로필 캐싱
  • 콘텐츠 집계 -> HTML/페이지 캐싱
  • 광고 타겟팅 -> 쿠키/프로필 추적
  • 관계->세션 캐싱
  • 전자상거래 -> 세션 및 HTML 캐싱
  • 위치 기반 서비스 -> 데이터베이스 쿼리 확장
  • 게임 및 엔터테인먼트->세션 캐싱

Memcache가 도움이 됩니다.

  • 신청 절차 속도 향상
  • 저장할 것과 저장하지 않을 것을 결정합니다.
  • 데이터베이스에 대한 검색 요청 수를 줄입니다.
  • I/O(입력/출력) 액세스(하드 디스크)를 줄입니다.

Memcached의 단점은

  • 영구 데이터 저장소가 아닙니다.
  • 데이터베이스가 아님
  • 특정 애플리케이션이 아닙니다.
  • 큰 개체를 캐시할 수 없습니다.

34) Memcached의 몇 가지 중요한 기능을 언급해 주시겠습니까?

Memcached의 주요 기능은 다음과 같습니다.

  • CAS 토큰: CAS 토큰은 캐시에서 검색된 개체에 첨부됩니다. 해당 토큰을 사용하여 업데이트된 개체를 저장할 수 있습니다.
  • 콜백: 코드를 단순화한다
  • 지연됨: 서버에서 결과가 돌아올 때까지 기다리는 스크립트의 지연 시간을 줄여줍니다.
  • 바이너리 프로토콜: 최신 클라이언트에서는 ASCII 대신 바이너리 프로토콜을 사용할 수 있습니다.
  • 일바이너리: 이전에는 클라이언트가 복잡한 데이터로 값을 직렬화했지만 Memcached를 사용하면 igbinary 옵션을 사용할 수 있습니다.

5+ 경험을 위한 DevOps 인터뷰 질문 및 답변

35) 여러 프로젝트 간에 Memcache의 단일 인스턴스를 공유하는 것이 가능한지 설명해주세요.

예, 여러 프로젝트 간에 단일 Memcache 인스턴스를 공유할 수 있습니다. Memcache는 메모리 저장소 공간이며 하나 이상의 서버에서 Memcache를 실행할 수 있습니다. 특정 인스턴스 집합과 대화하도록 클라이언트를 구성할 수도 있습니다. 따라서 동일한 호스트에서 두 개의 서로 다른 Memcache 프로세스를 실행할 수 있지만 완전히 독립적입니다. 데이터를 분할한 경우가 아니라면 어느 인스턴스에서 데이터를 가져오거나 넣을지 알아야 합니다.


36) Memcache 서버 중 하나가 실패하고 해당 서버에 데이터가 있는 여러 Memcache 서버가 있습니다. 실패한 서버에서 주요 데이터를 가져오려고 시도합니까?

실패한 서버의 데이터는 제거되지 않지만 여러 노드에 대해 구성할 수 있는 자동 실패에 대한 조항이 있습니다. 장애 조치는 소켓 또는 Memcached 서버 수준 오류 중에 트리거될 수 있으며 기존 키 추가 등과 같은 표준 클라이언트 오류 중에는 트리거될 수 없습니다.


37) Memcached 서버 중단을 최소화할 수 있는 방법을 설명해주세요.

  • 한 인스턴스에 장애가 발생하면 여러 인스턴스가 다운되며, 이로 인해 클라이언트가 요청하여 손실된 데이터를 다시 로드할 때 데이터베이스 서버에 더 큰 부하가 발생합니다. 이를 방지하기 위해 캐시 스탬프를 최소화하도록 코드를 작성한 경우 영향이 최소화됩니다.
  • 또 다른 방법은 손실된 시스템 IP 주소를 사용하여 새 시스템에 Memcached 인스턴스를 가져오는 것입니다.
  • 이 코드는 최소한의 작업으로 Memcached 서버 목록을 자유롭게 변경할 수 있으므로 서버 중단을 최소화하는 또 다른 옵션입니다.
  • 시간 초과 값 설정은 일부 Memcached 클라이언트가 Memcached 서버 중단을 위해 구현하는 또 다른 옵션입니다. Memcached 서버가 다운되면 클라이언트는 제한 시간에 도달할 때까지 계속 요청 전송을 시도합니다.

38) 데이터가 변경될 때 Memcached를 업데이트할 수 있는 방법을 설명해주세요.

데이터가 변경되면 다음을 통해 Memcached를 업데이트할 수 있습니다.

  • 사전에 캐시 지우기: 삽입 또는 업데이트가 수행될 때 캐시 지우기
  • 캐시 재설정: 첫 번째 방법과 유사하지만 단순히 키를 삭제하고 다음 데이터 요청이 캐시를 새로 고칠 때까지 기다리는 것이 아니라 삽입 또는 업데이트 후에 값을 재설정합니다.

39) Dogpile 효과가 무엇인지 설명해주세요. 이 효과를 어떻게 방지할 수 있습니까?

Dogpile 효과는 캐시가 만료되어 클라이언트가 동시에 여러 요청을 하여 웹사이트에 접속되는 이벤트를 말합니다. 이 효과는 세마포어 잠금을 사용하여 방지할 수 있습니다. 이 시스템에서는 값이 만료되면 첫 번째 프로세스가 잠금을 획득하고 새 값 생성을 시작합니다.


40) Memcached를 어떻게 사용하면 안 되는지 설명해주세요.

  • Memcached의 일반적인 오용은 이를 캐시가 아닌 데이터 저장소로 사용하는 것입니다.
  • 애플리케이션을 실행하는 데 필요한 정보의 유일한 소스로 Memcached를 사용하지 마십시오. 데이터는 항상 다른 소스를 통해서도 사용할 수 있어야 합니다.
  • Memcached는 단지 키 또는 값 저장소일 뿐이며 데이터에 대한 쿼리를 수행하거나 정보 추출을 위해 콘텐츠를 반복할 수 없습니다.
  • Memcached는 암호화나 인증에서 어떤 형태의 보안도 제공하지 않습니다.

41) 서버가 종료되어도 Memcached에 저장된 데이터를 계속 사용할 수 있습니까?

Memcached에 저장된 데이터는 내구성이 없으므로 서버가 종료되거나 다시 시작되면 Memcached에 저장된 모든 데이터가 삭제됩니다.


42) Memcache와 Memcached의 차이점을 언급해 주세요.

  • 멤캐시: 편리한 객체 지향(OOP) 및 절차적 인터페이스를 통해 작업할 수 있는 확장입니다. 동적 웹 애플리케이션에서 데이터베이스 부하를 줄이도록 설계되었습니다.
  • 멤캐시드: 사용하는 확장 프로그램입니다. libmemcached는 Memcached 서버와 통신하기 위한 API를 제공하는 라이브러리입니다. 데이터베이스 부하를 완화하여 동적 웹 애플리케이션을 늘리는 데 사용됩니다. 최신 API입니다.

43) 블루/그린 배포 패턴 설명

파란색/녹색 색상 패턴은 자동 배포 프로세스 중에 직면하는 가장 중요한 문제를 해결합니다. 블루/그린 배포 접근 방식에서는 두 개의 동일한 프로덕션 환경을 보장해야 합니다. 그러나 특정 시점에 그 중 하나만 LIVE 상태입니다. LIVE 환경을 Blue 환경이라고 합니다.

팀이 소프트웨어의 다음 릴리스를 준비할 때, 그들은 Green 환경이라고 알려진 환경에서 최종 단계의 테스트를 수행합니다. 검증이 완료되면 트래픽은 Green 환경으로 라우팅됩니다.


44) 컨테이너란 무엇인가요?

컨테이너는 경량 가상화를 기반으로 합니다. 프로세스 간 격리를 제공합니다.


45) DevOps 관련 사후검토회의란 무엇인가요?

무엇이 잘못되었는지, 실패를 방지하기 위해 어떤 조치를 취해야 하는지 논의하기 위해 사후 회의가 이루어집니다.


46) 작은 클라우드를 구축하는 가장 쉬운 방법은 무엇입니까?

VMfres는 가상에서 IaaS 클라우드를 만드는 가장 효과적인 옵션 중 하나입니다. Box VM을 즉시 사용할 수 있습니다. 그러나 경량 PaaS를 원한다면 bash 스크립트가 Dokku 컨테이너에서 PaaS가 될 수 있으므로 Dokku가 좋은 옵션입니다.


47) 도커 네트워킹에 사용되는 두 가지 도구를 말해보세요.

Docker 네트워킹의 경우 Kubernetes 및 Docker Swarm을 사용할 수 있습니다.


48) DevOps가 구현되는 영역 중 일부를 나열하십시오.

DevOps는 생산, IT 운영, 생산 피드백 및 소프트웨어 개발에 사용됩니다.


49) CBD'란 무엇입니까?

CBD 또는 구성 요소 기반 개발은 제품 개발에 접근하는 독특한 방법입니다. 이 방법에서 개발자는 처음부터 개발하는 대신 항상 잘 정의되고 테스트되고 검증된 기존 구성 요소를 찾아 제품을 구성하고 조립합니다.


50) DevOps를 참조하여 쌍 프로그래밍을 설명하세요.

쌍 프로그래밍은 익스트림 프로그래밍 규칙의 엔지니어링 관행입니다. 이 방법에서는 두 명의 프로그래머가 동일한 시스템, 동일한 설계/알고리즘/코드로 작업합니다.

한 명의 프로그래머가 "드라이버" 역할을 합니다. 다른 사람은 문제를 식별하기 위해 프로젝트 진행 상황을 지속적으로 모니터링하는 "관찰자" 역할을 합니다. 역할은 사전 통보 없이 언제든지 바뀔 수 있습니다.


51) 탄력성 테스트 설명

장애 발생 후 데이터 및 기능 손실 없이 복구를 보장하는 테스트를 탄력성 테스트라고 합니다.


52) 세 가지 중요한 DevOps KPI를 말해보세요.

가장 일반적인 DevOps KPI 세 가지는 다음과 같습니다.

  • 장애 복구까지
  • 배포 빈도
  • 실패한 배포 비율

이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.