Testing Job Candidates with VirtualBox

There’s this new technology called virtualization – being a database admin, you might not get the chance to play with it very often.  It lets you run computers inside other computers.  You can run smaller database servers as virtual machines, but serious databases seem to still go the hardware route.

I’ve been using a copy of Oracle’s VirtualBox on Windows 7 ‘host’ running a Windows Server 2008 ‘guest’ operating system.  I’m getting a little test together for a new DBA.  They’ll need to perform a few simple tasks to make it past the first day.  This is something that some headhunters can do for you, but I don’t know if you can really trust those results.

So we install the VirtualBox, export a OS I prepared on my workstation and import it on my testing machine.  You use the import command in the VirtualBox GUI to set it up – it’s all pretty easy.  At this point, you should have your SQL Server all setup – or whatever you are in the mood for.  You’ll make sure to take a snapshot and name it “Test Begin”.  Then you are ready to begin testing these fools!  VBoxManage is in your virtualbox install directory.  The following commands are run from the command line.

–Start TestingRounds–
Vboxmanage snapshot”SQL Test” restore “Test Begin”
VBoxManage startvm “SQL Test”
— Candidate Takes Test and ShutDown
vboxmanage snapshot “SQL Test” take”Candidate 5″
So you restore the snapshot, start the virtual machine up, let them take the test and then make a snapshot with their name or number.  Restore back to the “Test Begin” state, start it up and you’re ready for another round.
You may have more latitude in your place of work – you could watch them or record the actions for later review.  
I’m planning on locking the internet access down and allowing books online.  This won’t start up the VirtualBox GUI, so they won’t be too tempted to get in there unless they have a certain amount of initiative which you probably don’t want.  You can review logs in the /users/userxyz/VirtualBox VMs/Logs to see if anyone got up to any restores you didn’t intend to be done – such as a user checking another testee’s answers.  You should also see a time of how long the current altered snapshot has been running.  Compare that to the test start time to see if they did any unauthorized shutdowns.  I didn’t get much feedback on the VBox forums on how to lock this down, so you need to have a certain amount of trust or diligence.  Create some answers that won’t be identical and then check for plagiarism.  Many people cheat in university, I wouldn’t put it past them in the workplace.