【就業福利-252期】百度linux運維開發工程師面試真題經歷+試題

看大企業的面試題,是非常重要的一件事,這樣你能看到大神運維的一個情況,今天小編收集的第二個是百度,這個企業有非常多的人想進去,但是不容易進去,以下為百度面試題實錄,內容從網絡收集整理的,僅供大家學習參考,下面是面試者個人面試心得實錄:

首先我們公布一下目前百度對Linux運維人員的要求:

【就業福利-252期】百度linux運維開發工程師面試真題經歷+試題

百度面了好久了,兩個月了,估計都快成餿面了,一跟面條在走邊邊一不小心掉進了大海,于是就有了湯面^_^經歷非技術總結就兩句話,幸運的是在朋友的幫助下順利通過筆試,還認識了一幫super牛B的人,不幸的是最終還是由于主觀客觀擦肩而過~~

我投的是linux運維,那個時候sed,awk根本不會(不會這兩個就知道我腳本水平),就知道一些basic command! samba,dns,svn也是半解,telnet,vnc還好點.再次鄙視下自己.還好暑假狂補了補.廢話了那么多,進正題吧~~,估計沒人愿意聽我在這里家常!

上面的各種服務,blog里都有^_^,下面的題目匯總了我自己的和一些朋友的^_^

1.基礎常見內容

a.apache虛擬主機設定

這個我以前的日志已寫了,這里就不say了~~~其實也easy現在覺得

b.假設Apache產生的日志文件名為access_log,在apache正在運行時,執行命令mv access_log access_log.bak,執行完后,請問新的apache的日志會打印到哪里?
新的日志會在access_log.bak中,因為apache啟動時會找access_log文件,隨時準備向文件中加入日志信息,雖然此時文件被改名,但是由于服務正在運行,因為它的inode節點的位置沒有變,程序打開的fd仍然會指向原來那個inode
不會因為文件名的改變而改變.apache會繼續向已改名的文件中追加日志,但是若重啟apache服務,系統會檢查access_log文件是否存在,若不存在則創建.

2.在Shell環境下,如何查看遠程Linux系統運行了多少時間?

uptime | awk '{print $3}'

3.處理以下文件內容,將域名取出并進行計數排序,如處理:?http://www.baidu.com/more/

http://www.baidu.com/guding/more.html

http://www.baidu.com/events/20060105/photomore.html

http://hi.baidu.com/browse/

http://www.sina.com.cn/head/www20021123am.shtml

http://www.sina.com.cn/head/www20041223am.shtml
得到如下結果:
域名的出現的次數 域名
3?www.baidu.com
2?www.sina.com.cn
1?hi.baidu.co?百度總喜歡這種題目,我上篇日志的site inurl也是,這個是統計域名的,還有一個說是統計文件名的,就是后面的index沒有的就直接為空,這個用shell怎么實現還在思考中,想出來了再寫

cat file | sed -e ' s/http:\/\///' -e ' s/\/.*//' |  uniq -c | sort -rn
awk -F/ '{print $3}' file |uniq -c | sort -r |awk '{print $1"\t",$2}'

4.如果得到隨機的字串,長度和字串中出現的字符表可定義,并將字串倒序顯示,如
把0123456789作為基準的字串字符表,產生一個6位的字串642031,打印出的字串為 130246,可使用bash/perl/php/c任意一種.

awk -v count=6 ‘BEGIN {srand();str=”0123456789″;len=length(str);for(i=count;i>0;i–) marry[i]=substr(str,int(rand()*len),1);for(i=count;i>0;i–) printf(“%c”,marry[i]);printf(“\n”);for(i=0;i<=count;i++) printf(“%c”,marry[i]);printf(“\n”)}’

5.如何查看當前Linux系統的狀態,如CPU使用,內存使用,負載情況等.

當時問到這個的時候我超級自信,可是你知道/proc目錄下的那些數字目錄代表什么嗎??教訓阿!!!(ps:不懂的自己google^_^)個人的小教訓

Linux系統中/proc是個偽文件目錄,不占用系統空間,及時的反應出內存現在使用的進程情況.其中許多文件都保存系統運行狀態和相關信息對于/proc中文件可使用文件查看命令瀏覽其內容,文件中包含系統特定信息:
cpuinfo 主機CPU信息
filesystems 文件系統信息
meninfo 主機內存信息
version Linux內存版本信息
diskstatus 磁盤負載情況
另外top命令可以動態的顯示當前系統進程用戶的使用情況,而且是動態的顯示出來,尤其是在該命令顯示出來的對上方對系統的情況進行匯總.
free命令呢可以查看真實使用的內存 一般用free -m
使用ps aux 可以查看詳細的每個進程的使用狀況
dmesg 也是常用來查看系統性能的命令

告訴我那些是進程后又問如何查看一個進程所使用的文件句柄?

/proc/進程號/fd/的個數就行了

6.查看apache進程數

個人在ubuntu下測試成功的是

ps aux | grep “apache2” | grep -v “apache2” | wc -l

個別的command,與OS有關!!!

下面的是別人滴^_^
##########################

1、/proc/sys 子目錄的作用

該子目錄的作用是報告各種不同的內核參數,并讓您能交互地更改其中的某些。與 /proc 中所有其他文件不同,該目錄中的某些文件可以寫入,不過這僅針對 root,這個google下多的是 oh no,please baidu,baidu更懂中文~~

2、將一個文本的奇數行和偶數行合并,第2行和第3行合并

a.將所有奇數行和偶數行合并,就是去奇數行的換行符了哦

sed ‘$!N;s/\n/ /g’ test
b.就是去第二行的了哦

sed -n -e 2p -e 3p test | sed ‘$!N;s/\n/ /g’ test

3、read 命令2秒后自動退出

read -t 2

4.下面的這兩個我沒有DIY過,沒環境阿,就自己一臺筆記本

自動ftp上傳
#!/bin/sh
ftp -n<<END_FTP
open 192.168.1.4
user codfei duibuqi //用戶名codfei 密碼duibuqi
binary
prompt off //關閉提示
mput test //上傳test
close
bye
END_FTP
自動ssh登陸 從A到B然后再到c
#!/usr/bin/expect -f
set timeout 30
spawn ssh?[email protected]
expect “password:”
send “pppppp\r”
expect “]*”
send “ssh?[email protected]\r
expect “password:”
send “pppppp\r”
interact

5、sed awk grep哪個最好

我答的是 哪個掌握的精通,都很好,但是還是問我哪個最好,我只能說awk了,對于行操作和列操作都可以操作的很好。

8、grep -E -P 是什么意思

我說的是-E, –extended-regexp 采用規則表示式去解釋樣式。 -P perl的

9、還問了我對運維這個工作的理解,和應該具備的素質。
…………

內容提供為公眾號:馬哥Linux運維 的用戶投稿

——————————

為了方便大家交流學習,我們特地組建了Linux運維學習的交流群,方便大家交流學習,目前已經有300個小伙伴在里面學習了,QQ群號碼:576095618

相關新聞

聯系我們

400-080-6560

在線咨詢:點擊這里給我發消息

郵件:[email protected]

工作時間:周一至周日,09:00-18:30

QR code
云南快乐10分开奖直播