一道面試題

2021-06-21 20:39:12 字數 1883 閱讀 1590

【試題】

這是乙個指令碼試題

為了定時檢測伺服器狀態 需要有乙個可以定時執行的指令碼,此指令碼執行在linux伺服器環境下 可以檢測頁面內所有的伺服器狀態,目前配置為每10分鐘檢測一次 伺服器分三種

第一種種是socks5**的 埠通常為443或53 比如 這裡面port為埠 host為伺服器位址

第二種是snt 此業務在linux下 無客戶端 所以不用檢測了 埠為80

第三種是openvpn 在欄內

只要檢測 第一 和 第三種 就行了

要求先提取lonlife.xml內的伺服器列表再進行檢測

檢測方法是 找到linux下的socks5與openvpn的客戶端軟體,搜尋"socks5 linux client"或"openvpn linux client"會找到

對lonlife.xml內所有的伺服器位址與埠進行連線 連線成功後訪問www.123cha.com或www.ip138.com 如果能正常訪問則表示服務正常 記錄日誌 如果檢測的伺服器不正常 則發郵件至[email protected] 並記錄日誌

測試用的使用者名稱密碼為 lontestt 加密後密碼為d89f3c83 (加密後的密碼僅用於登陸第三方客戶端 即非lonlife加速器客戶端)

這個指令碼我們的sa在8小時內完成 所以要求應試人員在8小時內完成 如果能寫出來 超過8小時也行

socks5和openvpn檢測沒有做

#!/bin/bash

wget

if [ $? = 1 ];then

echo "get failied ! exit "

exit 1

fifile=./lonlife.xml

temp_file=./.temp_file

i=1 #line_num

flag=0 #注釋標識

rm -f $temp_file

#提取伺服器列表 name,host,port

cat $file | while read line

do#echo "$i:$line"

#判斷是否被注釋

if [ $flag = 1 ];then

if echo "x$line" | grep -q "x-->";then

flag=0

let "i = $i + 1"

continue

else

let "i = $i + 1"

continue

fifi

if echo "$line" | grep -q "/dev/null

if [ $? = 0 ];then

# echo "$i:$line"

echo "$line" | awk 'begin ' >>$temp_file

filet "i = $i + 1"

done

socks5_check()

openvpn_check()

#連線並測試

cat $temp_file |while read line

doname=`echo "$line" |awk -f',' ''`

host=`echo "$line" |awk -f',' ''`

port=`echo "$line" |awk -f',' ''`

#echo $name $port $host

if [ $port = 443 -o $port = 53 ];then

socks5_check $name $host $port

elif [ $port = 80 ];then

continue

else

openvpn_check $name $host $port

fidone

一道面試題

一道面試題 射擊運動員10發打中90環有多少種可能,請編寫程式計算出來,並列印出結果,0環和10環均有效。打中90環就是沒打中10環,所以打中90環跟打中10環的可能性是一樣的。然後開始遞迴狂打槍,一到10就記錄 if params i 10 在迴圈的控制中已經排除了大於10的可能性 i 10 pa...

一道面試題

前些時候在找工作,就在準備結束此次找工作歷程的時候,去了一家公司面試,去了之後技術經理直接帶到一台電腦旁,給了一張紙條,上面是這樣的題目 用c或c 來實現 1 建立一棵樹,該樹的深度是隨機的,每個節點的位元組點數是隨機的。2 給每個節點分配一段隨機大小的記憶體空間,給每個節點賦乙個隨機數。3 遍歷這...

一道面試題

如果n為偶數,則將它除以2,如果n為奇數,則將它加1或者減1。問對於乙個給定的n,怎樣才能用最少的步驟將它變到1。例如 n 61 n 60 n 2 30 n 2 15 n 16 n 2 8 n 2 4 n 2 2 n 2 1 public class myclass public static vo...