A System Administrator, sometimes referred to as a Systems Administrator, is an individual who carries the responsibility of overseeing the smooth operation of a computer network for an organization. They make sure that mail servers are functioning properly, plan networks and oversee their installation, maintain and upgrade software, support users in smaller organizations, monitor security tools and handle the installation, distribution, control and removal of hardware. A System Administrator also maintains the internet connection and firewall. They often support other divisions in the organization that occasionally integrate with the IT department.
A qualified candidate will have skills and qualifications that demonstrate the fact that they are capable of executing their job duties and fulfilling the various functions of their role. Some of the skills and qualifications of a System Administrator include:
Ability to solve problems in stressful situations
Strong attention to detail
Ability to explain technical concepts to inexperienced users
Time management skills
Earlier in this type of kernel architecture, all the basic system services like a process and memory management, interrupt handling etc were packaged into a single module in kernel space. This type of architecture led to some serious drawbacks like:
the size of the kernel, which was huge
poor maintainability, which means bug fixing or addition of new features resulted in recompilation of the whole kernel which could consume hours
In a modern day approach to monolithic architecture, the kernel consists of different modules which can be dynamically loaded and unloaded. This modular approach allows easy extension of OS's capabilities. With this approach, maintainability of kernel became very easy as only the concerned module needs to be loaded and unloaded every time there is a change or bug fix in a particular module.
Linux follows the monolithic modular approach.
This architecture majorly caters to the problem of ever growing size of kernel code which we could not control in the monolithic approach. This architecture allows some basic services like device driver management, protocol stack, file system etc to run in user space.
In this architecture, all the basic OS services which are made part of user space are made to run as servers which are used by other programs in the system through inter process communication (IPC).
Example: We have servers for device drivers, network protocol stacks, file systems, graphics, etc. Microkernel servers are essentially daemon programs like any others, except that the kernel grants some of them privileges to interact with parts of physical memory that are otherwise off limits to most programs.
Hybrid Kernels (Modular Kernels)
This is a combination of the above two, where the key idea is that Operating System services are in Kernel Space, and there is no message passing, no performance overhead and no reliability benefits, of having services in user space.
This is used by Microsoft's NT kernels, all the way up to the latest Windows version.
The program returns the error of the missing library. How to provide dynamically linkable libraries?
Environment variable LD_LIBRARY_PATH is a colon-separated set of directories where libraries should be searched for first, before the standard set of directories; this is useful when debugging a new library or using a nonstandard library for special purposes.
The best way to use LD_LIBRARY_PATH is to set it on the command line or script immediately before executing the program. This way the new LD_LIBRARY_PATH isolated from the rest of your system.
Example of use:
export LD_LIBRARY_PATH="/list/of/library/paths:/another/path" ./program
Explain each system calls used for process management in Linux
There are some system calls for process management. These are as follows:
fork(): it is used to create a new process
exec(): it is used to execute a new process
wait(): it is used to make the process to wait
exit(): it is used to exit or terminate the process
getpid(): it is used to find the unique process ID
getppid(): it is used to check the parent process ID
nice(): it is used to bias the currently running process property
Within a POSIX system, a file has the following attributes which may be retrieved by the stat system call:
- Device ID (this identifies the device containing the file; that is, the scope of uniqueness of the serial number). File serial numbers
- The file mode which determines the file type and how the file's owner, its group, and others can access the file
- A link count telling how many hard links point to the inode
- The User ID of the file's owner
- The Group ID of the file
- The device ID of the file if it is a device file.
- The size of the file in bytes
- Timestamps telling when the inode itself was last modified (ctime, inode change time), the file content last modified (mtime, modification time), and last accessed (atime, access time)
- The preferred I/O block size
- The number of blocks allocated to this file
Suppose you try to fix a problem such as passwords not working for a group of users, but your attempt fails. What would you do?
It is important for systems administrators to be unafraid of failure and experimentation. In fact, it can be rare for a first attempt at fixing a problem to succeed, and your candidates should have logical strategies for coming up with solutions. Look for:
-A real strategy instead of trying things randomly
-Recognition that multiple attempts are often necessary
-A walk through the process
“I’ve learned from experience that a first attempt doesn’t always work. I always make sure to have at least two other backup plans. Here’s something that happened at my previous job …”
This question lends insight into candidates’ self-awareness skills as well as whether their values match those of your business. Look for:
- Answers that match areas of emphasis in your job description
- At least one soft skill
- Attributes that fit your company culture
“I’m analytical and curious. I always dig to find out why a problem occurred. Otherwise, it is liable to happen again and hurt the business. I am also a great communicator, able to share my insight with anyone in jargon-free language.”
This question gets to candidates’ technical knowledge. DC means domain controller, and your candidates should know what it is. Look for:
- Use of lingo or jargon
- A mention of lingering objects
- Knowledge of 180 days
“If you back up a DC seven months old, you could encounter lingering objects that lead to inconsistent data. Backup files, as a general rule, shouldn’t be over 180 days old.”
Systems administrators can have a tremendous range of experiences and certifications, so it’s important to hire one who can do the specific job your business needs. Even if candidates’ resumes and/or cover letters gave an overview of their technical background, this question lets them explain some aspects in more depth. Look for:
- Qualifications that match what you’re looking for
- An explanation of how the candidate compensates for any gaps (work experience in lieu of schooling, for example)
- Specific certifications
“I earned a bachelor’s degree in computer science four years ago. Since then, I’ve obtained my CompTIA certification and worked primarily in installing PCs and servers. I’ve developed a reputation for identifying problematic machines early on, and I enjoy customer service and software programs such as Adobe Acrobat.”
Many systems administrator jobs require interaction with users and knowledge of remote techniques and ticketing systems. This question ensures that the candidate will be able to do the customer service you require. Look for:
- Ability to help and please clients
- Specific examples) of accomplishments
- Recognition of the value of a good client experience
“I’m particularly proud of the fact that I can effectively identify a problem and the best tools to resolve it. My clients often refer me to others and talk about how I quickly restore their functionality. In fact, here’s something that happened while I was at HTWW company …”
We’re looking for someone who works well independently since the position involves field work and telecommuting. Give an example of how you’re a self-starter.
This question is position-specific and gets to the heart of whether the candidate’s personality fits the requirements. Someone who needs a lot of team support might not fare well here. Look for:
- An actual example from previous work
- A tie-in to telecommuting or field work for even more insight
- How the example benefited the worker, client or another party
“I was fortunate enough to have a mentor at my first systems administrator job. He taught me the importance of initiative and preventing problems. So, I make it a point to touch base with clients regularly. In one of these instances last year, a check-in led to a conversation where I was able to identify the early stages of a badly written application. If not for that check-in, the problem could’ve gotten worse and proven extremely costly for the client.”