運維工程師面試題

    該面試題結合了上海龍旗,土豆網,上海激動網絡,風之雲,廣典集團,旅行者傳媒等等,有些面試題還在進一步完善之中,但願給想步入運維行業的朋友們一點點幫助,加油!
1)Linux啓動大體過程?
*BIOS自檢
*運行系統內核並檢測硬件從硬盤啓動並運行系統的第一個進程init(LILO和GRUB模式)
*init讀取系統引導配置文件/etc/inittab,並根據運行級別配置服務/etc/rc.d/rc.local
Linux系統缺省的運行級別
0爲停機,機器關閉
1爲單用戶模式,就像Win下的安全模式
2爲多用戶模式,可是沒有NFS支持
3爲徹底的多用戶模式,是標準的運行級別
4保留
5圖形界面的模式
6爲重啓,運行init6機器就會重啓
2)apache有幾種工做模式,分別簡述兩種工做模式及其優缺點?
apache主要有兩種工做模式:prefork(apache的默認安裝模式)和worker(能夠在編譯的時候添加--with-mpm=worker選項)
prefork的特色是:(預派生)
1.這種模式能夠沒必要在請求到來時再產生新的進程,從而減少了系統開銷
2.能夠防止意外的內存泄漏
3.在服務器負載降低的時候會自動減小子進程數
worker的特色是:支持混合的多線程多進程的多路處理模塊
若是對於一個高流量的HTTP服務器,worker MPM是一個比較好的選擇,由於worker MPM佔用的內存要比prefork要小。
3)LVS三種模式的工做過程?
NAT (Network Address Translation)模式。LB收到用戶請求包後,LB將請求包中虛擬服務器的IP地址轉換爲某個選定RS的IP地址,轉發給RS;RS將應答包發給 LB,LB將應答包中RS的IP轉爲虛擬服務器的IP地址,回送給用戶。
IP隧道 (IP Tunneling)模式。LB收到用戶請求包後,根據IP隧道協議封裝該包,而後傳給某個選定的RS;RS解出請求信息,直接將應答內容傳給用戶。此時要求RS和LB都要支持IP隧道協議。
DR(Direct Routing)模式。LB收到請求包後,將請求包中目標MAC地址轉換爲某個選定RS的MAC地址後將包轉發出去,RS收到請求包後 ,可直接將應答內容傳給用戶。此時要求LB和全部RS都必須在一個物理段內,且LB與RS羣共享一個虛擬IP。
4)oracle數據庫備份的方法?
我同窗是作DBA的,改天問問他,而後在告訴你們。
5)簡述/etc/fstab裏面個字段的含義?
由於mount掛載在重啓服務器後會失效,因此須要將分區信息寫到/etc/fstab文件中讓它永久掛載:
磁盤分區                掛載目錄       文件格式     
/dev/sdb1              /mnt/david       ext3          defaults 0 0
6)Apache設置虛擬目錄的字段?
NameVirtualHost 192.168.1.2             //設置域名虛擬主機使用的IP地址
<VirtualHost 192.168.1.2:80>           //創建在地址上的虛擬主機區域
ServerName www.sfzhang.com            //虛擬主頁說使用的域名
DocumentRoot /data/vhosts/sfzhang    //創建虛擬主機所使用的文檔根目錄
</VirtualHost>
7)列出linux常見打包工具並寫相應解壓縮參數(至少三種)?
包類型       壓縮實例                          解壓實例                 壓縮比率
tar 包       tar -cvf icewarp.tar icewarp      tar -xvf icewarp.tar     只打包不壓縮
tar.gz 包    tar -czvf icewarp.tar.gz icewarp  tar -zxvf icewarp.tar.gz 中高
tar.bz2 包   tar -cjvf icewarp.tar.bz2 icewarp tar -jxvf icewarp.tar.bz2 高

8)一個EXT3的文件分區,當用touch新建文件時報錯,錯誤信息是磁盤已滿,可是使用df -H查看分區信息時只使用了50%,請分析具體緣由?
答:兩種狀況,一種是磁盤配額問題,另一種就是EXT3文件系統的設計不適合不少小文件跟大文件的一種文件格式,出現不少小文件時,容易致使inode耗盡了。
9)請使用Linux系統命令統計出establish狀態的鏈接數有多少?
netstat -an |grep 80 |grep ESTABLISHED |wc -l
10)mysql數據庫的備份還原是怎麼作的?
答:平時採用兩種方法來作:1)利用mysql自帶的使用工具mysqldump和mysql來備份還原數據庫 2)利用第三方的mysql管理工具好比:mysqladmin 3)中止mysqld服務拷貝數據文件
11)簡述運維工程師的職責?
負責公司運營平臺的正常工做;增強平臺的自動化管理;隨便寫寫,寫好聽的就行.....
12)Linux系統是由那些部分組成?
Linux系統內核,shell,文件系統和應用程序四部分組成。
13)用一條命令查看目前系統已啓動服務所監聽的端口?
[root@nagios ~]# netstat -antl |grep "LISTEN"  
14)使用lsof命令查看佔用80端口的進程?
[root@nagios ~]# lsof `which httpd`   或者lsof -i:80也能夠
15)統計出一臺web server上的各個狀態(ESTABLISHED/SYN_SENT/SYN_RECV等)的個數?
[root@nagios ~]# netstat -antl |grep "ESTABLISHED" |wc -l
[root@nagios ~]# netstat -antl |grep "SYN_SENT" |wc -l
[root@nagios ~]# netstat -antl |grep "SYN_RECV" |wc -l
上面的命令能夠用一條命令來統計出來TCP各類狀態鏈接總數:
[root@nagios ~]# netstat -n |grep ^tcp |awk '{print $NF}' |sort -r |uniq -c  
node

[root@nagios ~]# netstat -n |awk '/^tcp/{++S[$NF]}END{for (i in S ) print i,S[i]}'   
16)查找/usr/local/apache/logs目錄最後修改時間大於30天的文件,並刪除?
find  /usr/local/apache/logs -type f -mtime +30 -exec rm -f {}  \;
17)添加一條到192.168.3.0/24的路由,網關爲192.168.1.254?
route add  -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.1.254
18)利用sed命令將test.txt中全部的回車替換成空格?
sed -i s/\r/ /g test.txt 
19)在每週6的凌晨3:15執行/home/shell/collect.pl,並將標準輸出和標準錯誤輸出到/dev/null設備,請寫出crontab中的語句?
15 3 * * 6 /home/shell/collect.pl  > /dev/null  2>&1   
20)源碼編譯安裝apache,要求爲:安裝目錄爲/usr/local/apache,需有壓縮模塊,rewrite,worker模式;並說明在apache的worker MPM中,爲何ServerLimit要放到配置段最前面?
./configure --prefix=/usr/local/apache --enable-so--with-rewrite --with-mpm-worker
不放在最前面,client會忽略掉的
21)請寫出精確匹配IPv4規範的正則表達式?
grep "[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}.[0-9]\{3\}"  access.logs
22)匹配文本中的key,並打印出該行及下面的5行?
grep -A5 key filename
23)dmesg命令中看到ip_conntrack: table full, dropping packet.,如何解決?
加大ip_conntrack_max 的值;
下降ip_conntrack_timeout的時間;
24)查詢file1裏面空行的所在行號?
grep -n "^$" file1
25)查詢file1以abc結尾的行?
grep "abc$" file1
26)打印出file1文件第1到第三行?
sed -n '1,3p' file1 用head -3 file1也能夠
27)如何將本地80端口的請求轉發到8080端口,當前主機IP爲192.168.2.1?
iptables -t nat -A PREROUTING -d LOCALIP -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:8080
iptables -t nat -A POSTROUTING -d 192.168.2.1 -p tcp -m tcp --dport 8080 -j SNAT --to-source LOCALIP:80
28)crontab  在11月分內,天天的早上6點到12點中,每隔2小時執行一次/usr/bin/httpd.sh 怎麼實現 ?
* 6-12/2 * 11 *  bash /usr/bin/httpd.sh
29)編寫個shell腳本將/usr/local/test 目錄下大於100K的文件轉移到/tmp目錄?
find /usr/local/test -type f -size +100k -exec mv {} /tmp \;
30)有三臺Linux主機,A,B和C,A上有私鑰,B和C上都有公鑰,如何作到用私鑰從A登陸到B後,能夠直接不輸密碼便可再登陸到C?並寫出具體命令行。
大體思路在A上面ssh-keygen -t dsa 直接回車生成密鑰,而後把公鑰分別用ssh-copy-id拷貝到B和C上面。ssh-copy-id -i id_dsa.pub "-p端口號 root@B的ip地址",而後在A上面就能夠用ssh -p端口號 root@IP不要密碼直接登陸服務器B和C。
mysql

   轉載於:http://sfzhang88.blog.51cto.com/4995876/851931linux

相關文章
相關標籤/搜索