Linux最帥版主所經曆的面試題,全部答對月薪10K+ ...

來源:互聯網
上載者:User

標籤:

一、緣起

2012年,很倒黴的一年。丟了工作,在家閑了4個月,一直到2013年才找到工作。4個月,說長不長,說短也不短,個中複雜,心情難以平複。
2012年,IT行業前景不太好,很冷的一年,簡曆投了很多,面試卻很少。當然不是一個沒有,其中面試了不少公司,因為種種原因一直沒有工作,期間積累了不少的面試題目,來跟大家分享一下,希望對大家有協助。有些題目是原題,有些是經我改編過的,還有一些是個人覺得不錯的題目。


二、題目
1、Linux掛載Winodws共用資料夾

2、查看http的並發請求數及其TCP串連狀態:

3、用tcpdump嗅探80連接埠的訪問看看誰最高

4、統計/var/log/下檔案個數

5、查看當前系統每IP串連數

6、shell下32位隨機密碼產生

7、統計出apache的access.log中訪問量最多的5個IP

8、如何查看二進位檔案的內容

9、ps aux 中VSZ代表什麼意思 RSS代表什麼  

10、檢測並修複/dev/hda5

11、Linux開機啟動順序

12、符號連結和永久連結的區別

13、儲存當前磁碟分割的分區表

15、手動安裝grub

16、改核心參數

17、在1-39內取隨機數

18、限定apache每秒鐘串連數為1,峰值為3

19、FTP主動與被動模式

20、顯示/etc/inittab中以#開頭,且後面跟一個或多個空白字元,而後又跟了任意非空白字元的行;

21、顯示/etc/inittab中包含了:一個數字:(即兩個冒號中間一個數字)的行;

22、怎麼把自己寫的指令碼添加到服務裡面,即可以使用service命令來調用

23、寫一個指令碼,實現大量新增20個使用者,使用者名稱為user1-20,密碼為user後面跟5個隨機字元

24、寫一個指令碼,實現判斷192.168.1.0/24網路裡,當前線上的IP有哪些,能ping通則認為線上

25、寫一個指令碼,判斷一個指定的指令碼是否是語法錯誤;如果有錯誤,則提醒使用者鍵入Q或者q無視錯誤並退出其它任何鍵可以通過vim開啟這個指定的指令碼;

26、寫一個指令碼:
1、建立一個函數,能接受兩個參數:
1)第一個參數為URL,即可下載的檔案;第二個參數為目錄,即下載後儲存的位置;
2)如果使用者給的目錄不存在,則提示使用者是否建立;如果建立就繼續執行,否則,函數返回一個51的錯誤值給呼叫指令碼;
3)如果給的目錄存在,則下載檔案;下載命令執行結束後測試檔案下載成功與否;如果成功,則返回0給呼叫指令碼,否則,返回52給呼叫指令碼;


27、寫一個指令碼:
1、建立一個函數,可以接受一個磁碟裝置路徑(如/dev/sdb)作為參數;在真正開始後面步驟之前提醒使用者有危險,並讓使用者選擇是否繼續;
   而後將此磁碟裝置上的所有分區清空(提示,使用命令dd if=/dev/zero of=/dev/sdb bs=512 count=1實現,注意其中的裝置路徑不要寫錯了
   ;如果此步驟失敗,返回67給主程式;
   接著在此磁碟裝置上建立兩個主要磁碟分割,一個大小為100M,一個大小為1G;如果此步驟失敗,返回68給主程式;
   格式化此兩分區,檔案系統類型為ext3;如果此步驟失敗,返回69給主程式;
   如果上述過程都正常,返回0給主程式;
2、調用此函數;並通過接收函數執行的傳回值來判斷其執行情況,並將資訊顯示出來;



三、獎勵


歡迎大家積極討論,幣是少不了的。本題目偏難,所以如果做不出,也不要灰心,如果真的能全部搞定,可以說你的基礎很紮實,在上海10K是少不了的。也歡迎大家百度Google,藉助一些工具來完成。回複在下面即可。



----==========*************** 答案公布 *************** ==========----  
# 2013-04-28 add  --==== by gm100861

1-17題答案

以下內容需要回複才能看到


1、Linux掛載Winodws共用資料夾
# mount -t cifs //1.1.1.254/ok /var/tmp/share/ -o username=administrator,password=yourpass

2、查看http的並發請求數及其TCP串連狀態:
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}‘

3.用tcpdump嗅探80連接埠的訪問看看誰最高
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." ‘{print $1"."$2"."$3"."$4}‘ | sort | uniq -c | sort -nr |head -20

4、統計指定目錄的檔案個數
find / -type f | wc -l

5、查看IP串連數
netstat -n | awk ‘/^tcp/ {print $5}‘| awk -F: ‘{print $1}‘ | sort | uniq -c | sort -rn

6、【shell下32位隨機密碼產生】
tr -dc \~\`\[email protected]#\$\%\^\&\*\(\)\-\_\+\=\|\\\?\/\.\>\,\<A-Za-z0-9_ < /dev/urandom|head -c 32|xargs

7、統計出apache的access.log中訪問量最多的5個IP
cat access_log_2011_06_26.log |awk ‘{print $1}‘|uniq -c|sort -rn |head -n 5

8、如何查看二進位檔案的內容
  [[email protected] ~]# echo /etc/passwd | hexdump -C      <== 規範的十六進位和ASCII碼顯示(Canonical hex+ASCII display )

9、ps aux 中VSZ代表什麼意思 RSS代表什麼  
     aux
     a 顯示所有與終端相關的進程,由終端發起的.
     x 顯示所有與終端無關的進程.
     u 顯示使用者導向的使用者列表.
VSZ 虛擬記憶體集,進程佔用的虛擬記憶體空間
RSS     實體記憶體集,進程戰用實際實體記憶體空間.
S 可中斷的睡眠態
R 運行態
D 不可中斷的睡眠態
T 停止態
Z 僵死態

10、檢測並修複/dev/hda5
e2fsck -p /dev/hda5

11、Linux開機啟動順序
啟動順序:
POST(加電自檢)-->由BIOS決定啟動裝置次序-->MBR(bootloader)-->解壓kernel,載入Kernel到記憶體-->載入init進程(/etc/inittab)

12、符號連結和永久連結的區別
永久連結:不同路徑的檔案指定的是同一個inode
     永久連結不能跨分區存在
     永久連結不能連結到目錄(要避免循環參考)
     刪除永久連結只會減少檔案被永久連結的次數,源檔案不會動.
軟連結:是一個獨立的檔案,有自己獨立的inode
     引用的是路徑本身,不是inode
     刪除軟連結,跟源檔案沒任何關係
     軟連結沒有儲存任何資料,只是儲存了訪問檔案的另一種路徑.
     軟連結可以對目錄建立,也可以跨分區
     源檔案被刪除,軟串連將不可用.

13、儲存當前磁碟分割的分區表
# sfdisk -d /dev/sdb >/etc/sdbpar.bak 儲存分區表
# sfdisk /dev/sdb
14、檢測並自動修複檔案系統
e2fsck - check a Linux ext2/ext3 file system
     -B     指定塊大小
     -f     強制檢測.
     -p     自動修複檔案系統

15、手動安裝grub
手動安裝grub
# grub-install --root-directory=(指定boot目錄) DEVICE
或者
grub
grub>root (hd0,0)
grub>setup (hd0)

16、改核心參數
# sysctl
     -p     不用重啟系統,讓核心重讀/etc/sysctl.conf檔案
     -a     顯示所有核心參數及其正在使用的值.
     -w     臨時設定/etc/sysctl.conf參數     sysctl -w net.ipv4.ip_froward=0

17、在指定範圍內取隨機數
在指定範圍內取隨機
echo $[$RANDOM%39] 對39進行取餘,餘數肯定是39以內的數字.







2013-04-29 add by gm100861

18-22題答案

以下內容需要回複才能看到


18、限定apache每秒鐘串連數為1,峰值為3
# iptables -A INPUT -d 172.16.100.1 -p tcp --dport 80 -m limit --limit 1/second --limit-burst 3 -j ACCEPT

19、FTP主動與被動模式
主動模式
    1. 任何大於1024的連接埠到FTP伺服器的21連接埠。(用戶端初始化的串連)
    2. FTP伺服器的21連接埠到大於1024的連接埠。 (伺服器響應用戶端的控制連接埠)
    3. FTP伺服器的20連接埠到大於1024的連接埠。(伺服器端初始化資料連線到用戶端的資料連接埠)
    4. 大於1024連接埠到FTP伺服器的20連接埠(用戶端發送ACK響應到伺服器的資料連接埠)
被動模式
    1. 從任何大於1024的連接埠到伺服器的21連接埠(用戶端初始化的串連)
    2. 伺服器的21連接埠到任何大於1024的連接埠(伺服器響應到用戶端的控制連接埠的串連)
    3. 從任何大於1024連接埠到伺服器的大於1024連接埠(用戶端初始化資料連線到伺服器指定的任意連接埠)
    4. 伺服器的大於1024連接埠到遠端大於1024的連接埠(伺服器發送ACK響應和資料到用戶端的資料連接埠)

用戶端與服務端建立串連,經過TCP三向交握,串連建立完成之後,用戶端就可以通過建立的串連通道向伺服器發送命令了,伺服器根據用戶端的命令,

向用戶端發送資料,發送資料的時候,服務端會再跟用戶端建立一個TCP串連,用於專門的傳輸資料,這個串連就是資料連線。
資料連線有兩種工作模式:主動模式和被動模式
主動模式指的是伺服器是主動的
被動模式指的是伺服器是被動的
主動模式:
伺服器端自動開啟20號連接埠,即資料轉送連接埠。主動的去串連用戶端的命令連接埠+1的連接埠。當資料轉送完成後,資料連線自動斷開。
被動模式:
伺服器端向用戶端通知自己開啟的連接埠,通知用戶端來串連自己的資料連接埠,用戶端使用命令連接埠+1的連接埠,去串連伺服器端的資料連接埠。
被動模式下,伺服器的資料連線連接埠使用的是一個隨機連接埠。主動模式服務端使用的是20連接埠。



20、顯示/etc/inittab中以#開頭,且後面跟一個或多個空白字元,而後又跟了任意非空白字元的行;
# grep "^\#[[:space:]]\{1,\}.\{1,\}" /etc/inittab

21、顯示/etc/inittab中包含了:一個數字:(即兩個冒號中間一個數字)的行;
# grep "\:[0-9]\{1\}\:" /etc/inittab

22、怎麼把自己寫的指令碼添加到服務裡面,即可以使用service命令來調用
#!/bin/bash
# chkconfig: - 90 10
# description: just a test
echo "Hello,$1"

# mv test /etc/init.d/
# chmod +x /etc/init.d/test
# chkconfig --add test
# service test start        //可以看到Hello,start表示成功





23-24指令碼答案


2013-05-24 add by gm100861

以下內容需要回複才能看到


23、寫一個指令碼,實現大量新增20個使用者,使用者名稱為user1-20,密碼為user後面跟5個隨機字元
#!/bin/bash
for i in {1..20}; do
    pass=$(tr -dc \~\`\[email protected]#\$\%\^\&\*\(\)\-\_\+\=\|\\\?\/\.\>\,\<a-za-z0-9_ <="" dev="" urandom|head="" -c="" 5)
    useradd user${i}
    echo $pass | passwd user${i} --stdin
    echo "user${i} <=============> $pass" >> ./userlist.out
done
echo ‘Sucess,passwd is in userlist.out‘

24、寫一個指令碼,實現判斷192.168.1.0/24網路裡,當前線上的IP有哪些,能ping通則認為線上
#!/bin/bash
ips="192.168.1."
for i in {1..254}; do
    ping -W 1 -c 1 ${ips}${i} &>/dev/null && echo "${ips}${i} is up" | tee -a uplog || echo "${ips}${i} is down"
done
echo "Please read uplog to know which host is online. "








Linux最帥版主所經曆的面試題,全部答對月薪10K+ ...

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.