19道小米网运维工程师笔试真题
《19道小米網運維工程師筆試真題,你能通關嗎?》
題目轉至:馬哥Linux運維
第一部分:Linux基礎
題目1:
有一百個圖片文件,它們的地址都是
http://down.xiaomi.com/img/1.png
http://down.xiaomi.com/img/2.png
…
一直到http://down.xiaomi.com/img/100.png
批量下載這100個圖片文件,并找出其中大于500KB的文件。
參考答案:
#/bin/bash #by?xianwei #2017-9-5echo?"downloading?the?picture......" for?i?in?{1..100} dowget?"http://down.xiaomi.com/img/$i.png" doneecho?"download?done!" echo?"find?the?file?which?is?big?than?500k" find?.?-type?f?-size?+500c?-print題目2:
一個文本文件info.txt的內容如下:
aa,201
zz,502
bb,1
ee,42
每行都是按照逗號分隔,其中第二列都是數字,請對該文件按照第二列數字從大到小排列。
參考答案:
root@vmUbu:/home/dell/shell#?cat?info.txt? aa,201 zz,502 bb,1 ee,42 root@vmUbu:/home/dell/shell#?cat?info.txt??|sort?-t?","?-rnk?2 zz,502 aa,201 ee,42 bb,1 root@vmUbu:/home/dell/shell#考察知識點:
????sort的使用 ?
????????-r?逆序
????????-n?按數字排序
????????-k?指定列
????????-t?指定分隔符號
題目3:
查看當前Linux服務器是否監聽80端口,如果在監聽,請找出其進程ID,并結束該進程。
參考答案
?說明:測試使用3306段口為例。
?1)查看端口對應的進程ID和進程名,有兩種方法lsof和netstat
? ?netstat -tanp |grep 3306
? ?lsof -i:3306
root@vmUbu:/home/dell/shell#?netstat?-tanp?|grep?3306? tcp????????0??????0?127.0.0.1:3306??????????0.0.0.0:*?????????????LISTEN??????1309/mysqld root@vmUbu:/home/dell/shell#?lsof?-i:3306???????????? COMMAND??PID??USER???FD???TYPE?DEVICE?SIZE/OFF?NODE?NAME mysqld??1309?mysql???16u??IPv4??19621??????0t0??TCP?localhost:mysql?(LISTEN)? 2)過濾出ID號,并kill
方法一:使用for?
for?i?in?`netstat?-tanp?|grep?3306?|awk?'{print?$NF}'?|cut?-d?"/"?-f?1`;do?kill?-9?$i;done方法二:使用xargs
?netstat?-tanp?|grep?3306?|awk?'{print?$NF}'?|cut?-d?"/"?-f?1?|xargs?-I?'{}'?kill?-9?{}方法三:使用awk
?netstat?-tanp?|grep?3306?|awk?'{print?$NF}'?|cut?-d?"/"?-f?1?|awk?'{print?"kill?-9?"$0}'?|bash題目4:
使用curl或wget命令獲取http服務的header信息。
題目5:
關于Linux的用戶賬號,下面說法正確的有:
A.用戶的密碼,是以明文形式存儲在 /etc/passwd 文件中的
B.用戶的密碼,是以密文形式存儲在 /etc/passwd 文件中的
C.用戶的密碼,是以密文形式存儲在 /etc/shadow 文件中的
D.用戶登錄的時候,會把用戶的密碼明文與保存的密碼做對比
參考答案:C
題目6:
對于N塊硬盤組成的硬盤陣列,下面的說法哪個是錯誤的:
A.raid1 與 raid5 相比,讀取數據的速度 raid5 更快
B.raid1 與 raid5 相比,raid5 的磁盤空間利用率更高
C.raid1 在 (N-1)塊磁盤損壞的情況下,不影響數據的完整性
D.raid0 相比于raid1、raid5,讀寫速度最快
參考答案:
????raid0 的讀速度比raid1,raid5要慢一些,因為只從一個盤中讀取數據
題目7:
負載均衡,你了解的常用軟件有哪些?請寫出至少三種以上,并評價各自的缺點。
參考答案:
Nginx的缺點是:
1. Nginx僅能支持http、https和Email協議,這樣就在適用范圍上面小些,這個是它的缺點。?
2. 對后端服務器的健康檢查,只支持通過端口來檢測,不支持通過url來檢測。不支持Session的直接保持,但能通過ip_hash來解決。
LVS的缺點是: ??
1. 軟件本身不支持正則表達式處理(僅僅支持4層負載均衡),不能做動靜分離;而現在許多網站在這方面都有較強的需求,這個是Nginx/HAProxy+Keepalived的優勢所在。?
2. 如果是網站應用比較龐大的話,LVS/DR+Keepalived實施起來就比較復雜了,特別后面有 Windows Server的機器的話,如果實施及配置還有維護過程就比較復雜了,相對而言Nginx/HAProxy+Keepalived就簡單多了。
請參考:http://www.ha97.com/5646.html ?
題目8:
執行 $ time sleep 2,輸出如下:
real ? ?0m2.003s
user ? ?0m0.004s
sys ? ? 0m0.000s
請說明 real、user、sys三者具體代表的意思和區別。
參考答案:
real時間是指掛鐘時間,也就是命令開始執行到結束的時間。這個短時間包括其他進程所占用的時間片,和進程被阻塞時所花費的時間。
user時間是指進程花費在用戶模式中的CPU時間,這是唯一真正用于執行進程所花費的時間,其他進程和花費阻塞狀態中的時間沒有計算在內。
sys時間是指花費在內核模式中的CPU時間,代表在內核中執系統調用所花費的時間,這也是真正由進程使用的CPU時間。
題目9:
nginx rewrite 規則中 last、break、redirect、permanent 的含義。
題目10:
WEB 服務 cookies 和 session 的區別。
參考答案:
1、cookie數據存放在客戶的瀏覽器上,session數據放在服務器上?
2、cookie不是很安全,別人可以分析存放在本地的COOKIE并進行?
3、session會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能?
4、單個cookie在客戶端的限制是3K,就是說一個站點在客戶端存放的COOKIE不能大于3K。
出處:http://blog.csdn.net/u010168160/article/details/47128443
題目11:
http 1.0 和 http 1.1下有何區別?http 2.0的主要變化或優勢有哪些?
參考答案:
????http 1.0使用短鏈接,http1.1使用長連接
????http2.0 性能和速度有很大提升。
第二部分:安全部分
題目12:
請列舉WEB常見安全問題(不少于三項),闡述其原理、危害。
略
題目13:
請列舉常見DOS***類型,并分別介紹其原理和防御方法。
略
題目14:
服務器遭到***,作為安全管理人員,你應做如何處理?
參考答案
????http://netsecurity.51cto.com/art/201608/515574.htm
第三部分:網絡部分
題目15:
請簡述TCP的三次握手過程。
題目16:
發現系統中存在大量TIME_WAIT,分析原因并提出三條以上優化建議。
第四部分:Python部分
題目17:
xrange和range的異同。
參考答案:
xrange會比range性能優很多,因為不需要一上來就開辟一塊很大的內存空間。
range會直接生成一個list對象,而xrange則不會直接生成一個list,而是每次調用返回其中的一個值
題目18:
列表 A 和 B,使用Python快速獲取 A 和 B 中的共有元素。
參考答案:
for?i?in?A:if?i?in?B:print?i題目19:
有20臺服務器,需要在所有機器上 echo “123”,要求同時并行操作5臺服務器,請使用Python或shell寫出相關代碼。
#?encoding:utf-8import?time import?sys import?os import?threadpooldef?cmd(ip):#需先設置遠程無密碼執行命令os.system(‘ssh?ip?echo?"123"?2>&1’)time.sleep(2)pool?=?threadpool.ThreadPool(5)?????????????????????#創建一個線程池,包括線程數10個 requests?=?threadpool.makeRequests(cmd,?ip_list)????#傳遞函數和參數 [pool.putRequest(req)?for?req?in?requests]??????????#將請求放入線程池進行處理 pool.wait()轉載于:https://blog.51cto.com/237085/1962793
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的19道小米网运维工程师笔试真题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】如何拿到半数面试公司Offer——
- 下一篇: 私有云相对更流行的公有云和混合云有什么优