(面试必备—软件测试人员)关于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
    

  • 7
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
软件测试Linux面试中,以下是一些重要的要点和问题,可能会被问到: 1. Linux基础知识:确保你对Linux操作系统的基本概念和常用命令有所了解,例如文件和目录操作、用户和权限管理、进程管理等。 2. Shell脚本编程:熟悉Shell脚本编程,了解常用的Shell脚本语法和技巧,能够编写简单的脚本来完成一些自动化任务。 3. 常用工具和命令:熟悉常用的Linux工具和命令,如grep、sed、awk、curl等,能够使用它们来进行日志分析、数据处理和网络通信等操作。 4. 网络配置和故障排查:了解Linux的网络配置和故障排查方法,如IP地址配置、网络接口管理、网络包抓取和网络连接调试等。 5. 远程连接和管理:了解如何使用SSH进行远程连接和管理Linux服务器,以及如何使用其他工具如SCP和SFTP进行文件传输。 6. 进程管理和性能监控:了解Linux的进程管理机制,如进程状态、信号处理和进程调度等,并熟悉常用的性能监控工具如top、htop和sar等。 7. 日志分析和故障排查:了解如何分析系统日志和应用程序日志,以及如何使用工具如grep和tail来定位和解决问题。 8. 软件安装和包管理:了解Linux的软件安装方法和包管理工具,如apt、yum和dpkg等,能够安装和管理软件包。 9. 文件系统管理:了解Linux的文件系统结构和文件权限管理,以及如何使用命令如ls、chmod和chown等来管理文件和目录。 10. 安全配置和权限管理:了解Linux的安全配置方法,如防火墙设置、用户权限管理和访问控制等,能够进行一些基本的安全配置。 这些要点将帮助你为Linux面试做好准备,并展示你在Linux环境下的知识和技能。同时,还应该提前了解公司所使用的Linux发行版和工具,以便更好地准备相关问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

One Tester

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值