當前位置:學問谷 >

職場範例 >面試 >

桌面運維工程師面試題

桌面運維工程師面試題

1)Linux啟動大致過程?

桌面運維工程師面試題

*BIOS自檢

*運行系統內核並檢測硬件從硬盤啟動並運行系統的第一個進程init(LILO和GRUB模式)

*init讀取系統引導配置文件/etc/inittab,並根據運行級別配置服務/etc/rc.d/l

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 //設置域名虛擬主機使用的IP地址

//建立在地址上的虛擬主機區域

ServerName //虛擬主頁説使用的.域名

DocumentRoot /data/vhosts/sfzhang //建立虛擬主機所使用的文檔根目錄

7)列出linux常見打包工具並寫相應解壓縮參數(至少三種)?

包類型 壓縮實例 解壓實例 壓縮比率

tar 包 tar -cvf icewarp tar -xvf 只打包不壓縮

包 tar -czvf icewarp tar -zxvf 中高

2 包 tar -cjvf 2 icewarp tar -jxvf 2 高

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

16)查找/usr/local/apache/logs目錄最後修改時間大於30天的文件,並刪除?

find /usr/local/apache/logs -type f -mtime +30 -exec rm -f {} ;

17)添加一條到的路由,網關為?

route add -net netmask gw

18)利用sed命令將中所有的回車替換成空格?

sed -i s// /g

19)在每週6的凌晨3:15執行/home/shell/,並將標準輸出和標準錯誤輸出到/dev/null設備,請寫出crontab中的語句?

15 3 * * 6 /home/shell/ > /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}"

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為?

iptables -t nat -A PREROUTING -d LOCALIP -p tcp -m tcp --dport 80 -j DNAT --to-destination

iptables -t nat -A POSTROUTING -d -p tcp -m tcp --dport 8080 -j SNAT --to-source LOCALIP:80

28)crontab 在11月份內,每天的早上6點到12點中,每隔2小時執行一次/usr/bin/ 怎麼實現 ?

* 6-12/2 * 11 * bash /usr/bin/

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_ "-p端口號 root@B的ip地址",然後在A上面就可以用ssh -p端口號 root@IP不要密碼直接登錄服務器B和C。

  • 文章版權屬於文章作者所有,轉載請註明 https://xuewengu.com/flzc/mianshi/vv3q3k.html