(面试必备—软件测试人员)关于Linux和Shell,你应该知道的“套路”
目录一、第一关——摸底二、第二关——考察具体命令三、第三关——综合能力一、第一关——摸底二、第二关——考察具体命令三、第三关——综合能力
·
目录
在软件测试工程师的面试当中,肯定会遇到关于
Linux
和Shell
相关的面试题。下面从三个部分给大家说一下相关的套路。
(1)第一部分是摸底
,通过询问使用过的命令
和是否编写过脚本
来大致查看测试人员的在该方面的能力。
(2)第二部分是考察具体命令
,通过询问相关常用命令(例如文件检索
或网络统计
)来查看在Linux方面的具体执行能力。
(3)第三部分是综合能力
,也就是进阶问题。这里可以以性能测试为例,就是如何使用命令查看服务器相关的数据,并对数据进行分析。
一、第一关——摸底
1.1 用过哪些命令
- 根据命令的用途分类回答
- 常见的Linux基本命令:
文件
、进程
、网络
。 该部分内容可以我前面的博客:写给“大忙人”收藏的Linux常用命令教程
- 常见的数据分析工具:Linux三剑客、sort、uniq、head。该部分内容可以我前面的博客:
Linux三剑客——grep、awk、sed命令基本使用教程
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
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
命令显示机器中的所有进程,复制要查看进程的进程idtop
-
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 去重
并使用tail
3显示前三awk '{print $1}' nginx.log | sort | uniq -c |sort -n |tail -3
更多推荐
已为社区贡献1条内容
所有评论(0)