A collection of linux sysadmin/devops interview questions. Feel free to contribute via pull requests, issues or email messages.
- Contributors
- General Questions
- Simple Linux Questions
- Medium Linux Questions
- Hard Linux Questions
- Expert Linux Questions
- Networking Questions
- MySQL Questions
- DevOps Questions
- Fun Questions
- Demo Time
- Other Great References
####[⬆] Contributors:
- moregeek
- typhonius
- martin
- negesti
- peter
- andreashappe
- quatrix
- biyanisuraj
- pedroguima
- Ben
- What did you learn yesterday/this week?
- Talk about your preferred development/administration environment. (OS, Editor, Browsers, Tools etc.)
- Tell me about the last major Linux project you finished.
- Tell me about the biggest mistake you've made in [some recent time period] and how you would do it differently today. What did you learn from this experience?
- Why we must choose you?
- What function does DNS play on a network?
- What is HTTP?
- What is an HTTP proxy and how does it work?
- Describe briefly how HTTPS works.
- What is SMTP? Give the basic scenario of how a mail message is delivered via SMTP.
- What is RAID? What is RAID0, RAID1, RAID5, RAID10?
- What is a level 0 backup? What is an incremental backup?
- Describe the general file system hierarchy of a Linux system.
####[⬆] Simple Linux Questions:
- What is the name and the UID of the administrator user? Answer:
0 - How to list all files, including hidden one, in a directory? Answer:
ls -la - What is the Unix/Linux command to remove a directory and its contents? Answer:
rm -rf <directory_name> - Which command will show you free/used memory? Does free memory exist on Linux? Answer:
htoportoporvmstat - How to search for the string "my konfi is the best" in files of a directory recursively? Answer:
grep -r "my konfi is the best" <directory_name> - How to connect to a remote server or what is SSH? Answer:
ssh <username>@<host_ip>more - How to get all environment variables and how can you use them? Answer:
envusing themecho $PATH - I get "command not found" when I run
ifconfig -a. What can be wrong? Answer:/sbinis not part ofPATHenvironment variable, doexport PATH=$PATH:/sbin - What happens if I type TAB-TAB? Answer:Would show
Display all 1234 possiblilities (y/n) - What command will show the available disk space on the Unix/Linux system? Answer:
df -h - What commands do you know that can be used to check DNS records?Answer:
nslookup -type=A google.com - What Unix/Linux commands will alter a files ownership, files permissions? Answer:
chmod - What does
chmod +x FILENAMEdo? Answer: sets execute permission on the file. - What does the permission 0750 on a file mean? Answer
- What does the permission 0750 on a directory mean? Answer
- How to add a new system user without login permissions? Answer
- How to add/remove a group from a user? Answer
- What is a bash alias? Answer:
alias ll="ls -l"this will executels -lon the prompt when we executell - How do you set the mail address of the root/a user? Answer
- What does CTRL-c do? Answer: sends
SIGINTand CTRL-z sendsSIGTSTPmore - What is in /etc/services? Answer: Server to Port Translation. more
- How to redirect STDOUT and STDERR in bash? Answer:
(> /dev/null 2>&1) - What is the difference between UNIX and Linux. Answer: UNIX commercial proprietary OS, Linux is Free and Opensourve more
- What is the difference between Telnet and SSH? Answer: Both network Communication protocol, telnet unsecure (plain-text), ssh is secure shell. more
- Explain the three load averages and what do they indicate. Answer
####[⬆] Medium Linux Questions:
- What do the following commands do?
teeawktrcuttaccurlwgetwatchtail- What does a
&after a command do? Runs the command in background. - What does
& disownafter a command do? Answer - What is a packet filter and how does it work? Answer
- What is Virtual Memory? Answer
- What is swap and what is it used for? Answer
- What is an A record, an NS record, a PTR record, a CNAME record, an MX record?
- Are there any other RRs and what are they used for?
- What is a Split-Horizon DNS? Answer
- What is the sticky bit? Answer
- What does the immutable bit to a file? A file with an immutable attribute can not be ->
Modified,Deleted,Renamed,No softorhard linkcreated by anyone includingrootuser :) more. - What is the difference between hardlinks and symlinks? What happens when you remove the source to a symlink/hardlink? Answer
- What is an inode and what fields are stored in an inode? Answer Answer
- How to force/trigger a file system check on next reboot? Answer: All you need to do is just create empty file called /forcefsck. more
- What is SNMP and what is it used for? Answer: Simple Network Management Protocol. more
- What is a runlevel and how to get the current runlevel? Answer
- What is SSH port forwarding? Answer
- What is the difference between local and remote port forwarding? Answer
- What are the steps to add a user to a system without using useradd/adduser? Answer
- What is MAJOR and MINOR numbers of special files? <<<<<<< HEAD
- Describe a scenario when you get a "filesystem is full" error, but 'df' shows there is free space.
- Describe a scenario when deleting a file, but 'df' not showing the space being freed.
- Describe how 'ps' works.
- What happens to a child process that dies and has no parent process to wait for it and what’s bad about this?
- Explain briefly each one of the process states.
- How to know which process listens on a specific port?
- What is a zombie process and what could be the cause of it?
- You run a bash script and you want to see its output on your terminal and save it to a file at the same time. How could you do it?
- Explain what echo "1" > /proc/sys/net/ipv4/ip_forward does. =======
- Describe a scenario when you get a "filesystem is full" error, but 'df' shows there is free space? Answer:
inodeTable is full, no space to create new fileinode, but there is Disk Space Available. more more - Describe a scenario when deleting a file, but 'df' not showing the space being freed? Answer: While deleting a file, if another process is holding the file then the file will not be deleted, we need to
killthe process orrebootthe system. - Describe how 'ps' works. Answer:
man ps - What happens to a child process that dies and has no parent process to wait for it and what’s bad about this? Answer: Creates a
orphanchild withinitas its parent. - Explain briefly each one of the process states. Answer
- How to know which process listens on a specific port? Answer:
sudo netstat -plant - You run a bash script and you want to see its output on your terminal and save it to a file at the same time. How could you do it? Answer: using
tee. Ex:sh bash_script.sh | tee logger - Explain what echo "1" > /proc/sys/net/ipv4/ip_forward does. Answer: Enables IP Forwarding, can also be done in
sysctl.confusing the parameternet.ipv4.ip_forward = 1. more
bedd663fe488e58f975fd7ca9834dff04d4c9ff4
- Describe briefly the steps you need to take in order to create and install a valid certificate for the site https://foo.example.com.
- Can you have several HTTPS virtual hosts sharing the same IP?
- What is a wildcard certificate?
- Which Linux file types do you know?
- What is the difference between a process and a thread? And parent and child processes after a fork system call?
- What is the difference between exec and fork?
- What is "nohup" used for?
- What is the difference between these two commands?
myvar=helloAnswer: assigns valuehellotomyvars, accessible only in the current script.export myvar=helloAnswer: sets environment variable, which can be accessed by the current session.- How many NTP servers would you configure in your local ntp.conf? Answer: Atleast 3.
- What does the column 'reach' mean in
ntpq -poutput? - You need to upgrade kernel at 100-1000 servers, how you would do this?
- How can you get Host, Channel, ID, LUN of SCSI disk?
- How can you limit process memory usage?
- What is a tunnel and how you can bypass a http proxy?
- What is the difference between IDS and IPS?
- What shortcuts do you use on a regular basis?
- What is the Linux Standard Base?
- What is an atomic operation?
- Your freshly configured http server is not running after a restart, what can you do?
- What kind of keys are in ~/.ssh/authorized_keys and what it is this file used for?
- I've added my public ssh key into authorized_keys but I'm still getting a password prompt, what can be wrong?
- Did you ever create RPM's, DEB's or solaris pkg's?
- What does
:(){ :|:& };:do on your system? - How do you catch a Linux signal on a script?
- Can you catch a SIGKILL?
- What's happening when the Linux kernel is starting the OOM killer and how does it choose which process to kill first?
- Describe the linux boot process with as much detail as possible, starting from when the system is powered on and ending when you get a prompt.
- What's a chroot jail?
- When trying to umount a directory it says it's busy, how to find out which PID holds the directory?
- What's LD_PRELOAD and when it's used?
- You ran a binary and nothing happened. How would you debug this?
- What are cgroups? Can you specify a scenario where you could use them?
####[⬆] Expert Linux Questions:
- A running process gets
EAGAIN: Resource temporarily unavailableon reading a socket. How can you close this bad socket/file descriptor without killing the process?
- What is localhost and why would
ping localhostfail? - What is the similarity between "ping" & "traceroute" ? How is traceroute able to find the hops.
- What is the command used to show all open ports and/or socket connections on a machine?
- Is 300.168.0.123 a valid IPv4 address?
- Which IP ranges/subnets are "private" or "non-routable" (RFC 1918)?
- What is a VLAN?
- What is ARP and what is it used for?
- What is the difference between TCP and UDP?
- What is the purpose of a default gateway?
- What is command used to show the routing table on a Linux box?
- A TCP connection on a network can be uniquely defined by 4 things. What are those things?
- When a client running a web browser connects to a web server, what is the source port and what is the destination port of the connection?
- How do you add an IPv6 address to a specific interface?
- You have added an IPv4 and IPv6 address to interface eth0. A ping to the v4 address is working but a ping to the v6 address gives yout the response
sendmsg: operation not permitted. What could be wrong? - What is SNAT and when should be used?
- Explain how could you ssh login into a Linux system that DROPs all new incomming packets using a SSH tunnel.
- How do you stop a DDoS?
- How can you see content of ip packet?
####[⬆] MySQL questions:
- How do you create a user?
- How do you provide privileges to a user?
- What is the difference between a "left" and a "right" join?
- Explain briefly the differences between InnoDB and MyISAM.
- Describe briefly the steps you need to follow in order to create a simple master/slave cluster.
- Why should you run "mysql_secure_installation" after installing MySQL?
- How do you check which jobs are running?
####[⬆] DevOps Questions:
- Can you describe your workflow when you create a script?
- What is GIT?
- What is a dynamically/statically linked file?
- What does "configure && make && make install" do?
- What is puppet/chef/ansible used for?
- How do you create a new postgres user?
- What is a virtual IP address? What is a cluster?
- How do you print all strings of printable characters present in a file?
- How do you find shared library dependencies?
- What is Automake and Autoconf?
- ./configure shows an error that libfoobar is missing on your system, how could you fix this, what could be wrong?
- What are the Advantages/disadvantages of script vs compiled program?
- What's the relationship between continuous delivery and DevOps?
- What are the important aspects of a system of continous integration and deployment?
####[⬆] Fun Questions:
- A careless sysadmin executes the following command:
chmod 444 /bin/chmod- what do you do to fix this?busybox chmod +x /bin/chmod - I've lost my root password, what can I do? Answer: Login as single user mode and recover the password.
- I've rebooted a remote server but after 10 minutes I'm still not able to ssh into it, what can be wrong?
- If you were stuck on a desert island with only 5 command-line utilities, which would you choose?
- You come across a random computer and it appears to be a command console for the universe. What is the first thing you type?
pwd - Tell me about a creative way that you've used SSH?
- You have deleted by error a running script, what could you do to restore it?
####[⬆] Demo Time:
-
Unpack test.tar.gz without man pages or google.
tar -xvzf test.tar.gz -
Remove all "*.pyc" files from testdir recursively?
find . -name "*.pyc" -exec rm -rf {} + -
Search for "my konfu is the best" in all *.py files.
grep --color -r "my konfu is the best" *.py -
Replace the occurrence of "my konfu is the best" with "I'm a linux jedi master" in all *.txt files.
find . -name "*.py" -exec sed -i 's/my\ konfu\ is\ the\ best/I'm\ a\ linux\ jedi\ master/g' {} + -
Test if port 443 on a machine with IP address X.X.X.X is reachable.
telnet X.X.X.X 443 -
Get http://myinternal.webserver.local/test.html via telnet.
step 1:
telnet myinternal.webserver.local 80step 2:GET /test.html HTTP/1.1 -
How to send an email without a mail client, just on the command line?
echo "This is my Mail" | mailx -v -A gmail_account_in_mailrc -s "This is my Subject" [email protected] -
Write a
get_primmethod in python/perl/bash/pseudo.SEE END OF README -
Find all files which have been accessed within the last 30 days.
find <src_directory> -mmin 43200(43200 minutes). -
Explain the following command
(date ; ps -ef | awk ‘{print $1}’ | sort | uniq | wc -l ) >> Activity.log- Number of different users activity (processes) in the server. -
Write a script to list all the differences between two directories.
-
In a log file with contents as
<TIME> : [MESSAGE] : [ERROR_NO] - Human readable textdisplay summary/count of specific error numbers that occured every hour or a specific hour.for item in ERRORCODE1 ERRORCODE2 ERRORCODE3 ERRORCODE4; do echo ERROR CODE $item : `find <src_dir> -cmin -60 -exec grep $item {} + | wc -l`; done
####[⬆] Other Great References:
Some questions are 'borrowed' from other great references like:
- https://github.com/darcyclarke/Front-end-Developer-Interview-Questions
- https://github.com/kylejohnson/linux-sysadmin-interview-questions/blob/master/test.md
- https://github.com/gurmeet1109/docgurmeet/tree/master/InterviewQuestionsSamples
- http://slideshare.net/kavyasri790693/linux-admin-interview-questions
- https://github.com/gurmeet1109/docgurmeet/tree/master/InterviewQuestionsSamples
- https://github.com/kylejohnson/linux-sysadmin-interview-questions/blob/master/test.md
def get_prime(num):
print num
if num <= 1:
print "Not a Prime Number"
else:
for i in range(2, num):
if num%i == 0:
print num, "is Not Prime"
print i, "x", num//i, "=", num
break
else:
print "Prime"
get_prime(int(input("Enter a Number:")))