① linux經常問的面試題有哪些
1、如何查看系統內核的版本
這里有兩種方法:
1) uname -a
uname 這個命令是用來列印系統信息的, -a 可以列印系統所有信息,其中包含內核版本,比如我的版本號是3.10.0-957.21.3.el7.X86_64。
2)使用 ss 命令
現在也有很多人用 ss 命令,ss 一般用於轉儲套接字統計信息。它還可以顯示所有類型的套接字統計信息,包括 PACKET、TCP、UDP、DCCP、RAW、Unix 域等。這里可以用 ss -lntpd
7、如何查看某個進程對 CPU 的使用情況
1) 可以使用 top 命令
top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器。
2) 使用 ps 命令
ps aux 可以顯示所有使用者的進程,最常用的方法是ps aux,然後再利用一個管道符號導向到grep去查找特定的進程。比如查看nginx 進程可以用
18、Linux里如何來做掛載
這里主要考的是 mount 命令,用於掛載Linux系統外的文件。
只輸入 mount命令可以查看所有系統已經掛載的文件。
如果想掛載一個新的文件,比如將 /dev/hda1 掛在 /mnt 之下,可以用
19、如何查看一些你不太熟悉的命令
這里要考大家的是使用 man 命令。對某個 Linux的命令不熟悉,可以用 man <命令 >,系統會返回該命令的一個非常詳細的手冊,來幫助大家使用。
② Linux系統工程師面試題附答案(2)
Linux系統工程師面試題(附答案)
prefork的特點是:(預派生)
1.這種模式可以不必在請求到來時再產生新的進程,從而減小了系統開銷
2.可以防止意外的內存泄漏
3.在伺服器負載下降的時候會自動減少子進程數
worker的特點是:支持混合的多線程多進程的多路處理模塊
如果對於一個高流量的HTTP服務 器,worker MPM是一個比較好的選擇,因為worker MPM佔用的內存要比prefork要小。
15.名詞解釋 HDLC,VTP,OSPF,RIP,DDOS,system V,GNU,netscreen,ssh,smartd,apache,WAIT_TIME 等等。
16.編寫shell腳本獲取本機的網路地址。比如:本機的ip地址是:192.168.100.2/255.255.255.0,那麼它的網路地址是
192.168.100.1/255.255.255.0
方法一:
#!/bin/bash
#This script print ip and network
file=”/etc/sysconfig/network-scripts/ifcfg-eth0″
if [ -f $file ] ;then
IP=`grep “IPADDR” $file|awk -F”=” ‘{ print $2 }’`
MASK=`grep “NETMASK” $file|awk -F”=” ‘{ print $2 }’`
echo “$IP/$MASK”
exit 1
fi
方法二:
#!/bin/bash
#This programm will printf ip/network
#
IP=`ifconfig eth0 |grep ‘inet ‘ |sed ‘s/^.*addr://g’|sed ‘s/ Bcast.*$//g’`
NETMASK=`ifconfig eth0 |grep ‘inet ‘|sed ‘s/^.*Mask://g’`
echo “$IP/$NETMASK”
exit
17.在命令行下發一郵件,發件人:[email protected], 收信人:[email protected]
二、簡述題:
1.linux下如何改IP,主機名,DNS
2.linux下如何添加路由
3.簡述linux下編譯內核的意義與步驟
4.簡述Linux啟動過程
5.簡述DDOS攻擊的原理
6.簡述Tcp三次握手的過程
7.簡述VPN,常見有哪幾種?
三、設計題:
1.系統設計
請考慮以下系統的設計. 您可以翻閱資料,查詢任何您有幫助的資料、指南等。
您有的資源:
8台安裝Linux (2.6內核) 的雙網卡PC伺服器以及相關開源軟體,交換機
Apache 2.2.x
Tomcat 5.5.X
資料庫系統
最多8個Internet IP地址,請您設計一個系統:
1、使用雙apache web server前端;
2、採用AJP連接後段的3台Tomcat應用伺服器,這些tomcat被配置成cluster, 因此需要考慮apache對後端的分配,分配採用完全平衡的方法;配置使用cookie來實現session stickness;
3、1台資料庫伺服器只有tomcat才需要連接,也不需要對Internet提供服務。
4、考慮系統的安全性和維護方便性;
5、通過rewrite規則配置把下屬URL規則改寫成友好的URL
http://server/webapp/getinfo?id=XXXX&name=YYYY –> http://server/getinfo/YYYY/XXXX
您需要提交
1、伺服器規劃,包括:
*網路結構圖
*每台機器的IP地址分配
*每台機器上運行的關鍵軟體
*您從安全性和維護性方面的考慮
2、Apache的以下配置文件給我們:
*extra/http-proxy-ajp.conf
*extra/http-rewrite.conf
2.你可以採取任何設備和不同操 作系統伺服器設計對兩台WWW伺服器和兩台FTP伺服器做負載均衡,用網路拓撲圖表示並加以說明!(方法越多越好)
第一種方法: DNS輪巡
www1 IN A 192.168.1.1
www2 IN A 192.168.1.2
www3 IN A 192.168.1.3
ftp1 IN A 192.1.1.4
ftp2 IN A 192.1.1.5
ftp3 IN A 192.1.1.6
www IN CNAME www1
www IN CNAME www2
www IN CNAME www3
ftp IN CNAME ftp1
ftp IN CNAME ftp2
ftp IN CNAME ftp3
;③ Linux系統工程師面試題附答案
一、簡答題
1.如何將本地80埠的請求轉發到8080埠,當前主機IP為192.168.16.1,其中本地網卡eth0:
答:# iptables -t nat -A PREROUTING -d 192.168.16.1 -p tcp --dport 80 -j DNAT --to 192.168.16.1:8080
或 者:# iptables -t nat -A PREROUTING -i eth0 -d 192.168.16.1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
2.什麼是NAT,常見分為那幾種,DNAT與SNAT有什麼不同,應用事例有那些?
SNAT,DNAT,MASQUERADE都是NAT。
MASQUERADE是SNAT的一個特例。
SNAT是指在數據包從網卡發送出去的時候,把數據包中的源地址部分替換為指定的IP,這樣,接收方就認為數據包的來源是被替換的那個IP的主機。
MASQUERADE是用發送數據的網卡上的IP來替換源IP,因此,對於那些IP不固定的場合,比如撥號網路或者通過dhcp分配IP的情況下,就得用MASQUERADE。
DNAT,就是指數據包從網卡發送出去的時候,修改數據包中的目的IP,表現為如果你想訪問A,可是因為網關做了DNAT,把所有訪問A的數據包的目的IP全部修改為B,那麼,你實際上訪問的是B
因為,路由是按照目的地址來選擇的,因此,DNAT是在PREROUTING鏈上來進行的,而SNAT是在數據包發送出去的時候才進行,因此是在POSTROUTING鏈上進行的。
3.包過濾防火牆與代理應用防火牆有什麼區別,能列舉幾種相應的產品嗎?
4.iptables是否支持time時間控制用戶行為,如有請寫出具體操作步驟。
5.說出你知道的幾種linux/unix發行版本。
Redhat、CentOS、Fedora、SuSE、Slackware、Gentoo、Debian、Ubuntu、FreeBSD、Solaris、SCO、AIX、HP…
6.列出linux常見打包工具並寫相應解壓縮參數(至少三種)
7.計劃每星期天早8點伺服器定時重啟,如何實現?
8.列出作為完整郵件系統的軟體,至少二類。
9,當用戶在瀏覽器當中輸入一個網站,說說計算機對dns解釋經過那些流程?註:本機跟本地dns還沒有緩存。
答:
a.用戶輸入網址到瀏覽器;
b.瀏覽器發出DNS請求信息;
c.計算機首先查詢本機HOST文件,看是否存在,存在直接返回結果,不存在,繼續下一步;
d.計算機按照本地DNS的順序,向合法dns伺服器查詢IP結果;
e.合法dns返回dns結果給本地dns,本地dns並緩存本結果,直到TTL過期,才再次查詢此結果;
f.返回IP結果給瀏覽器;
g.瀏覽器根據IP信息,獲取頁面;
10,我們都知道,dns既採用了tcp協議,又採用了udp協議,什麼時候採用tcp協議?什麼時候採用udp協議?為什麼要這么設計?
答:這個題需要理解的東西比較的多,分一下幾個方面
a,從數據包大小上分:UDP的最大包長度是65507個位元組,響應dns查詢的時候數據包長度超過512個位元組,而返回的只要前512個位元組,這時名字 解釋器通常使用TCP從發原來的請求。
b,從協議本身來分:大部分的情況下使用UDP協議,大家都知道UDP協議是一種不可靠的協議,dns不像其它的使用UDP的Internet應用 (如:TFTP,BOOTP和SNMP等),大部分集中在區域網,dns查詢和響應需要經過廣域網,分組丟失和往返時間的不確定性在廣域網比區域網上更 大,這就要求dns客戶端需要好的重傳和超時演算法,這時候使用TCP。
11,一個EXT3的文件分區,當使用touch test.file命令創建一個新文件時報錯,報錯的信息是提示磁碟已滿,但是採用df -h命令查看磁碟大小時,只使用了,60%的磁碟空間,為什麼會出現這個情況,說說你的理由。
答:兩種情況,一種是磁碟配額問題,另外一種就是EXT3文件系統的設計不適合很多小文件跟大文件的一種文件格式,出現很多小文件時,容易導致inode 耗盡了。
12,我們都知道FTP協議有兩種工作模式,說說它們的大概的一個工作流程?
FTP兩種工作模式:主動模式(Active FTP)和被動模式(Passive FTP)
在主動模式下,FTP客戶端隨機開啟一個大於1024的埠N向伺服器的21號埠發起連接,然後開放N+1號埠進行監聽,並向伺服器發出PORT N+1命令。
伺服器接收到命令後,會用其本地的FTP數據埠(通常是20)來連接客戶端指定的埠N+1,進行數據傳輸。
在被動模式下,FTP客戶端隨機開啟一個大於1024的埠N向伺服器的21號埠發起連接,同時會開啟N+1號埠。然後向伺服器發送PASV命令,通 知伺服器自己處於被動模式。伺服器收到命令後,會開放一個大於1024的埠P進行監聽,然後用PORT P命令通知客戶端,自己的數據埠是P。客戶端收到命令後,會通過N+1號埠連接伺服器的埠P,然後在兩個埠之間進行數據傳輸。
總的來說,主動模式的FTP是指伺服器主動連接客戶端的數據埠,被動模式的.FTP是指伺服器被動地等待客戶端連接自己的數據埠。
被動模式的FTP通常用在處於防火牆之後的FTP客戶訪問外界FTp伺服器的情況,因為在這種情況下,防火牆通常配置為不允許外界訪問防火牆之後主機,而只允許由防火牆之後的主機發起的連接請求通過。
因此,在這種情況下不能使用主動模式的FTP傳輸,而被動模式的FTP可以良好的工作。
13.編寫個shell腳本將當前目錄下大於10K的文件轉移到/tmp目錄下
Q:主要是考察awk 這些的用法
#/bin/sh
#Programm :
# Using for move currently directory to /tmp
for FileName in `ls -l |awk ‘$5>10240 {print $9}’`
do
mv $FileName /tmp
done
ls -la /tmp
echo “Done! ”
14.apache有幾種工作模式,分別介紹下其特點,並說明什麼情況下採用不同的工作模式?
apache主要有兩種工作模式:prefork(apache的默認安裝模式)和worker(可以在編譯的時候加參數–with-mpm- worker選擇工作模式)