I’ve worked with too many people who had a great interview, but couldn’t do basic admin work. When we looked at how it happened the answer was always the same, no one asked basic questions.
I explain that the list is like signposts. If I hear the answer I’m looking for, we’ll just go on, no need for complete sentences. Likewise, if they know nothing about the topic I don’t torture them with a bunch of follow-on questions. Aside from the answers, I’m also looking for how they deal with dumb or impossible questions. This gives me an idea of how they’ll be with coworkers and customers.
Requesting Supporting information:
Ask candidate to supply ~/.{bash,ksh,csh}rc ~/.bash_profile or ~/.profile as well as code samples and custom tools they use daily. If scripting is important in your environment, make sure to get significant programs in each language you need them to know.
General
Describe your problem solving method.
Do you use command line editing? What style?
What is favorite technical book or manual? Read: K&R C? Mythical Man Month? DNS and BIND? The Art of UNIX programming?
Why do you do this work, and how did you get started?
What are some of your beliefs about sysadm.
What was last major jump you made in admin effectiveness?
Describe the best working relationship you’ve ever had.
How do you manage your time?
What admin blogs do you follow and/or contribute to?
What was the last professional meeting you went to and when?
Do you want to be a great admin? How are you pursuing that goal?
Describe your view of the admin project lifecycle.
Hardware
Are you a hardware person?
What is an Ethernet address?
Can calculate power/heat requirements for datacenters?
What is your cable dressing policy? How you keep it enforced?
Tell me everything you know about RAID, SAN attached Storage, NAS, etc.
General Sysadmin
Are you a Tool-smith? A command-line wizard?
When you come to new env that uses ssh, how do you manage it?
How do you setup autologin using ssh?
Where are the system logs and error messages generally stored?
What command would you use to get a general idea of current
system performance?
How do you determine which processes are using the most CPU
time?
How do you terminate a process that won’t respond to user
input?
What is emacs?
What is a daemon?
What is cron? What files control the operation of cron?
Detail some problems you have seen with cron.
What’s the most common way to accidentally overwrite the crontab?
What is the best policy for editing the crontab?
What are zombie processes and what system resources do they
use?
What is x/inetd?
What files control the behavior of x/inetd?
What is the crash utility used for?
Generally what is a daemon doing at the system level when you SIGHUP it?
Giving the changing regulatory and security landscape where to do see sysadm in 5 years?
Given a 1000 gig disk, how would you slice it? 750 gig? 500 gig?
What are some of UNIX/Linux’s major strengths?
What are some of UNIX/Linux’s major weaknesses?
Experience with NIS, AD, OpenLDAP, PAM and other authentication and integration techniques.
Experience with Syslog-ng or other advance loggers?
Describe log file management.
Describe troubleshooting with log files.
Why is dmesg frustrating?
Describe your day-to-day shell Env (alias, functions, setting, etc).
Favorite command-line tricks and tips?
Describe admin tools you’ve written.
Any experience with DJB tools?
General Networking
What are some of the common networking protocols?
What is a gateway?
What is a routing table?
How do you examine the routing table on a UNIX server?
What is an arp table?
How do you examine the arp table on a UNIX server?
What command is used to configure network interfaces in UNIX?
Defind MTU. How do you tell what’s it is set to? How do you test that a network path supports it?
How does traceroute work?
DNS
How familiar are you with DNS? Please describe the process of resoveling google.com.
What are the basic record types in a DNS forward file?
How would you find a domain’s mail exchanger?
Describe the general format of an A-record.
Describe the failover process for a lookup.
Describe the operation of a “slave” server.
You want to get a new domain assigned, what do you from start to finish?
How do you accept and properly reply to CIDR delegations?
What are the common mistakes in editing zone files? How do you proof against them?
Mail Transport Agents (MTAs)
What is the most common MTA currently used?
How do you check the status of the mail queue?
What might indicate a mail delivery problem?
What socket or port do MTA’s typically listen on?
How would you find out what socket or port a particular
machine’s MTA is listening on?
X Windows
What is the primary environment variable for X?
What does the xhost command do?
What files control the behavior of X after a user login?
What files control the behavior of the X server prior to user
login?
Shells
What is your favorite shell? Why?
How would determine which file is the newest file in a very
large directory list?
How would you search a particular file for a match against at
least one of a group of patterns? How about all files?
What are the file descriptors standard in, standard out, and
standard error?
What does the pipe operator do?
How do you determine the amount of free disk space on the
systems?
How do you determine which filesystems are mounted?
Describe some of the Korn shell’s job control features.
What is the pipe limit on the command line?
What is “$?” ?
What value should be stored in $? after the successful
execution of a shell command?
How do you open multiple files in vi?
How do you search through a man page?
A non-technical user enters your work area and frantically
asks, “Who has root here?” How do you respond?
You are assigned the task of changing the root password on 600
machines every month. How do you do it?
How do you examine/modify NIS maps?
In linux what does the umount -l /remote/share_example do?
What’s the kernal version of the lastest RHEL/CentOS? Why does it matter?
Describe version control systems and the one you use most.
How does Make work?
Shell Programming
What shell languages are you familiar with?
Bash Shell -
What is the “file” command used for?
Name as many of the bash control flow statements as you
can.
Name as many of the bash logical operators as you know,
and describe what they are.
Experience with Distributed shells – examples of applications.
Perl -
How do you print “Hello World!” on standard out?
What does split do?
How do you iterate over text or standard in?
Define array, hash and the commands used to manage them.
Describe how to open a file or command.
Describe a semi-complex regexp.
Describe using SIG handling.
What are some common modules you use a lot.
Where do you go, and how do you find new modules?
Perl Expect
What are the fundamental commands for automating
interaction via Expect?
Monitoring
Describe Nagios or like OSS tools for monitoring?
Sketch how a custom check file works; A custom event handler.
What are some of the challenges with monitoring systems? How do you counter them?