Mysql – How to ask at a MySQL DBA interview

interview-questionMySQL

I am a software developer and am helping my team hire a MySQL DBA. The core challenges that we are facing are:

  • Slower queries and performance due to Hibernate.

  • Database management (backups, tuning, patches, security).

  • Scalability due to increase in data from new data sources and accumulation of older data.

  • We plan to start data mining and data warehousing in the future. Not sure how but that is the direction.

We usually have programming cases where we ask developers to build something for an interview, but it's a bit hard to do a DBA interview in the same fashion.

Can you give suggestions on how the interview should be conducted?

Best Answer

Not a complete list, but rough list of things I would try to cover. It also depends on whether they will be the first "true" DBA or in a DBA team. Whether the DBA is responsible for the machines, too, or only the database on top of that. etc.

  • what RAID configuration should be used
  • backup strategies for databases.
  • MySQL specific things like differences between MyISAM and InnoDB
  • backup strategies and recovery
  • Let them do some SQL queries and some query optimization (usage of explain etc. even when using hibernate. Sometimes it's good to bypass hibernate to gain performance)
  • did I mention backup strategies
  • For scalability a DBA should know about different replication modes (RBR, SBR, mixed mode replication, replication maintenance such as observing replication lag and binlog maintenance)
  • InnoDB tuning
  • What kind of files are being written by the DB (eg, ibdata and log files) and how they can be arranged (eg, one ibdata file per table, move them around on different partitions, InnoDB compression)
  • Discuss monitoring tools. What are you using, do they have experience with that tool or a similar one?
  • I'd also look into system tools like iostat/memstat/vmstat/whatever your OS provides. Give them a system with some load and let them find the cause
  • And maybe discuss issues in MySQL backup and especially restore ;-)

I'm sure others here can extend this list