Filesystems ----------- 1) What is an inode? Describe the information contained in an inode. 2) What is a superblock? 3) What's the difference between a hard link and a symbolic link? How do you create a hard link? Symbolic link? 4) What are the different types of files on a UNIX system? 5) Describe what a UMASK is and how it's used. 6) Describe how the UNIX file permission system works. (Solaris: extended access control lists) 7) If I say that a file has mode 750, what does that mean? 8) What is a SUID file? A SGID file? What does it do? Give an example of a common program that is SUID and/or SGID. 9) What is the sticky bit and how is it used? (Bonus: What did the sticky bit mean *on files* in the past, and how is it different today) 10) What does it mean to say a filesystem is clean/dirty? 11) If you were setting up an NNTP server (assume inn type data layout), what changes might you make to the default filesystem. 12) What's a journaling filesystem and how does it differ from a standard filesystem? When would you want to use a journaling filesystem? When would you want to use a standard filesystem? 13) Describe the two ways that a disk can fill up. 14) Sometimes, if you type "df", you'll see that "blocks in use" + "blocks free" don't add up to "blocks available". Why might that be? 15) Can a disk ever be more than 100% full? 16) (don't ask if they get 14 or 15 wrong). What is the concept of reserve space on a filesystem, and why does it exist? What are typical values used for the reserved space allocation? 17) What is fragmentation. How is fragmentation prevented on a UNIX system. (Bonus: Describe the disk layout strategy for UNIX type systems to prevent fragmentation) 18) (tough!) Under what scenerios will the "du" and "df" listings differ? 19) What is a "sparse" file? 20) Describe the three "times" associated with a file. Process Management ------------------ 1) Describe the boot process of a UNIX system. 2) What are "runlevels" and how are they used? 3) What's the difference between SysV style systems and BSD style systems? Name some commands that behave differently in each environment. 4) Describe the output of a "ps" listing. 5) What does it mean to "nice" a process? 6) How do you terminate a process? How do you terminate a process that doesn't want to die? 7) What is a "zombie"? * Parent processes and/or process inheritence * what is inherited * process/thread Hardware -------- 1) What is Raid 0? Raid 1? Raid 5? Raid 0+1? (Bonus: Raid 4) What are some of the advantages and disadvantages of each? 2) What is SCSI? How are devices configured on the SCSI bus? How does SCSI differ from other bus types? 3) What is Fast SCSI? Wide SCSI? Fast-wide SCSI? 4) How does "low voltage differential (LVD)" SCSI differ from "regular" SCSI? 5) How do you determine what SCSI devices are attached to a Sun box? * termination * big edian vs little edian * SMP vs non-S MP * Bonus: NUMA * what apps would benefit from multiple processors? What wouldn't benefit? * performance tuning -- memory vs CPU vs disk vs I/O. * multiple disks vs single big disk. * caching. Applications ------------ * (gotta write questions for all of the following... *sigh*) * Apache & modules * Samba * NFS * DNS vs WINS * NIS (not appropriate for gamers.com environment) * FTP * dhcpd * rsync/rdist * ssh * PHP * r* commands. * RCS CVS etc. * monitoring tools * backup applications * sudo Networking ---------- 1) What are the three numbers associated with any network interface? 2) What are the private RFC 1918 addresses? 3) Describe the 7 layers of the OSI model (woohoo Chris!). * firewalls * duplex matching * traceroute/ping * determining network vs app slowdown. Procedures & Troubleshooting skills/strategies ---------------------------------------------- * scenerio questions * HA * experience in large scale systems * backups * multiple problem resolution * when could multiple problems occur * capacity planning * monitoring strategies * who has root -- programming tools for non-root * delegation * training and treatment of junior staff * disaster recovery strategy * planning for failures * task prioritization