1. 首頁
  2. 筆試

[老男孩筆記系列]-企業運維面試典型筆試題大

[老男孩筆記系列]-企業運維面試典型筆試題大彙總

問題70:編寫一個程式,接收兩個引數ID和content

(1)如果這ID在檔案IDlist.txt中有,那麼在資料庫中插入一條記錄。(2)如果ID沒有那麼把ID和content寫入檔案result.txt中。(來自《北京拓明科技有限公司》一燈同學提供2011-1-7)老男孩解答參考:分析:誤區,此題看似簡單,其實並不容易,好多學生,在檔案沒有比對完就做實際判斷並操作,得到的結果是不對的。此題能夠自己不去g,可以清晰的完成下來,在寫指令碼,程式設計方面基本就過關了。1、假設IDlist.txt為如下內容[root@oldboy ~]# cat IDlist.txt 01 ydds 02 jeacen 03 kuqi 04 maidong 05 yazhe 06 maliao 07 xiaofan2.使用編寫好的ett.sh指令碼實施測試[root@oldboy ~]# sh ett.sh 03 linux IDlist.txt [root@oldboy ~]# mysql-S /data/3306/mysql.sock-e "select * from oldboy.oldboy " +------+---------+ | id | content | +------+---------+ | 3 | linux | +------+---------+ [root@oldboy ~]# sh ett.sh 06 oldboy IDlist.txt [root@oldboy ~]# mysql-S /data/3306/mysql.sock-e "select * from oldboy.oldboy " +------+---------+ | id | content | +------+---------+ | 6 | oldboy| +------+---------+ [root@oldboy ~]# sh ett.sh 08 oldboy IDlist.txt [root@oldboy ~]# cat result.txt 08 oldboy IDlist.txt 提示:我的上文測試的mysql沒有密碼。3、實際指令碼內容[root@oldboy ~]# cat ett.sh #!/bin/sh purpose: script # USER YYYY-MM-DD ACTION # Oldboy 2011-01-07 Created # QQ:49000448老男孩mail:[email protected]  status=0 IdArray=($(cat $3|awk {print $1})) for ((i=0; i<`echo 1="" 2="" 99="" do="" if="" -eq="" then="" mysql-s="" mysql.sock-e="" drop="" database="" exists="" create="" table="" id="" content="" into="" let="" exit="" fi="" done="" status="" -ne="" echo="">./result.txt fi

問題71如何檢視apache程序數(百度和sohu面試題)

老男孩解答參考:

分兩個情況

perfork模式:

ps -ef|grep http|grep -v grep|wc -l

worker模式

pstree -a|grep httpd|wc -l

前者程序模式後者執行緒模式故檢視方法也有區別

說明:如果學生答題時,能一分為二的解答會比一個答案好很多的。每次我考學生時經常得到的答案:ps -ef|grep http|wc -l這也不能說你錯,但是顯然沒有我給出的更吸引面試官的眼球。

問題72.處理以下檔案內容,將域名取出並進行計數排序,如處理:(百度和sohu面試題)

oldboy.log

http://www.etiantian.org/

http://www.etiantian.org/1.html

http://post.etiantian.org/

http://mp3.etiantian.org/

http://www.etiantian.org/3.html

http://post.etiantian.org/2.html

老男孩解答參考:

分析:此類問題是運維工作中最常見的.問題。可以演變成分析日誌,檢視TCp各個狀態連線數,檢視單Ip連線數排名等等

第一類過濾域名方法

方法很多老男孩這裡給出六種為例。還可以寫出幾種留給大家了。哈哈

法一:

[root@oldboy ~]# cut -d "/" -f 3 oldboy.log |sort|uniq -c

1 mp3.etiantian.org

2 post.etiantian.org

3www.etiantian.org

法二:

[root@oldboy ~]# awk -F "/" {print $3} oldboy.log |sort|uniq -c

1 mp3.etiantian.org

2 post.etiantian.org

3www.etiantian.org

法三:

[root@oldboy ~]# sed s/^ htt.*\/\///g oldboy.log |sed s/\/.*html$//g|sort|uniq -c

1 mp3.etiantian.org

2 post.etiantian.org

3www.etiantian.org

法四:

[root@oldboy ~]# cat oldboy.log |tr "\/" "\n"|grep etiantian|sort|uniq -c

1 mp3.etiantian.org

2 post.etiantian.org

3www.etiantian.org

第二類:

法五:

[root@oldboy ~]#cut -d "/" -f 3 test.log|awk {++S[$1]} END {for(key in S) print key,S[key]}|sort -k2

mp3.etiantian.org 1

post.etiantian.org 2

www.etiantian.org3

法六:

一個利用AWK陣列綜合解決方法

[root@oldboy ~]# awk -F "/" {++S[$3]} END {for(key in S) print key,S[key]} oldboy.log|sort -k2

mp3.etiantian.org 1

post.etiantian.org 2

www.etiantian.org3

以上答案不同組合已可以達到10多種答案

提示:有關shell及以上用到的命令的學習請參考老男孩的shell系列筆記或單獨影片講解.

問題73.在Shell環境下,如何檢視遠端Linux系統運行了多少時間?( sohu面試題)

解答:

1.uptime

16:07:56 up 276 days, 21:57,1 user,load average: 0.40, 0.65, 0.77

2. last|grep "system boot"|head -n 1

rebootsystem boot2.6.18-92.el5xen Tue Mar 16 18:11(276+21:58)

#有些學生竟然給我這個答案,我很無奈。

3. top

問題74. linux下如何新增路由(百度面試題)

解答:

route命令方法:

主機路由:

/sbin/route add -host 192.168.2.13 dev eth2

/sbin/route add -host 202.81.11.91 dev lo

預設閘道器路由

/sbin/route add default gw 192.168.1.254

/sbin/route add default gw 202.11.11.1

網路路由去往某一網路

/sbin/route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0 //透過eth0裝置去連線

/sbin/route add -net 10.8.0.0netmask 255.255.255.0 gw 192.168.1.90

/sbin/route add -net 0.0.0.0netmask 0.0.0.0 gw 203.84.12.1

檢視:

route -n

刪除:

route del

ip route命令方法:

增加路由,主要是本機可以溝通的網段

ip route add 192.168.5.0 dev eth0

增加可以通往外部的路由,需透過router

ip route add 192.168.10.0/24 via 192.168.5.100 dev eth0

增加預設路由

ip route add default via 192.168.1.2 dev eth0

檢視:

ip route show

刪除:

ip route del 192.168.10.0/24

[[老男孩筆記系列]-企業運維面試典型筆試題大彙總]相關文章:

1.[老男孩筆記系列]-企業運維面試典型筆試題大彙總