19道小米網營運工程師筆試真題

來源:互聯網
上載者:User

標籤:linux 營運 筆試


《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}do    wget "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

每行都是按照逗號分隔,其中第二列都是數字,請對該檔案按照第二列數字從大到小排列。


參考答案:

[email protected]:/home/dell/shell# cat info.txt aa,201zz,502bb,1ee,42[email protected]:/home/dell/shell# cat info.txt  |sort -t "," -rnk 2zz,502aa,201ee,42bb,1[email protected]:/home/dell/shell#

考察知識點:

    sort的使用  

        -r 逆序

        -n 按數字排序

        -k 指定列

        -t 指定分隔字元號


題目3:

查看當前Linux伺服器是否監聽80連接埠,如果在監聽,請找出其進程ID,並結束該進程。


參考答案

 說明:測試使用3306段口為例。

 1)查看連接埠對應的進程ID和進程名,有兩種方法lsof和netstat

   netstat -tanp |grep 3306

   lsof -i:3306

[email protected]:/home/dell/shell# netstat -tanp |grep 3306 tcp        0      0 127.0.0.1:3306          0.0.0.0:*             LISTEN      1309/mysqld[email protected]:/home/dell/shell# lsof -i:3306            COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAMEmysqld  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. 軟體本身不支援Regex處理(僅僅支援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的異同。

參考答案:

  1. xrange會比range效能優很多,因為不需要一上來就開闢一塊很大的記憶體空間。

  2. 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 timeimport sysimport osimport threadpooldef cmd(ip):    #需先設定遠程無密碼執行命令    os.system(‘ssh ip echo "123" 2>&1’)    time.sleep(2)ip_list =[‘xiaozi‘,‘aa‘,‘bb‘,‘cc‘,‘dd‘,‘ee‘]pool = threadpool.ThreadPool(5)                     #建立一個線程池,包括線程數10個requests = threadpool.makeRequests(cmd, ip_list)    #傳遞函數和參數[pool.putRequest(req) for req in requests]          #將請求放入線程池進行處理pool.wait()


本文出自 “從營運到開發” 部落格,請務必保留此出處http://237085.blog.51cto.com/227085/1962793

19道小米網營運工程師筆試真題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.