(面試必備—軟件測試人員)關於Linux和Shell,你應該知道的“套路”!

在軟件測試工程師的面試當中,肯定會遇到關於LinuxShell相關的面試題。下面從三個部分給大家說一下相關的套路。
(1)第一部分是摸底,通過詢問使用過的命令是否編寫過腳本來大致查看測試人員的在該方面的能力。
(2)第二部分是考察具體命令,通過詢問相關常用命令(例如文件檢索網絡統計)來查看在Linux方面的具體執行能力。
(3)第三部分是綜合能力,也就是進階問題。這裏可以以性能測試爲例,就是如何使用命令查看服務器相關的數據,並對數據進行分析。

一、第一關——摸底

1.1 用過哪些命令

1.2 是否寫過腳本

  • 摸底Linux使用深度,用腳本做過什麼有價值的事情
  • 自動化任務(自動化測試、環境部署、任務調度),數據分析

二、第二關——考察具體命令

2.1 文件檢索

  • 如何找到特定目錄下後綴爲 .jar 的所有文件?

    find . -name "*.jar"
    find . -type f  -name "*.jar"
    

    在這裏插入圖片描述

  • 如何在特定目錄下找到包含特定數據的文件?

    find . | xargs grep "hello" 
    find . -type f  | xargs grep "hello"
    find . -type f -name "*.txt" | xargs grep "hello"
    find . -type f -name "*.txt" | xargs grep "hello" -l
    

    在這裏插入圖片描述
    參考:對find,xargs,grep和管道的一些深入理解

2.2 網絡統計

  • 如何查看當前開放的端口和進程?
    netstat -tlnp
    netstat -tlnp|wc -l
    netstat -tlnp|grep sshd|wc -l
    
    在這裏插入圖片描述
  • 壓測時如何統計當前機器的連接數?
    netstat -nat | grep ESTABLISHED | wc -l
    
    在這裏插入圖片描述

2.3 進程查看

  • 查看指定進程並殺死進程
    ps -ef|grep jmeter
    ps -aux|grep jmeter
    kill -9 進程號
    
    在這裏插入圖片描述

三、第三關——綜合能力

3.1 性能分析——如何統計某個進程的 CPU 和內存的增長情況?

  • top命令顯示機器中的所有進程,複製要查看進程的進程id

    top
    

    在這裏插入圖片描述

  • top -p 進程號顯示指定進程的數據

    top -p 1305
    

    在這裏插入圖片描述

  • top -b -p 進程號 -n 1:取消可交互模式,並顯示最近的一次的數據。

    top -b -p  1305 -n 1
    
  • top -b -p 進程號 -n 1 | tail -1 | awk '{print $9 $10}':顯示最後一行數據,並顯示其中第9、10列數據

    top -b -p  1305 -n 1 |tail -1|awk '{print $9,$10}'
    

    在這裏插入圖片描述

  • while true;do sleep 1;top -b -p 1305 -n 1|tail -1|awk '{print $9,$10}'; done':通過在此基礎上添加while循環,每秒查看數據

    while true;do sleep 1;top -b -p  1305 -n 1|tail -1|awk '{print $9,$10}'; done
    

    在這裏插入圖片描述

3.2 數據統計

  • 有一份 Nginx 日誌文件,第一列是 IP,如何給出訪問量前三的 IP 地址?

  • 首先通過命令輸入所有的IP

    awk '{print $1}' nginx.log | less 
    
  • 通過管道命令加上sort排序

    awk '{print $1}' nginx.log | sort | less
    
  • 通過管道命令加上uniq 去重並使用tail3顯示前三

    awk '{print $1}' nginx.log | sort | uniq -c |sort -n |tail  -3
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章