先来说说最基础的要求,不管你是运维还是开发,常用Linux命令必须信手拈来,不是说让你背下所有参数,但是排查问题查日志、找大文件、看进程端口占用这些,你得打开终端就能敲出来,总不能遇到点问题就去百度搜命令吧?那面试的时候直接就被pass了。
基础的Shell脚本总得会写吧?不管是做运维还是开发,日常都要用到自动化处理,简单的日志切割、定时备份、批量部署,这些都要靠Shell来完成。你说你会Python当然更好,现在很多公司都要求用Python写更复杂的自动化工具,但是Shell是基础,这个学不好说什么都白搭。
网络基础一定要扎实,Linux本身就是和网络打交道最多的,TCP/IP协议你得搞懂吧,三次握手四次挥手是什么过程,怎么查网络连接,怎么排查端口不通,怎么看防火墙规则,这些都是天天要用的东西。面试的时候十个面试官有八个会问你TCP相关的问题,答不上来基本就没下文了。

如果是运维岗位,那常见的服务配置你总得会吧,Nginx、Apache、MySQL、Redis这些,怎么安装,怎么配置,怎么优化,出了常见问题怎么排查,这些都是硬性要求。很多公司还要求你会用Docker、K8s这些容器化技术,现在云上部署基本都是这套流程了,不会的话真的很难找高薪的工作。
要是你面试的是开发类的Linux岗位,那C语言基础肯定少不了,不管是做驱动还是内核开发,C是绕不开的。还要懂计算机组成原理,懂硬件的基本工作原理,做嵌入式的还得会看电路图,会用调试工具抓日志调问题。
经验永远是加分项,如果你有过真实的线上运维经验,或者参与过正式的Linux相关项目,那比你考十个证书都有用。面试官就喜欢那种出过问题,排过障,总结过经验的候选人,毕竟招进来就能干活,不用花太多时间培养。