MySQL DBA 인터뷰에서 무엇을 물어봐야합니까?


9

저는 소프트웨어 개발자이며 팀이 MySQL DBA를 고용하도록 돕고 있습니다. 우리가 직면하고있는 핵심 과제는 다음과 같습니다.

  • 최대 절전 모드로 인해 쿼리 속도가 느려집니다.

  • 데이터베이스 관리 (백업, 튜닝, 패치, 보안)

  • 새로운 데이터 소스의 데이터 증가 및 오래된 데이터 축적으로 인한 확장 성.

  • 향후 데이터 마이닝 및 데이터웨어 하우징을 시작할 계획입니다. 그 방법이 무엇인지 확실하지 않습니다.

우리는 일반적으로 개발자에게 인터뷰를 위해 무언가를 만들도록 요구하는 프로그래밍 사례가 있지만 DBA 인터뷰를 같은 방식으로 수행하는 것은 약간 어렵습니다.

인터뷰 수행 방법에 대한 제안을 해 줄 수 있습니까?


1
이것은 아마도 프로그래머들에게 더 좋을 것 같습니다.
스택 교환

누군가이 질문을 보호하십시오. 이들은 좋은 답변입니다!
RolandoMySQLDBA

와! MySQL DBA를 찾았습니까? 잘 했어!
Jonathan

@RolandoMySQLDBA는 다음 번에 그것을 플래그;)
jcolebrand

답변:


11

완전한 목록은 아니지만 다루려고하는 대략적인 목록입니다. 또한 이들이 최초의 "진정한"DBA인지 DBA 팀인지에 달려 있습니다. DBA가 머신을 담당하는지 또는 그 위에있는 데이터베이스 만 담당하는지의 여부. 기타

  • 어떤 RAID 구성을 사용해야합니까?
  • 데이터베이스 백업 전략.
  • MyISAM과 InnoDB의 차이점과 같은 MySQL 관련 사항
  • 백업 전략 및 복구
  • 일부 SQL 쿼리 및 일부 쿼리 최적화 (최대 절전 모드를 사용할 때도 Explain 등 사용)를 수행하십시오. 때로는 최대 절전 모드를 무시하여 성능을 확보하는 것이 좋습니다.
  • 백업 전략을 언급 했습니까?
  • 확장 성을 위해 DBA는 다른 복제 모드 (RBR, SBR, 혼합 모드 복제, 복제 지연 관찰 및 binlog 유지 보수와 같은 복제 유지 보수)에 대해 알아야합니다.
  • InnoDB 튜닝
  • DB가 작성하는 파일 종류 (예 : ibdata 및 로그 파일) 및 정렬 방법 (예 : 테이블 당 하나의 ibdata 파일, 다른 파티션으로 이동, InnoDB 압축)
  • 모니터링 도구에 대해 토론하십시오. 무엇을 사용하고 있습니까? 그 도구 또는 비슷한 도구에 대한 경험이 있습니까?
  • 또한 OS에서 제공하는 iostat / memstat / vmstat /와 같은 시스템 도구도 살펴 봅니다. 그들에게 약간의 부하가있는 시스템을 제공하고 원인을 찾도록하십시오
  • 그리고 아마도 MySQL 백업 문제, 특히 복원 ;-)

다른 사람들 이이 목록을 확장 할 수 있다고 확신합니다.


Hey there Johannes;) 백업 / 복원에 중점을 두었습니다. 정말 중요합니다. 누군가가 내가 동의하는 MyISAM / InnoDB 비교를보고 싶어요.
Morgan Tocker

MySQL 및 비 MySQL 문제에 대한 훌륭한 답변. +1 !!!
RolandoMySQLDBA

엄지 척! 백업 + 복원 전략과 관련된 내용을 해당 목록에 추가 할 수 있습니다! ;-)
Marian

6

나는 Percona의 인터뷰 프로세스에 기여한 후 얼마 전에 이것 대해 썼습니다 .

나는 누군가를 평가하기 위해 일상적인 활동에서하고있는 일을하도록 노력해야한다고 생각합니다. "MySQL에서 직렬 데이터 형식이란 무엇입니까?"와 같은 임의의 질문 또는 "사람의 구멍이 왜 둥근가?"와 같은 지능 문제 이것을 달성하지 마십시오.

또한 모든 사람에게 동일한 테스트를 제공해야합니다. 개방형 대화 전용 인터뷰를하는 경우 질문에 미묘한 영향을 미치고 답변에 능숙한 질문으로 바꿀 수 있으므로보다 자신감 있고 (약간 조작적인) 사람들이 두드러집니다. 언제 이런 일이 발생하는지 항상 알 수는 없지만 종종 "DBA로 시작했을 때 2MB의 RAM이 있었고 테이프를 사용했습니다 .. blah blah blah": P

다음은 표준 질문 목록입니다.

  • MySQL 복제가 수행되는 프로세스를 설명 하시겠습니까?
  • ACID의 D 구성 요소는 실제 용어로 무엇을 의미합니까?
  • innodb_flush_method = O_DIRECT는 무엇을 변경합니까? (이 것에주의하십시오 : 이것에 대한 일반적인 이해 는 종종 잘못 입니다.)
  • "INSERT INTO my_table (a, b) VALUES (1,2)"와 같은 쿼리를 작성한다고 가정하겠습니다. MySQL 내부에서 발생할 수있는 일에 대해 자세히 설명하십시오.

능력을 제대로 테스트하지 않는 무작위 퀴즈와 같은 질문에 대해 +1.
Derek Downey

3
그들이 일상적으로 무엇을할지 시험해 볼 것이라면 "공개"일까요? 저학년 수업에서 몇몇 선생님들은 모든 것을 암기하라고 주장했지만 다른 사람들은 현실적입니다. 실제 세계에는 참조 할 매뉴얼이 있습니다. 중요한 부분은 답을 찾을 수있는 곳을 아는 것이 었습니다. 때로는 답을 알고 있다고 생각하는 것보다 잘못되었습니다. (경우에 따라 변경 사항이 있으므로 특정 소프트웨어 버전에 대한 문서를 확인하는 것이 중요합니다)
Joe

펼친 책의 경우 +1 닫힌 책을해야하는 경우 질문이 사소한 것일 수 있습니다.
Morgan Tocker

기사와 답변을 읽으십시오. 우와 !!! 좋은 질문입니다. 나는 벽에 날아서 이런 질문을 할 때 어떤 일이 일어나는지 지켜보고 싶습니다. 후보자를 직접 인터뷰 할 때이 질문을 사용해야합니다. 큰 시간 감사합니다 !!! +1 !!!
RolandoMySQLDBA

6

DBA 인터뷰와 관련하여 이미 확립 된 목록을 살펴 보는 것도 좋습니다.

  • 상위 10 개의 SQL Server DBA 인터뷰 질문 -자체 Brent Ozar

    • 가장 좋아하는 질문 :
    • "귀하의 회사에없는 다른 DBA 및 개발자로부터 참고 자료를 제공해 주시겠습니까?"
    • "프로젝트 관리자는 새로운 SQL Server가 필요합니다. 무엇을 물어 보겠습니까?"
  • 주니어 DBA 인터뷰 질문 -토마스 라록 (Thomas LaRock)

    • 가장 좋아하는 질문 : "질문을 빠르게하는 방법을 배우도록 요청했다면 어디로 가겠습니까?"
  • 데이터베이스 심사 질문 -Grant Fritchey

    • 가장 좋아하는 질문 : "당신은 DBA입니다. 전화가 울립니다. 사용자 중 한 명은 전화를 겁니다."데이터베이스가 느립니다. " 그런 다음 전화를 끊습니다. 어떻게 하시겠습니까? "

그들은 모두 훌륭한 SQL Server 작가입니다. 일부 질문은 SQL Server를 중심으로 할 수 있지만 대부분은 일반적인 DBA 인터뷰에서 사용되지 않으며 사용할 수 있습니다.


1
여기 각 목록에서 좋아하는 질문을 추가 할 수 있습니까? 그것은이 답변에 더 많은 가치를 줄 것입니다.
Nick Chammas

저의 주된 동기는이 주제들이 어떻게 테스트되어야 하는지를 보는 것입니다 (즉, 복제에 대해 질문하거나 그것들을 설정하기 위해 테스트 시스템을 건네주십시오). 나는 목록을 철저히 검토하고 있으며 일반적인 DBA 수준의 질문으로 인해 MySQL에 적합한 후보자를 찾지 못할 것이라고 생각합니다.
geoaxis

1
@ 닉 : 메모 주셔서 감사합니다, 답변을 업데이트했습니다. Geoaxis-MySQL의 복잡한 부분을 포착 할 수있는 다양한 DBA가 있습니다. 예 : Java 개발자를 고용 할 때 엄격한 기술 Java 라이브러리 질문이나 일반적인 프로그래밍 질문 만합니까?
Marian

5

비록 무작위로 보이는 많은 인터뷰 질문들 (예를 들어, 맨홀이 하나를 다루는 것)이 실제로 그렇게 유용하지는 않다는 것에 동의하지만 (어쩌면 산업 디자이너 나 그 경우를 제외하고).

많은 것들의 사소한 측면을 넘어 서면, 그들은 당신 답을 모르는 것들을 목표로하므로 답을 찾는 방법을 설명해야합니다. 아님 예 :

  • 그럴듯한 것을 꾸미거나 길을 헛소리하려고합니다. (판매 및 마케팅에 유용 할 수 있습니까? 다른 분야에서는 고용하지 마십시오.)
  • 다른 정보를 기반으로 추정
  • 문제를 해결하는 데 필요한 정보를 얻는 방법 설명

...기타.

과거에 채용 프로세스를 담당했을 때, 완전히 예정되지 않은 5-15 분의 전화 인터뷰를 시도합니다 (몇 분 정도 시간을 줄 수 있다면 전화하십시오. 일부는 그들이 떠날 계획에 있었기 때문에 모두가 할 수있는 것은 아닙니다.) ... 그들이 이력서에서 얼마나 많은 것을 생각하고 있는지 평가하기 위해.

예를 들어, 수석 PL / SQL 프로그래머를 고용 할 때 PL / SQL 블록의 일부가 무엇인지 물어볼 것입니다. 요즘 Google에 처음 등장한 것은 2003 년의 사례가 아니 었습니다. 인터뷰 한 사람들 대부분은 이전에 Oracle을 사용했을 수도 있고 Oracle에 대해 SQL을 작성했을 수도 있습니다. PL / SQL 블록이 어떻게 생겼는지 알지 못한다면 PL / SQL 프로그래머가 아니에요.

...

그리고 말하자면, 면접에 대한 나의 질문은 :

스타 워즈 또는 스타 트렉?

부분적으로, 그들은 최고의 답변이없는 상황, 답변에 외교적이거나 상자 밖에서 생각하는 경우 (예 : Dr. Who 또는 Firefly가 유효한 답변) 상황을 어떻게 처리하는지 알게됩니다. 내가 현재 일하고있는 곳 (우주 물리 연구소)은, 당신이 외국인이 아니라면 결코 본 적이 없다고 말합니다. 그래도 마음에 들지 않는다고 말하고 정당한 이유가있는 이유를 설명하는 것이 좋습니다. 둘 중 하나를 너무 많이 빼내는 것은 여전히 ​​실패 할 수 있습니다 (아무도 사람 과 일하고 싶지 않기 때문에 )


그들이 팀에 잘 맞는지 확인하기 위해 개인적인 질문을하는 것이 중요합니다. +1
Derek Downey

@DTest : 그러나 개인 질문에주의해야합니다 ... 적어도 미국에서는 할 수없는 많은 질문들이 있습니다 : eeoc.gov/facts/qanda.html
Joe
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.