MySQL DBA röportajında ​​ne sormalıyım?


9

Yazılım geliştiriciyim ve ekibimin bir MySQL DBA kiralamasına yardım ediyorum. Karşılaştığımız temel zorluklar:

  • Hazırda Bekletme nedeniyle daha yavaş sorgular ve performans.

  • Veritabanı yönetimi (yedekleme, ayarlama, yamalar, güvenlik).

  • Yeni veri kaynaklarından gelen verilerdeki artış ve daha eski verilerin birikmesi nedeniyle ölçeklenebilirlik.

  • Gelecekte veri madenciliği ve veri ambarına başlamayı planlıyoruz. Nasıl emin değilim ama yön budur.

Genellikle geliştiricilerden bir röportaj için bir şeyler inşa etmelerini istediğimiz programlama vakalarımız vardır, ancak aynı şekilde bir DBA röportajı yapmak biraz zor.

Röportajın nasıl yapılması gerektiği konusunda önerilerde bulunabilir misiniz?


1
Bu muhtemelen Programcılar.Stackexchange daha iyi olurdu gibi görünüyor, ama ben bu topluluk için yeniyim, bu yüzden sözümü alma
DForck42

Birisi lütfen bu soruyu koruyun. Bunlar harika cevaplar !!!
RolandoMySQLDBA

Vaov! bir MySQL DBA bulmayı başardınız mı? Aferin!
Jonathan

@RolandoMySQLDBA bir dahaki sefere işaretler;)
jcolebrand

Yanıtlar:


11

Tam bir liste değil, ama ele almaya çalışacağım şeylerin kaba listesi. Aynı zamanda ilk "gerçek" DBA mı yoksa bir DBA ekibinde mi olacağına da bağlıdır. DBA'nın makinelerden de sorumlu olup olmadığı veya yalnızca bunun üstündeki veritabanı. vb.

  • hangi RAID yapılandırması kullanılmalıdır
  • veritabanları için yedekleme stratejileri.
  • MyISAM ve InnoDB arasındaki farklar gibi MySQL'e özgü şeyler
  • yedekleme stratejileri ve kurtarma
  • Bazı SQL sorguları ve bazı sorgu optimizasyonları yapmalarına izin verin (hazırda bekletme kullanırken bile açıklama kullanımı vb. Bazen performans kazanmak için hazırda bekletme modunu atlamak iyidir)
  • yedekleme stratejilerinden bahsettim mi
  • Ölçeklenebilirlik için bir DBA farklı çoğaltma modları hakkında bilgi sahibi olmalıdır (RBR, SBR, karışık mod çoğaltma, çoğaltma gecikmesini gözlemleme ve binlog bakımı gibi çoğaltma bakımı)
  • InnoDB ayarı
  • DB tarafından ne tür dosyalar yazılıyor (örn. İbdata ve günlük dosyaları) ve bunların nasıl düzenlenebileceği (örneğin, tablo başına bir ibdata dosyası, farklı bölümlerde hareket ettirin, InnoDB sıkıştırması)
  • İzleme araçlarını tartışın. Ne kullanıyorsunuz, bu araç veya benzeri bir araçla ilgili deneyimleri var mı?
  • Ayrıca işletim sisteminiz ne olursa olsun iostat / memstat / vmstat / gibi sistem araçlarına bakarım. Onlara biraz yük olan bir sistem verin ve sebebini bulmalarına izin verin
  • Ve belki de MySQL yedeklemesindeki sorunları tartışın ve özellikle ;-)

Eminim buradaki diğer kişiler bu listeyi uzatabilir


Hey orada Johannes;) Yedekleme / geri yükleme odağını seviyorum - gerçekten önemli olan bu. Birisi olsa katılıyorum bir MyISAM / InnoDB karşılaştırma vermek görmek isterim.
Morgan Tocker

MySQL ve MySQL olmayan sorunlar için harika bir cevap. +1 !!!
RolandoMySQLDBA

Başparmak yukarı! Bu listeye yedekleme + geri yükleme stratejileri hakkında bir şeyler ekleyebilirsiniz! ;-)
Marian

6

Bunu bir süre önce , Percona'daki röportaj sürecine katkıda bulunduktan sonra yazdım.

Birini değerlendirmek için, günlük faaliyetlerinde yaptıklarını yapmalarını denemek ve yapmak zorunda olduğunuzu düşünüyorum. "MySQL'de seri veri türü nedir?" veya "insan delikleri neden yuvarlak?" bunu başarmayın.

Ayrıca herkese aynı testi yaptığınızdan emin olmak istersiniz. Yalnızca açık uçlu bir görüşme görüşmeniz varsa, sorularınızın etrafına ustaca bakabildikleri ve cevaplamakta iyi olduklarına göre değiştirebildikleri için daha kendinden emin ve (biraz manipülatif) insanlar öne çıkacaktır. Bunun ne zaman gerçekleştiğini her zaman fark edemezsiniz, ancak genellikle "DBA olarak başladığımda 2MB RAM'imiz vardı ve kasetler kullandık." Falan filan falan ": P

Bunu söyledikten sonra, standart soru listem:

  • MySQL çoğaltmasının hangi süreçte çalıştığını açıklayın?
  • ASİT'in D bileşeni pratik açıdan ne anlama geliyor?
  • İnnodb_flush_method = O_DIRECT neyi değiştirir? (Buna dikkat edin: bunun ortak anlayışı genellikle yanlıştır .)
  • Diyelim ki "INSERT INTO my_table (a, b) VALUES (1,2)" gibi bir sorgu yazıyorum. Bana MySQL'in içinde neler olabildiğince ayrıntılı olarak açıklayın.

Yetenekleri düzgün bir şekilde test etmeyen rastgele trivia benzeri sorular hakkında +1.
Derek Downey

3
Eğer onları günlük olarak ne yapacaklarını test edecekseniz, "açık kitap" mı olacak? Yani, lisans derslerimde, öğretmenlerden birkaçı her şeyi ezberlemeniz konusunda ısrar etti, diğerleri gerçekçi iken - gerçek dünyada, danışmak için referans kılavuzlarınız var; önemli olan cevabı nerede bulacağını bilmekti, bazen cevabı bildiğini düşünmekten ve yanlış olmaktan daha fazlası. (ve bazı durumlarda işler değişir, bu nedenle belirli yazılım sürümü için dokümanları kontrol etmek önemlidir)
Joe

Açık kitap için +1. Eğer kapalı bir kitap yapmak zorundaysanız, bu sorularınızın önemsiz şeyler olduğunu gösterebilir.
Morgan Tocker

Makalenizi ve cevabınızı okuyun. Vay !!! Harika sorular. Duvara uçmak ve bunlara bazı sorular sorulduğunda ne olacağını izlemek isterim. Bu soruyu adaylarla kendim görüşürken kullanmalıyım. Teşekkür ederim büyük zaman !!! +1 !!!
RolandoMySQLDBA

6

DBA röportajlarıyla ilgili halihazırda oluşturulmuş listelere de bakmanızı öneririm:

  • Top 10 SQL Server DBA Mülakat Soruları - kendi Brent Ozar

    • favori sorular:
    • "Bana şirketinizde olmayan diğer DBA'lardan ve geliştiricilerden referanslar verebilir misiniz?"
    • "Bir proje yöneticisinin yeni bir SQL Server'a ihtiyacı var. Ona ne soruyorsun?"
  • Junior DBA Röportaj Soruları - kendi Thomas LaRock'umuz tarafından

    • en sevdiğim soru: "Senden bir sorguyu nasıl daha hızlı yapacağını öğrenirsem nereye giderdin?"
  • Veritabanı Tarama Soruları - Grant Fritchey

    • en sevdiğim soru: "Sen DBA'sın. Telefon çalıyor. Kullanıcılardan biri hatta." Veritabanı yavaş "diyorlar. Sonra telefonu kapatıyorlar. Ne yapıyorsun? "

Hepsi harika SQL Server yazarları. Bazı soruların SQL Server odaklı olabileceğini biliyorum, ancak çoğu genel bir DBA görüşmesinde kullanılamaz ve kullanılabilir.


1
Belki de her listeden en sevdiğiniz soruyu buraya ekleyebilir misiniz? Bu, bu cevaba çok daha fazla değer katacaktır.
Nick Chammas

Ana motivasyonum da bu konuların nasıl test edilmesi gerektiğini görmekti (yani çoğaltmayı sormak veya kurmak için bir test sistemi vermek). Ben listeleri iyice gidiyorum ve genel DBA seviyesi soruları bana iyi bir MySQL belirli candinate bulamazlar sanırım.
geoaxis

1
@Nick: not için teşekkürler, cevabı güncelledi. Geoaxis - ne olursa olsun iyi bir DBA, MySQL'in inceliklerini yakalayabilecektir. Örn: bir Java geliştiricisini işe alırken yalnızca katı teknik Java kitaplığı soruları mı yoksa genel programlama soruları mı soruyorsunuz?
Marian

5

Görünüşe göre rastgele görünen birçok röportaj sorusunun (örn. Rögar kapağını kapsayan) kabul etmesine rağmen, o kadar da kullanışlı değil ... (belki de bir endüstriyel tasarımcı ve sadece bu durum için).

Eğer onlardan çoğunun önemsiz yönüyle geçmiş olsun, onlar bu şeyleri olması amaçlanmıştır ediyoruz yok cevabını bilmek ve sahip olacak, böylece cevabını bulmaya devam ediyorum nasıl açıklamak için. Ya da değil. Örneğin:

  • akla yatkın bir şey yapın ve / veya yolunuza çıkmaya çalışın. (satış ve pazarlama için yararlı olabilir mi? Başka herhangi bir alan, işe alma.)
  • diğer bilgilere dayanarak tahmin et
  • sorunu çözmek için gerekli bilgileri nasıl alacağınızı açıklayın

...vb.

Geçmişte işe alım sürecinden sorumlu olduğumda, tamamen planlanmamış 5 ila 15 dakikalık bir telefon görüşmesi yapmaya çalışıyorum (sadece birkaç dakika verebilirlerse onları arayın ... Bazıları işten ayrılmayı planladıkları gibi, hepsi yapamazdı) ... sadece özgeçmişlerine ne kadar saçma olduklarını düşündüğümü değerlendirmek için.

Örneğin, kıdemli bir PL / SQL programcısı için çalışırken, onlara bir PL / SQL bloğunun parçalarının ne olduğunu sorardım. Bugünlerde, Google'da ilk şey ortaya çıkıyor ... 2003'te durum böyle değildi. Görüştüğümüz insanların çoğu daha önce Oracle kullanmış olabilirler, Oracle için SQL yazmış olabilirler ... PL / SQL bloğunun neye benzediğini bildiğinize dair bir ipucu veremezsiniz, üst düzey bir PL / SQL programcısı işi için hazır değilsiniz.

...

Bununla birlikte, herhangi bir yüz yüze görüşme için benim sorularım:

Yıldız Savaşları mı Star Trek mi?

Kısmen, en iyi cevabı olmayan bir durumu nasıl ele aldıklarını, cevaplarında diplomatik olup olmadıklarını ya da kutunun dışında düşünüp düşünmediklerini göreceksiniz (örneğin, Dr. Who veya Firefly geçerli cevaplar). Şu anda çalıştığım yerde (bir uzay fiziği laboratuvarı), hiç yabancı görmediğinizi asla görmediğinizi söylemek başarısız olabilir. Siz de sevmediğinizi söylemek ve neden iyi bir nedenden ötürü bir geçiş olacağını açıklamak. İkisinden de çok fazla şey yapmak hala başarısız olabilir (hiç kimse bu kişiyle çalışmak istemediğinden )


Ekip için iyi olup olmadıklarını görmek için duvardan kişisel sorulara sahip olmak önemlidir. +1
Derek Downey

@DTest: ama kişisel sorulara dikkat etmelisiniz ... En azından ABD'de sormamanıza
Joe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.