By having the perfect answer the Top Ten Linux Interview Questions you can ace any Linux Interview. I’ve been working as a Freelance Linux Consultant for the past seven years. Over all those years, I’ve been in more than a dozen of roles, attended tens of face-to-face interviews and probably close to a hundred of phone interviews.
Few painfully obvious things struck me during my time:
1) Your encyclopedic knowledge of Linux is far more likely to get you a job than your actual problem solving skills.
2) Technical questions asked during phone interviews and even face-to-face interviews tend to be fairly basic. Employers rarely ever go into detailed technical scenarios.
3) You will be asked almost the same technical questions at almost all interviews you attend.
This means that even if you feel your knowledge of Linux is limited at the moment, make sure to know detailed answers to the following Top Linux Interview Questions and you double your chances of getting the job.
You are virtually guaranteed that at least half of the questions asked will sound very similar to the following (I tried to provide the simplest ways to answer these as well, for full answers please refer to http://www.linuxinterviewquestions.com):
1) What is the difference between TCP and UDP?
The basic difference is that TCP establishes a connection before sending data and this allows it to control the dataflow and guarantee that all packets get delivered. UDP simply chucks datagrams onto the wire and if some get lost or arrive in bad order there’s no way to request a resend. However UDP has low network overhead so some services such as DNS resolution, SNMP, DHCP, RIP and VOIP use UDP for its speed and any errors are usually dealt with on the application layer rather than network layer.
2) What is the TCP hand shake?
TCP requires three packets to set up a socket connection, before any user data can be sent. This is called the tree way TCP handshake. First the requester sends a SYN packet and expects a SYN-ACK packet, to which the initiator replies with ACK packet plus the first chunk of user data. From there on the TCP connection is established and two sides exchange user data using features such as message acknowledgment, retransmission and timeout.
3) How does DNS resolution work?
A client application requests an IP address from the name server usually by connecting to UDP port 53. The name server will attempt to resolve the FQDN based on its resolver library, which may contain authoritative information about the host requested or cached data about that name from an earlier query. If the name server does not already have the answer, it will turn to root name servers to determine the authoritative for the FQDN in question. Then, with that information, it will query the authoritative name servers for that name to determine the IP address.
4) What is an MX record?
MX record numerically ranks the mail servers you would prefer to receive email for a domain. The MX record with the lowest number is preferred over the others, but you can set multiple email servers with the same value for simple load balancing.
5) Describe Linux boot-up sequence
BIOS reads the MBR where Boot Loader sits, Boot Loader reads Kernel into memory, Kernel starts Init process, Init reads inittab, executes rc.sysinit, the rc script than starts services to reach the default run level and once this is done the last thing that gets run is the rc.local script.
6) What is an INODE?
All files have its description stored in a structure called ‘inode’. The inode contains info about the file-size, access and modification time, permission and so on. In addition to descriptions about the file, the inode contains pointers to the data blocks of the file.
7) How do you search for a pattern and than replace it in an entire file?
Using Sed or in Vi editor the search usually involves character ‘s’ slash the pattern to be searched, slash the pattern to replace it with, slash ‘g’ which stands for entire file.
8) How do you list and flush all IPtables?
Using the iptables command with -L switch first to see all the rules currently present in memory and than -F to flush them.
9) How do you list compiled-in Apache modules?
Run the httpd daemon as a command with -l parameter.
10) What is a zombie?
Zombie processes can be identified in the output of ‘ps’ by the presence of ‘Z’ in the STAT column. Zombies are child processes whose parent process died
without reaping its children. Zombies can’t be killed with the usual KILL signal.