Questions d'entretiens chez MySQL
J'ai été invitée à l'écran de certains candidats pour un MySQL DBA /Développeur position pour un rôle qui exige un niveau de l'entreprise un ensemble de compétences.
Je suis moi-même un Serveur SQL personne donc je sais de quoi je serait à la recherche de ce point de vue en ce qui concerne l'évolutivité et de conception, etc, mais est-il quelque chose de spécifique que je ne demande en ce qui concerne MySQL?
J'ai l'idéal serait de leur poser des questions sur le niveau de l'entreprise des fonctionnalités de MySQL qu'ils utilisent généralement seulement lorsque l'on travaille sur une grosse base de données. Besoin de séparer les développeurs d'entreprise de la maison /petit site web genre de gars.
Grâce.
source d'informationauteur Campbell
Vous devez vous connecter pour publier un commentaire.
Bien que SQL Server et MySQL sont les deux Sgbd, MySQL dispose de nombreuses caractéristiques uniques qui peuvent illustrer la différence entre le novice et l'expert.
Votre première étape devrait être de s'assurer que le candidat est à l'aise avec la ligne de commande, pas seulement des outils d'interface graphique tel que phpMyAdmin. Au cours de l'entrevue, essayez de demander au candidat d'écrire du code de MySQL pour créer une table de base de données ou ajouter un nouvel index. Ceux-ci sont très requêtes de base, mais exactement le type d'outils d'interface graphique prévenir les novices de la maîtrise de l'. Vous pouvez double-vérifier les réponses avec quelqu'un qui est plus familier avec MySQL.
Un candidat peut-il démontrer la connaissance de la façon dont les Jointures de travail? Par exemple, essayez de demander au candidat de construire une requête qui renvoie toutes les lignes de la Table où l'absence de correspondance des entrées d'exister dans la Table de Deux. La réponse implique une JOINTURE GAUCHE.
Demander au candidat de discuter des stratégies de sauvegarde, et les différentes forces et faiblesses de chacun. Le candidat doit savoir que la sauvegarde des fichiers de base de données directement n'est pas une stratégie efficace à moins que toutes les tables MyISAM. Le candidat doit certainement mentionner mysqldump comme une pierre angulaire pour les sauvegardes. Plus sophistiqué solutions de sauvegarde ibbackup/innobackup et des snapshots LVM. Idéalement, le candidat doit également discuter de la façon dont les sauvegardes peuvent affecter les performances (une solution est d'utiliser un serveur esclave pour la réalisation de sauvegardes).
Le candidat a de l'expérience avec la réplication? Ce sont quelques-unes des configurations de réplication et les divers avantages de chacun? La configuration la plus courante est le maître-esclave, permettant à l'application de déchargement de SÉLECTIONNER les requêtes aux serveurs esclaves, avec la réalisation de sauvegardes à l'aide d'un esclave pour éviter les problèmes de performances sur le maître. Une autre configuration est maître-maître, le principal avantage étant la possibilité d'apporter des modifications de schéma sans impact sur les performances. Assurez-vous que le candidat traite des problèmes communs tels que le clonage d'un serveur esclave (mysqldump + notation de la binlog position), la distribution de charge à l'aide d'un équilibreur de charge ou un proxy MySQL, la résolution d'esclaves en brisant des requêtes plus en morceaux, et à la promotion d'un esclave pour devenir un nouveau maître.
Comment le candidat résoudre les problèmes de performances? Ont-ils une connaissance suffisante du sous-jacent système d'exploitation et matériel de diagnostiquer si un goulot d'étranglement est en CPU, IO lié, ou d'un réseau lié? Peuvent-ils démontrer comment utiliser EXPLIQUER de découvrir des problèmes d'indexation? Ils ne mentionnent le slow query log ou des options de configuration telles que la clé de la mémoire tampon, tmp taille de la table, innodb pool de mémoire tampon de taille, etc?
Le candidat apprécier les subtilités de chaque moteur de stockage? (MyISAM, MyISAM, et la MÉMOIRE sont les principaux). Permettent-ils de comprendre comment chaque moteur de stockage pour l'optimisation des requêtes, et de la façon dont le verrouillage est manipulé? Au moins, le candidat doit mentionner que MyISAM questions un verrou de niveau table alors que InnODB utilise le verrouillage de ligne.
Ce qui est le plus sûr moyen de modifier le schéma d'une base de données? Le candidat doit mentionner maître-maître de réplication, ainsi que d'éviter le verrouillage et les problèmes de performances de l'instruction ALTER TABLE par la création d'une nouvelle table avec la configuration de votre choix et en utilisant mysqldump ou INSÉREZ-le DANS ... sélection suivie par RENOMMER la TABLE.
Enfin, la seule véritable mesure d'un pro c'est l'expérience. Si le candidat ne peut point à une expérience spécifique de la gestion de grands ensembles de données dans un environnement de haute disponibilité, ils pourraient ne pas être en mesure de sauvegarder toutes les connaissances qu'ils possèdent sur un purement intellectuelle.
Je vais demander sur les différences entre les différents moteurs de stockage, leur perception des avantages et des inconvénients.
Un air de défi de couvrir la réplication et de creuser les inconvénients de la réplication, esp lors de l'utilisation de tables avec incrément automatique de clés.
Si ils sont toujours avec vous alors poser des questions sur le retard de réplication, c'est des effets et des schémas standard pour le suivi.
Je pense que cela dépend du type de base de données: transactionnelle ou un entrepôt de données?
De toute façon, pour tous les types je demanderais spécifiques à la réplication MySQL et de clustering, optimisation des performances et de la surveillance des concepts.