你好,我是小牛。
对于零基础转行或者打算找一份初级测试的工作同学来说,linux属于必学必会内容,而且面试必问。
原因很简单,因为现在的公司服务器大部分都是linux,如果你一无所知的话,很多时候都听不懂 别人在说什么,自然而然,需求也很难测试好。
除此之外,linux在日常工作中还有哪些应用场景呢?
- 搭建测试环境。
- 查看日志,定位分析bug。
- 性能监控,监控操作系统服务器硬件资源。
那么,不用多说,面试过程中linux相关问题也是基于这几方面来开展的,下面一个一个来说。
首先关于搭建测试环境,这个在稍微具备点规模的公司,一般都是由运维人员进行环境搭建维护的,包括生产环境和测试环境。
当然如果只有几个人的创业公司,可能都不存在运维这个岗位,那么自然而然只能由测试人员来搭建了,那么如何搭建测试环境呢?参考下面这篇文章
如何搭建测试环境?
第二个是关于查看日志,如何通过日志定位分析bug?这个也是面试考察linux比较多的内容。因为服务器都是部署在linux系统上面的,所以查看日志自然也就是linux命令了。
用的比较多的是grep,tail这两个命令,前者是精确查找,后者是动态查找。
先说一下精确查找,就是根据开发代码中打印的关键字信息去精确查找日志,一般是requestid,证件号或者订单号之类的。
这个可以提测后问下开发,查找日志的关键字是什么,日志文件名是什么,以及去哪个服务里面去查找。
因为现在一般是微服务架构,不同的服务处理不同的业务,存储不同的日志。不同公司可能不太一样,但是方式大同小异。
再说一下tail命令,就是动态查找,执行完之后,实时请求一下页面或者接口就会刷日志出来,然后ctrl c结束之后就可以找到你刚才调用的相关日志了。
如果你做的是服务端相关测试,那么每天无时无刻不在跟日志数据库打交道,如果是前端测试,那么用到的可能会少一些。
接下来再说一下,linux在性能监控方面的应用。主要用一些linux命令来监控操作系统硬件资源。下面说一下监控常用的linux命令。
监控Cpu:top
监控内存:free
监控磁盘:iostat
监控网络:netstat
同时监控上面四个资源可以用vmstat或者dstat。也可以用可视化工具nmon对操作系统硬件资源进行监控。
更多的如何使用linux命令进行性能监控并定位分析性能瓶颈可以看下面这篇文章
性能测试如何定位分析性能瓶颈?
最后列一下,linux面试经常会问的问题,无非就是这几种:
1.说10个常见的linux命令?
看完这篇文章就不要说cd,ls这些了,直接说查日志命令,和性能监控命令,并且解释下分别做什么的,还怕面试不过?
2.让你指定说出比如查看ip或者进程等是哪个命令?
说实话这种比较low,就是死记硬背,大家可以去公众号回复面试,面试题里面都有。
3.如何使用linux命令查看日志?
参考上文
4.如何搭建测试环境?
参考上文
5.说一下linux三剑客命令做什么用的?
三剑客分别是grep,sed,awk,都是操作文件用的,grep已经讲过了,sed擅长取行和替换,awk擅长取列。