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有什麼不同,應用事例有那些?
3.包過濾防火牆與代理應用防火牆有什麼區別,能列舉幾種相應的產品嗎?
4.iptables是否支持time時間控制用戶行爲,如有請寫出具體操作步驟
5.說出你知道的幾種linux/unix發行版本
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目錄下

   1. #/bin/sh
   2. #Programm :
   3. # Using for move currently directory to /tmp
   4. for FileName in `ls -l |awk ‘$5>10240 {print $9}’`
   5. do
   6. mv $FileName /tmp
   7. done
   8. ls -al  /tmp
   9. echo “Done! “

複製代碼

14.apache有幾種工作模式,分別介紹下其特點,並說明什麼情況下采用不同的工作模式?
apache主要有兩種工作模式:prefork(apache的默認安裝模式)和worker(可以在編譯的時候加參數–with-mpm-worker選擇工作模式)
prefork的特點是:(預派生)
1.這種模式可以不必在請求到來時再產生新的進程,從而減小了系統開銷
2.可以防止意外的內存泄漏
3.在服務器負載下降的時候會自動減少子進程數(prefork的詳細原理可以看我的博客另外一篇文章apache的性能優化)
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
方法一:

   1. #!/bin/bash
   2. #This script print ip and network
   3. file=”/etc/sysconfig/network-scripts/ifcfg-eth0″
   4. if [ -f $file ] ;then
   5. IP=`grep “IPADDR” $file|awk -F”=” ‘{ print $2 }’`
   6. MASK=`grep “NETMASK” $file|awk -F”=” ‘{ print $2 }’`
   7. echo “$IP/$MASK”
   8. exit 1
   9. fi

複製代碼

方法二:

   1. #!/bin/bash
   2. #This programm will printf ip/network
   3. #
   4. IP=`ifconfig eth0 |grep ‘inet ‘ |sed ’s/^.*addr://g’|sed ’s/  Bcast.*$//g’`
   5. NETMASK=`ifconfig eth0 |grep ‘inet ‘|sed ’s/^.*Mask://g’`
   6. echo “$IP/$NETMASK”
   7. exit

複製代碼

17.在命令行下發一郵件,發件人:[email protected],收信人:[email protected]
二簡述題:
1.linux下如何改IP,主機名,DNS
2.linux下如何添加路由
3.簡述linux下編譯內核的意義與步驟
4.簡述Linux啓動過程
5.簡述DDOS攻擊的原理
6.簡述Tcp三次握手的過程
7.簡述VPN,常見有哪幾種?
8.
三:設計題:
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服務器做負載均衡,用網絡拓撲圖表示並加以說明!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章