1. 程式人生 > >合格linux運維人員必會的30道shell程式設計面試題及講解

合格linux運維人員必會的30道shell程式設計面試題及講解

超深度講解shell高階程式設計實戰,截至目前shell程式設計課程國內培訓機構最細的課程,不信請看學員表現的水平。

課程牛不牛,不是看老師、課表,而是看培養的的學生水平,目前全免費中夥伴們趕緊看啊。

企業合格的linux運維必會程式設計題,能獨立完成的同學就業工資不會低於12K

這是老男孩linux運維班要求學生必會的題目,完不成的不能合格畢業,每個完成的都獎勵價值500-1000元的等值禮物(以當天考試成績宣佈為準),要進要退自己抉擇,夥伴們走起!

實戰考試時間就在2016年1月15日上機實戰,禁止大面積抄襲學習課堂筆記否則無獎勵!
共21道考試題,面授上課幾乎全部講解過類似的案例,考試題略微變更而已。

企業面試題1:

(生產實戰案例):監控MySQL主從同步是否異常,如果異常,則傳送簡訊或者郵件給管理員。提示:如果沒主從同步環境,可以用下面文字放到檔案裡讀取來模擬:
階段1:開發一個守護程序指令碼每30秒實現檢測一次。
階段2:如果同步出現如下錯誤號(1158,1159,1008,1007,1062),則跳過錯誤。
階段3:請使用陣列技術實現上述指令碼(獲取主從判斷及錯誤號部分)

12345678910111213141516171819202122232425262728293031323334353637383940[[email protected]~]# mysql -uroot -p'oldboy' -S /data/3307/mysql.sock -e "show slavestatus\G;"
*************************** 1. row ***************************Slave_IO_State:Waiting for master to send eventMaster_Host:10.0.0.179   #當前的mysql master伺服器主機Master_User: repMaster_Port: 3306Connect_Retry: 60Master_Log_File:mysql-bin.000013Read_Master_Log_Pos: 502547Relay_Log_File:relay-bin.000013Relay_Log_Pos:251Relay_Master_Log_File:mysql-bin.000013
Slave_IO_Running:YesSlave_SQL_Running: YesReplicate_Do_DB: Replicate_Ignore_DB: mysqlReplicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0Last_Error: Skip_Counter: 0Exec_Master_Log_Pos: 502547Relay_Log_Space:502986Until_Condition:NoneUntil_Log_File: Until_Log_Pos: 0Master_SSL_Allowed: NoMaster_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0   #和主庫比同步延遲的秒數,這個引數很重要Master_SSL_Verify_Server_Cert: NoLast_IO_Errno: 0Last_IO_Error: Last_SQL_Errno: 0Last_SQL_Error:

企業面試題2:
使用for迴圈在/oldboy目錄下通過隨機小寫10個字母加固定字串oldboy批量建立10個html檔案,名稱例如為:

123456[[email protected] oldboy]# sh /server/scripts/oldboy.sh[[email protected] oldboy]# ls coaolvajcq_oldboy.html  qnvuxvicni_oldboy.html  vioesjmcbu_oldboy.htmlgmkhrancxh_oldboy.html  tmdjormaxr_oldboy.html  wzewnojiwe_oldboy.htmljdxexendbe_oldboy.html  ugaywanjlm_oldboy.html  xzzruhdzda_oldboy.htmlqcawgsrtkp_oldboy.html  vfrphtqjpc_oldboy.html

企業面試題3:請用至少兩種方法實現!
將以上檔名中的oldboy全部改成oldgirl(用for迴圈實現),並且html改成大寫。

企業面試題4:
批量建立10個系統帳號oldboy01-oldboy10並設定密碼(密碼為隨機8位字串)。

企業面試題5:
寫一個指令碼,實現判斷10.0.0.0/24網路裡,當前線上使用者的IP有哪些(方法有很多)

企業實戰題6:請用至少兩種方法實現!
寫一個指令碼解決DOS攻擊生產案例
提示:根據web日誌或者或者網路連線數,監控當某個IP併發連線數或者短時內PV達到100,即呼叫防火牆命令封掉對應的IP,監控頻率每隔3分鐘。防火牆命令為:iptables -I INPUT -s 10.0.1.10 -j DROP。

企業實戰題7:
開發mysql多例項啟動指令碼:
已知mysql多例項啟動命令為:mysqld_safe--defaults-file=/data/3306/my.cnf &
停止命令為:mysqladmin -u root -poldboy123 -S /data/3306/mysql.sockshutdown
請完成mysql多例項啟動啟動指令碼的編寫
要求:用函式,case語句、if語句等實現。

企業實戰題8:如何實現對MySQL資料庫進行分庫備份,請用指令碼實現

企業實戰題9:如何實現對MySQL資料庫進行分庫加分表備份,請用指令碼實現

企業面試題10:請用至少兩種方法實現!
bash for迴圈列印下面這句話中字母數不大於6的單詞(崑崙萬維面試題)。
I am oldboy teacher welcome to oldboy training class.

企業面試題11:開發shell指令碼分別實現以指令碼傳參以及read讀入的方式比較2個整數大小。以螢幕輸出的方式提醒使用者比較結果。注意:一共是開發2個指令碼。當用指令碼傳參以及read讀入的方式需要對變數是否為數字、並且傳參個數做判斷。

企業面試題12:列印選擇選單,一鍵安裝Web服務:

[[email protected]]# sh menu.sh

    1.[install lamp]

    2.[install lnmp]

    3.[exit]

    pls input the num you want:

要求:

1、當用戶輸入1時,輸出“startinstalling lamp.”然後執行/server/scripts/lamp.sh,指令碼內容輸出"lampis installed"後退出指令碼;

2、當用戶輸入2時,輸出“startinstalling lnmp.”然後執行/server/scripts/lnmp.sh輸出"lnmpis installed"後退出指令碼;

3、當輸入3時,退出當前選單及指令碼;

4、當輸入任何其它字元,給出提示“Input error”後退出指令碼。

5、要對執行的指令碼進行相關條件判斷,例如:指令碼是否存在,是否可執行等。