Що мені потрібно запитати на співбесіді з MySQL DBA?


9

Я розробник програмного забезпечення і допомагаю своїй команді найняти MySQL DBA. Основні проблеми, з якими ми стикаємося:

  • Повільніші запити та ефективність через сплячку.

  • Управління базами даних (резервне копіювання, налаштування, виправлення, безпека).

  • Масштабованість за рахунок збільшення даних з нових джерел даних та накопичення старих даних.

  • Ми плануємо розпочати пошук даних та зберігання даних у майбутньому. Не впевнений, як, але це напрямок.

Зазвичай у нас є випадки програмування, коли ми просимо розробників щось скласти для інтерв'ю, але зробити інтерв'ю DBA так само важко.

Чи можете ви надати пропозиції щодо того, як слід проводити співбесіду?


1
Здається, це, мабуть, краще програмістам.
Штакексмен

Хтось, будь ласка, захистить це питання. Це чудові відповіді !!!
RolandoMySQLDBA

Оце Так! вам вдалося знайти DBA MySQL? Хороша робота!
Джонатан

@RolandoMySQLDBA прапор це наступного разу;)
jcolebrand

Відповіді:


11

Не повний перелік, а приблизний перелік речей, які я б спробував висвітлити. Це також залежить від того, чи будуть вони першими "справжніми" DBA або в команді DBA. Чи відповідає BBA також за машини, або лише база даних над цим. тощо.

  • яку конфігурацію RAID слід використовувати
  • резервні стратегії створення баз даних.
  • Специфічні для MySQL речі, такі як відмінності між MyISAM та InnoDB
  • резервні стратегії та відновлення
  • Нехай вони виконують деякі запити SQL та оптимізацію запитів (використання пояснення тощо) навіть при використанні сплячого режиму. Іноді добре обходити сплячий режим для отримання продуктивності)
  • я згадав стратегії резервного копіювання
  • Для масштабованості АПД повинен знати про різні режими реплікації (RBR, SBR, реплікація змішаного режиму, підтримка реплікації, такі як спостереження затримки реплікації та обслуговування бінарних файлів)
  • Налаштування InnoDB
  • Які файли записуються в БД (наприклад, файли ibdata та журнали) та як їх можна упорядкувати (наприклад, один файл ibdata за таблицею, переміщувати їх по різних розділах, стиснення InnoDB)
  • Обговоріть засоби моніторингу. Що ви використовуєте, чи мають досвід роботи з цим інструментом чи подібним?
  • Я б також заглянув у такі інструменти системи, як iostat / memstat / vmstat / все, що надає ваша ОС. Дайте їм систему з деяким навантаженням і нехай вони знайдуть причину
  • І, можливо, обговоріть проблеми в резервній копії MySQL і особливо відновіть ;-)

Я впевнений, що інші можуть продовжити цей список


Привіт, Йоганне;) Мені подобається фокусування на резервному копії / відновленні - насправді це важливо. Я хотів би, щоб хтось давав порівняння MyISAM / InnoDB, з яким я згоден.
Морган Токер

Чудова відповідь на питання MySQL та не-MySQL. +1 !!!
RolandoMySQLDBA

Великий палець догори! Ви можете додати щось до стратегії резервного копіювання + відновлення до цього списку! ;-)
Мар’ян

6

Я писав про це деякий час тому , після того, як я сприяв інтерв'ю в Percona.

Я думаю, що щоб оцінити когось, ти мусиш спробувати і змусити їх робити те, що вони робили б у звичайній щоденній діяльності. Випадкові запитання типу "Що таке послідовний тип даних у MySQL?" або питання розвідки на кшталт "чому людині дірки круглі?" цього не досягти.

Ви також хочете переконатися, що ви даєте всім однаковий тест. Якщо у вас є лише відкрите інтерв'ю для розмови, більш впевнені та (злегка маніпулятивні) люди будуть виділятися, оскільки вони можуть тонко спідницю навколо ваших питань і перетворити їх на ті, на які вони добре відповідають. Ви не завжди зрозумієте, коли це відбувається, але це часто містить щось на кшталт "коли я починав як DBA, ми мали 2 Мб оперативної пам’яті та використовували стрічки .. бла-бла-бла": P

Сказавши це, ось мій стандартний перелік питань:

  • Охарактеризуйте процес, за допомогою якого працює реплікація MySQL?
  • Що означає практичний компонент кислотної кислоти?
  • Що змінюється innodb_flush_method = O_DIRECT? (Будьте обережні з цим: загальне розуміння цього питання часто неправильне .)
  • Скажімо, я пишу запит на кшталт "ВСТАВЛЯЙТЕ В my_table (a, b) VALUES (1,2)". Опишіть мені якомога детальніше, як ви можете, що відбувається всередині MySQL.

+1 для деталей щодо випадкових питань, схожих на дрібниці, які не перевіряють вміння належним чином.
Дерек Дауні

3
Якщо ви збираєтесь перевірити їх на те, що вони збираються робити щодня, це буде "відкрита книга"? Я маю на увазі, що на моїх заняттях з нижчих класів декілька вчителів наполягали на тому, щоб ви запам’ятали все, а інші були реалістичними - в реальному світі ви маєте довідкові посібники для консультацій; важливою частиною було знати, де знайти відповідь, іноді навіть більше, ніж думати, що ти знаєш відповідь, і помилятися. (а в деяких випадках все змінюється, тому важливо перевірити документи на конкретну версію програмного забезпечення)
Джо

+1 для відкритої книги. Якщо вам доведеться робити закриту книгу, це може означати, що ваші запитання є дрібницями.
Морган Токер

Прочитайте вашу статтю та свою відповідь. Ого !!! Чудові питання. Я хотів би летіти на стіну і спостерігати, що відбувається, коли хтось задає такі питання. Мені слід скористатися цим питанням, коли я сам опитую кандидатів. Дякую вам великий час !!! +1 !!!
RolandoMySQLDBA

6

Я б запропонував також ознайомитись із уже встановленими списками щодо інтерв'ю щодо DBA:

  • Топ-10 запитань щодо інтерв'ю DBA для SQL Server - від власного Brent Ozar

    • улюблені питання:
    • "Чи можете ви надати мені довідки від інших DBA та розробників, які не є у вашій компанії?"
    • "Менеджеру проектів потрібен новий SQL Server. Що ви просите у неї?"
  • Питання для інтерв'ю для молодших членів DBA - власноруч Томас Ларок

    • улюблене запитання: "Якби я попросив вас навчитися швидше робити запит, куди б ви пішли?"
  • Питання скринінгу баз даних - Грант Фрітчі

    • улюблене питання: "Ти DBA. Телефон дзвонить. Один з користувачів працює на лінії. Вони кажуть:" База даних повільна ". Потім вони завішують. Що ти робиш? "

Всі вони чудові автори SQL Server. Я знаю, що деякі питання можуть бути орієнтовані на SQL Server, але більшість з них не можуть бути використані в загальному інтерв'ю щодо DBA.


1
Не могли б ви тут додати своє улюблене запитання з кожного списку? Це дало б цій відповіді набагато більше значення.
Нік Чаммас

Моєю основною мотивацією було також бачити, як слід перевірити ці теми (тобто запитати про реплікацію або вручити тест-системі для їх налаштування). Я ретельно переглядаю списки, і, мабуть, загальні питання рівня DBA не знайдуть мені хорошого кандидата MySQL.
geoaxis

1
@Nick: спасибі за замітку, оновив відповідь. Geoaxis - хороша DBA будь-якого смаку зможе вловити тонкощі MySQL. Наприклад: коли ви наймаєте розробника Java, ви задаєте лише суворі технічні питання бібліотеки Java або також загальні питання програмування?
Мар’ян

5

Хоча я згоден, що багато начебто випадкових запитань щодо інтерв'ю (наприклад, кришка каналізаційного люка) насправді не такі корисні ... (за винятком, можливо, для промислового дизайнера, і тільки для цього випадку).

Після того, як ви перейдете дрібницю аспекту багатьох з них, вони повинні бути предметами, на які ви не знаєте відповіді, і тому вам доведеться описати, як би ви вирішили знайти відповідь. Чи ні. Наприклад:

  • скласти щось правдоподібне та / або спробувати тріпотіти свій шлях. (може бути корисно для продажів та маркетингу? будь-яке інше поле, не наймайте.)
  • оцініть його на основі іншої інформації
  • поясніть, як би ви отримали необхідну інформацію для вирішення проблеми

... тощо.

Коли я відповідав за процес найму в минулому, я намагаюся зробити повністю позапланову 5 - 15 хвилинну телефонну співбесіду (просто зателефонуйте їм, як вони, якщо вони могли б дати вам пару хвилин часу ... не всі могли, оскільки деякі були на тій роботі, яку вони планували виїхати) ... лише для того, щоб оцінити, наскільки я думаю, що вони бідують на їх резюме.

Наприклад, коли ми приймали на роботу для старшого програміста PL / SQL, я б запитав їх, які саме частини PL / SQL блоку. У наші дні це найперше в Google ... це було не так у 2003 році. Більшість людей, з якими ми опитувались, могли раніше використовувати Oracle, вони, можливо, написали SQL для Oracle ... але якщо ви Ви не можете дати зрозуміти, що ви знаєте, як виглядає блок PL / SQL, ви не готові до роботи старшого програміста PL / SQL.

...

І, як це сказано, моє запитання для будь-якого особистого інтерв'ю:

Зоряні війни чи Зоряний шлях?

Частково ви можете побачити, як вони вирішують ситуацію, коли найкращої відповіді немає, чи є вони дипломатичними у своїй відповіді, або якщо вони думають поза рамками (наприклад, доктор Хто або Firefly є дійсними відповідями). Там, де я зараз працюю (лабораторія космічної фізики), кажучи, що ви ніколи не бачили жодного з випадків, якщо не будете іноземцем. Скажіть, що вам це теж не подобається, і поясніть, чому з поважної причини було б пропуск. Виявити будь-який із них занадто багато може все-таки бути невдалим (оскільки ніхто не хоче працювати з цією людиною)


Важливо мати особисті запитання від стіни, щоб дізнатися, чи добре вони підходять для команди. +1
Дерек Дауні

@DTest: але ви повинні бути обережними щодо особистих питань ... Є багато класів питань, які вам заборонено задавати, принаймні, не в США: eeoc.gov/facts/qanda.html
Джо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.