How to: The Unix Interview
When you need to interview a candidate for a Unix sysadmin position, it's important to get a feel for the individual's skill level and breath of experience. A person's resume will tell you a lot, but resumes typically inflate or obfuscate a candidate's experience. What does "managed a small network of Solaris servers" really tell you? Does it tell you what services the person supported? Does it show how much help was available? Does it indicate what tools the person used? Does it tell you whether the systems were managed well? Certifications will certainly be a good indication that the candidate has good basic knowledge, but not every candidate will have gone to the trouble and expense of getting them.
You probably want to hire someone who has experience with most of the tools that you support. You probably also want to know that they will have the right attitude for the job and that they will find the work satisfying. You don't someone who is going to be overwhelmed, but you probably don't want someone who will be bored to tears either. The right amount of experience and the ability to learn some new skills will probably yield a worker who will do a good job and end up staying around for a while.
Most job interviews will try to determine whether the individual can do a good job, work well with the existing staff and be more or less satisfied with the work to be done.
You might ask a series of questions such as these to gauge Unix know how. If you do, make sure that you are ready to tally the responses in some way. Some answers will be right on target, some specific to how tasks are performed at the candidate's most recent or current job and some might catch you off guard. Remember that there are often several ways to handle a task. The candidate (like my students!) will sometimes come up with a command that's new to you, but works just fine.
1) What shell do you most often use? Why? 2) Why is exporting variables important? 3) How do you share file systems on Solaris? 4) What can you do if you forget a root password? 5) Why is telnet often turned off on Unix systems? 6) What command disables services in Solaris 10? 7) What is RAID 0+1? 8) What command do you use to install packages on Solaris? 9) Where is information on previously installed packages kept? 10) How can you tell whether two binary files are different? 11) What is an A record in DNS? MX? 12) What command would you use to repair a damaged file system? 13) What command would you use to create a swap file on Solaris? 14) How do you display a routing table? 15) What firewall software is normally available on Linux systems? 16) How do you add a user account on Solaris? 17) How do you remove a user account? 18) How do you create a new file system? 19) How do you look at disk space? 20) What are symbolic and hard links?
You might ask questions about the database software, backup applications or network monitoring applications that you use or plan to install soon. A good candidate will complement your existing team -- both be ready to support your current work load and expand your skill set in some way.
Fortunately, there are good resources online to help you come up with a series of questions you might ask. Some come with answers, just in case you're rusty in some of the areas. Obviously, these questions can also come in handy if you're thinking about a job change yourself and want to review areas that you haven't worked in or thought about recently. After all, it's what you do everyday that you know best. The commands that you use infrequently can get a little hazy. Here's one such page to check out:
Even if it's late in the day when your interview is complete, you should write down your impressions of the candidate, including a rating of their general skill set and particular strengths and weaknesses. Interview more than a few candidates and they're likely to start blurring in your head. Even if you're a people person, the impressions you get are likely to start losing focus after a few days.
Unix sysadmins come in all shapes and sizes. When you need to hire one, I hope you will find someone you will enjoy working with and someone you can both teach and learn from.