热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

测试开发工程师面试总结(三)——Linux基础篇

测试开发工程师面试总结(三)——Linux基础篇,Go语言社区,Golang程序员人脉社

###一个面试失败者引发的提问

某大厂面试官Boss问了一个测试五年以上的工程师一个基础的Linux致命题,以下为对话:

  • Boss:用一条命令查出机器上所有python进程,并杀掉
  • 候选人:ps -ef|grep python|kill -9 ,先grep之后并kill
  • Boss:这个不能杀掉进程。提示:可以考虑下如何传递参数
  • 候选人:不清楚。。。
    (此处省略一千字……面试失败)

面试官非常郁闷,开始怀疑是不是自己的问题太偏门了,于是开始灵魂拷问组员,以下为群消息:

  • Boss:不许上网,5s给出答案, 用一条命令查出机器上所有python进程,并杀掉。点名同学回答@A @B @C
  • A:(内心OS:还好以前常用)ps -ef|grep python|grep -v grep|cut 9-15|xargs kill -9
  • Boss: 知道xargs是什么意思吗?给大家解释一下。
  • A: 用来传参用的,通过管道得到的结果作为下一个命令的参数
  • Boss:那为什么不直接继续kill -9,非得xargs kill -9呢?xargs和管道符“|”的区别说一下啊?
  • A:不好说。。(阵亡)
  • B:管道是实现“将前面的标准输出作为后面的标准输入”,xargs是实现“将前面的标准输出作为命令的参数”(现场演示中)
  • C:感觉这个更好一些。ps -ef| grep ‘python’ | grep -v grep | awk ‘{print $2}’ | xargs -r kill -15 ,15是正常退出吧,9是强制退出。
    -Boss:15和9分别是什么signal?
  • A、B、C:(感觉要被问傻了。。。)
  • B:一二三,上图
    信号9和15的区别
  • Boss: term是什么的缩写?
  • D:(抢答)termination!
    (Boss很满意,终于告一段落)
  • Boss:大家工作时,除了知道该怎么做事情,还得知道为什么要这么做,凡事多往前走一步……

常见面试命令

上面的例子足以说明,命令是永远不可能止于命令的,背后还有着面试官对候选人问题了解深度的考量。那么该从哪些角度出发去准备Linux基础呢?

1. 查找类的命令sed awk grep 等

sed是文本查找和替换常用的工具,我经常用来替换固定字符(支持正则),例如

将a.conf 中的properties全部替换为property:
sed -i ‘s/properties/property/g’ a.conf

awk非常强大,除了查找或者过滤还能用来做一些计算,默认分隔符号为空格,例如

打印文件最后两行:
awk ‘{print KaTeX parse error: Undefined control sequence: t at position 9: (NF-1),"̲t̲",NF}’ file
计算文件的总行数:
awk ‘{print NR}’ file
[复杂计算]计算文件的第一列的值并且求平均
cat file|awk ‘{sum+=$1} END {print "Average = ", sum/NR}’
可自行探索awk的更多计算方法

grep也支持正则,曾经被考过的一个面试题:

查询2019-04-12 01-20点时间段内的log:
grep -E ‘2019-04-12 ([01][0-9]|20)’ log/*.log
以上三者经常可以互换,也是面试官爱考的题目之一。

2. 机器服务相关的命令

telnet [IP] [port] 查看目标服务是否正常访问
lsof -i:[port] 查看某个端口的占用情况
netstat -pnltu 查看服务及端口,结合grep使用

3. 句柄类相关的命令

lsof|awk ‘{print $2}’|wc -l 查看服务句柄数

4. 其他常用命令

ip addr show 查看本机ip地址(也可以用ipconfig)
crontab的用法
pwdx [pid] 可以查看进程所在的目录


推荐阅读
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Python如何调用类里面的方法
    本文介绍了在Python中调用同一个类中的方法需要加上self参数,并且规范写法要求每个函数的第一个参数都为self。同时还介绍了如何调用另一个类中的方法。详细内容请阅读剩余部分。 ... [详细]
  • 本文介绍了多因子选股模型在实际中的构建步骤,包括风险源分析、因子筛选和体系构建,并进行了模拟实证回测。在风险源分析中,从宏观、行业、公司和特殊因素四个角度分析了影响资产价格的因素。具体包括宏观经济运行和宏经济政策对证券市场的影响,以及行业类型、行业生命周期和行业政策对股票价格的影响。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
author-avatar
_名花侑主
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有