Tôi nên hỏi gì khi phỏng vấn MySQL DBA?


9

Tôi là một nhà phát triển phần mềm và đang giúp nhóm của tôi thuê một DBA MySQL. Những thách thức cốt lõi mà chúng tôi đang phải đối mặt là:

  • Truy vấn chậm hơn và hiệu suất do Hibernate.

  • Quản lý cơ sở dữ liệu (sao lưu, điều chỉnh, vá lỗi, bảo mật).

  • Khả năng mở rộng do tăng dữ liệu từ các nguồn dữ liệu mới và tích lũy dữ liệu cũ.

  • Chúng tôi dự định bắt đầu khai thác dữ liệu và lưu trữ dữ liệu trong tương lai. Không biết làm thế nào nhưng đó là hướng đi.

Chúng tôi thường có các trường hợp lập trình trong đó chúng tôi yêu cầu các nhà phát triển xây dựng một cái gì đó cho một cuộc phỏng vấn, nhưng hơi khó để thực hiện một cuộc phỏng vấn DBA theo cùng một cách.

Bạn có thể đưa ra gợi ý về cách cuộc phỏng vấn nên được tiến hành?


1
Có vẻ như điều này có thể sẽ tốt hơn đối với các lập trình viên
.Stackexchange

Ai đó hãy bảo vệ câu hỏi này. Đây là những câu trả lời tuyệt vời !!!
RolandoMySQLDBA

Ồ bạn quản lý để tìm một DBA MySQL? Làm tốt lắm!
Jonathan

@RolandoMySQLDBA đánh dấu lần sau;)
jcolebrand

Câu trả lời:


11

Không phải là một danh sách đầy đủ, nhưng danh sách sơ bộ của những điều tôi sẽ cố gắng bao gồm. Nó cũng phụ thuộc vào việc họ sẽ là DBA "thật" đầu tiên hay trong một đội DBA. Cho dù DBA cũng chịu trách nhiệm cho các máy, hoặc chỉ cơ sở dữ liệu trên đó. Vân vân.

  • cấu hình RAID nào nên được sử dụng
  • chiến lược sao lưu cho cơ sở dữ liệu.
  • Những thứ cụ thể của MySQL như sự khác biệt giữa MyISAM và InnoDB
  • chiến lược dự phòng và phục hồi
  • Hãy để họ thực hiện một số truy vấn SQL và một số tối ưu hóa truy vấn (sử dụng giải thích, v.v. ngay cả khi sử dụng chế độ ngủ đông. Đôi khi, nên bỏ qua chế độ ngủ đông để đạt được hiệu suất)
  • tôi đã đề cập đến các chiến lược sao lưu
  • Để có khả năng mở rộng, DBA nên biết về các chế độ sao chép khác nhau (RBR, SBR, sao chép chế độ hỗn hợp, bảo trì nhân rộng như quan sát độ trễ sao chép và bảo trì binlog)
  • Điều chỉnh InnoDB
  • Loại tệp nào đang được DB viết (ví dụ: tệp ibdata và tệp nhật ký) và cách chúng có thể được sắp xếp (ví dụ: một tệp ibdata trên mỗi bảng, di chuyển chúng trên các phân vùng khác nhau, nén InnoDB)
  • Thảo luận về các công cụ giám sát. Bạn đang sử dụng cái gì, họ có kinh nghiệm với công cụ đó hoặc một công cụ tương tự không?
  • Tôi cũng sẽ xem xét các công cụ hệ thống như iostat / memstat / vmstat / bất cứ điều gì hệ điều hành của bạn cung cấp. Cung cấp cho họ một hệ thống với một số tải và để họ tìm ra nguyên nhân
  • Và có thể thảo luận về các vấn đề trong sao lưu MySQL và đặc biệt là khôi phục ;-)

Tôi chắc rằng những người khác ở đây có thể mở rộng danh sách này


Hey there Johannes;) Tôi thích tập trung sao lưu / khôi phục - thực sự đó là điều quan trọng. Tôi rất thích thấy ai đó đưa ra một so sánh MyISAM / InnoDB mà tôi đồng ý.
Morgan Tocker

Câu trả lời tuyệt vời cho các vấn đề MySQL và không phải MySQL. +1 !!!
RolandoMySQLDBA

Đưa ngón cái lên! Bạn có thể thêm một cái gì đó liên quan đến sao lưu + khôi phục chiến lược vào danh sách đó! ;-)
Mary

6

Tôi đã viết về điều này một thời gian trước , sau khi tôi đóng góp vào quá trình phỏng vấn tại Percona.

Tôi nghĩ rằng để đánh giá ai đó, bạn phải cố gắng và khiến họ làm những gì họ sẽ làm trong hoạt động hàng ngày. Các câu hỏi ngẫu nhiên như "Kiểu dữ liệu nối tiếp trong MySQL là gì?" hoặc những câu hỏi về trí thông minh như "tại sao con người lại tròn?" không đạt được điều này

Bạn cũng muốn chắc chắn rằng bạn cung cấp cho tất cả mọi người bài kiểm tra tương tự. Nếu bạn chỉ có một cuộc trò chuyện kết thúc cuộc phỏng vấn, những người tự tin hơn và (hơi thao túng) sẽ nổi bật, vì họ có thể khéo léo xoay quanh câu hỏi của bạn và thay đổi họ thành những người họ giỏi trả lời. Bạn sẽ không nhận ra khi điều này xảy ra nhưng nó thường chứa một cái gì đó như "khi tôi bắt đầu làm DBA, chúng tôi có 2 MB RAM và băng đã sử dụng .. blah blah blah": P

Phải nói rằng, đây là danh sách câu hỏi tiêu chuẩn của tôi:

  • Mô tả quá trình sao chép MySQL hoạt động?
  • Thành phần D của ACID có nghĩa gì trong điều kiện thực tế?
  • Innodb_flush_method = O_DIRECT thay đổi điều gì? (Hãy cẩn thận với điều này: sự hiểu biết chung về điều này thường sai .)
  • Giả sử tôi viết một truy vấn như "XÁC NHẬN VÀO my_table (a, b) GIÁ TRỊ (1,2)". Mô tả cho tôi càng chi tiết càng tốt những gì có thể xảy ra bên trong MySQL.

+1 cho bit về các câu hỏi giống như câu đố ngẫu nhiên không kiểm tra các khả năng đúng cách.
Derek Downey

3
Nếu bạn định kiểm tra họ về những gì họ sẽ làm hàng ngày, thì đó có phải là "cuốn sách mở" không? Ý tôi là, trong các lớp học đại học của tôi, một vài giáo viên khăng khăng đòi bạn ghi nhớ mọi thứ, trong khi những người khác thực tế - trong thế giới thực, bạn có tài liệu tham khảo để tham khảo; phần quan trọng là biết tìm câu trả lời ở đâu, đôi khi còn hơn cả suy nghĩ bạn biết câu trả lời và bị sai. (và trong một số trường hợp, mọi thứ thay đổi, vì vậy việc kiểm tra tài liệu cho phiên bản phần mềm cụ thể là rất quan trọng)
Joe

+1 cho sách mở. Nếu bạn phải làm cuốn sách kín, nó có thể chỉ ra câu hỏi của bạn là những câu đố nhỏ.
Morgan Tocker

Đọc bài viết của bạn và câu trả lời của bạn. Ái chà !!! Những câu hỏi hay Tôi rất thích được bay trên tường và xem điều gì xảy ra khi một số câu hỏi như thế này. Tôi nên sử dụng những câu hỏi này khi phỏng vấn ứng viên bản thân mình. Cảm ơn bạn thời gian lớn !!! +1 !!!
RolandoMySQLDBA

6

Tôi cũng đề nghị xem xét một số danh sách đã được thiết lập liên quan đến các cuộc phỏng vấn DBA:

  • 10 câu hỏi phỏng vấn DBA trên máy chủ SQL hàng đầu - bởi Brent Ozar của chúng ta

    • câu hỏi yêu thích:
    • "Bạn có thể cho tôi tham khảo từ các DBA và nhà phát triển khác không ở công ty bạn không?"
    • "Người quản lý dự án cần một Máy chủ SQL mới. Bạn hỏi cô ấy điều gì?"
  • Câu hỏi phỏng vấn Junior DBA - bởi Thomas LaRock của chúng ta

    • Câu hỏi yêu thích: "Nếu tôi yêu cầu bạn học cách tạo truy vấn nhanh hơn, bạn sẽ đi đâu?"
  • Câu hỏi sàng lọc cơ sở dữ liệu - bởi Grant Fritchey

    • Câu hỏi yêu thích: "Bạn là DBA. Điện thoại đổ chuông. Một trong những người dùng đang ở trên mạng. Họ nói rằng cơ sở dữ liệu chậm. Sau đó, họ cúp máy. Bạn làm gì? "

Họ đều là những nhà văn SQL Server tuyệt vời. Tôi biết rằng một số câu hỏi có thể được định hướng SQL Server, nhưng hầu hết không phải và có thể được sử dụng trong một cuộc phỏng vấn DBA chung.


1
Có lẽ bạn có thể thêm câu hỏi yêu thích của bạn từ mỗi danh sách ở đây? Điều đó sẽ cho câu trả lời này nhiều giá trị hơn.
Nick Chammas

Động lực chính của tôi cũng là để xem các chủ đề này nên được kiểm tra như thế nào (tức là hỏi về sao chép hoặc trao một hệ thống kiểm tra để họ thiết lập nó). Tôi sẽ tìm hiểu kỹ các danh sách và tôi đoán các câu hỏi chung về cấp độ DBA sẽ không tìm thấy cho tôi một loại kẹo đặc biệt tốt cho MySQL.
Geoaxis

1
@Nick: cảm ơn bạn đã ghi chú, cập nhật câu trả lời. Geoaxis - một DBA tốt với bất kỳ hương vị nào sẽ có thể nắm bắt được sự phức tạp của MySQL. Ví dụ: khi thuê một nhà phát triển Java, bạn chỉ hỏi các câu hỏi thư viện Java kỹ thuật nghiêm ngặt hoặc các câu hỏi lập trình chung?
Mary

5

Mặc dù tôi đồng ý rằng nhiều câu hỏi phỏng vấn có vẻ ngẫu nhiên (ví dụ: nắp hố ga), không thực sự hữu ích ... (ngoại trừ, có thể cho một nhà thiết kế công nghiệp, và chỉ cho một trường hợp đó).

Khi bạn vượt qua khía cạnh tầm thường của nhiều người trong số họ, họ dự định là những thứ mà bạn không biết câu trả lời, và vì vậy bạn sẽ phải mô tả cách bạn tìm kiếm câu trả lời. Hay không. Ví dụ:

  • tạo ra một cái gì đó hợp lý và / hoặc cố gắng để nhảm nhí theo cách của bạn thông qua. (có thể hữu ích cho việc bán hàng & tiếp thị? bất kỳ lĩnh vực nào khác, đừng thuê.)
  • ước tính nó dựa trên thông tin khác
  • giải thích làm thế nào bạn có được thông tin cần thiết để giải quyết vấn đề

...Vân vân.

Khi tôi phụ trách quá trình tuyển dụng trong quá khứ, tôi cố gắng thực hiện một cuộc phỏng vấn qua điện thoại hoàn toàn không hẹn trước từ 5 đến 15 phút (chỉ cần gọi cho họ, vì họ có thể cho bạn vài phút ... không phải tất cả đều có thể, vì một số người đang làm công việc mà họ dự định rời đi) ... chỉ để đánh giá mức độ tôi nghĩ họ đang nhảm nhí trong hồ sơ của họ.

Ví dụ, khi chúng tôi đang tuyển dụng một lập trình viên PL / SQL cao cấp, tôi sẽ hỏi họ các phần của khối PL / SQL là gì. Ngày nay, điều đầu tiên xuất hiện ở Google ... đó không phải là trường hợp xảy ra vào năm 2003. Hầu hết những người chúng tôi đã phỏng vấn có thể đã sử dụng Oracle trước đây, họ có thể đã viết SQL cho Oracle ... nhưng nếu bạn không thể cho tôi manh mối để bạn biết khối PL / SQL trông như thế nào, bạn không sẵn sàng cho công việc lập trình viên PL / SQL cao cấp.

...

Và, điều đó đang được nói, câu hỏi tiếp theo của tôi cho bất kỳ cuộc phỏng vấn trực tiếp nào là:

Chiến tranh giữa các vì sao hay Star Trek?

Một phần, bạn có thể thấy cách họ xử lý một tình huống không có câu trả lời hay nhất, nếu họ ngoại giao trong câu trả lời của họ hoặc nếu họ nghĩ bên ngoài hộp (ví dụ: Dr. Who hoặc Firefly là câu trả lời hợp lệ). Nơi tôi hiện đang làm việc (một phòng thí nghiệm vật lý không gian), nói rằng bạn chưa từng thấy hoặc có thể là một người thất bại trừ khi bạn là người nước ngoài. Nói rằng bạn không thích, và giải thích lý do tại sao với một lý do tốt sẽ là một vượt qua, mặc dù. Geeking hiểu về một trong hai quá nhiều vẫn có thể là một thất bại (như không ai muốn làm việc với rằng người)


Điều quan trọng là phải có những câu hỏi cá nhân để xem liệu chúng có phù hợp với đội không. +1
Derek Downey

@DTest: nhưng bạn phải cẩn thận với các câu hỏi cá nhân ... có rất nhiều loại câu hỏi mà bạn không được phép hỏi, ít nhất là không ở Hoa Kỳ: eeoc.gov/facts/qanda.html
Joe
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.