Linux运维工程师面试题第三套
1、linux如何挂在windows下的共享目录?
mount -t cifs -o username=windows登陆账号,password="windows账号对应的密码"//16.187.190.50/test /mnt/linux目标文件夹
或者 muout.cifs //本机IP地址/test /mut/linux目标文件夹 -o username="windows登陆账号",password="windows账号对应的密码"
【评析】这套题其实是蛮有难度,从第一题就能看出来,有点下马威的意思。挂载本身不难,但是挂载到windows共享目录在实际中应用到场合不多,所以这道题有条件可以自己试试,没条件就背下来。注意空格,注意逗号。
2、查看http的并发请求数与其TCP连接状态
netstat -n | awk '/^tcp/ {++b[$NF]} END {for(a in b) print a, b[a]}'
3、用tcpdump嗅探80端口的访问看看谁最高
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -10
4、查看当前系统每个IP的连接数
netstat -n | awk '/^tcp/ {print $5}'| awk -F: '{print $1}' | sort | uniq -c | sort -rn
5、shell下32位随机密码生成并且保存到/mima.txt文件里
cat /dev/urandom|head -1|md5sum|head -c 32 >/mima.txt
【评析】/dev/urandom这个文件可以尝试cat一下,里面的东西我是看不懂,即使后面加上head -1我依旧看不懂,但是加上md5sum我就能看懂了。其实第一个head后面-1也行,-2也行,-100也行,只要别是太大的数字都可以。head -c 32的意思就是从头到第32个字节,如果是head -c 100就是从头到第100个字节,也是“100位密码”的意思
/dev/urandom这个东西要比/dev/random好用,因为后者会有堵塞的问题,前者一样安全而且速度还很快。
6、统计出apache的access.log中访问量最多的5个IP
cat access_log | awk '{print $1}' | sort | uniq -c | sort -n -r | head -5
7、CentOS查看/监测网卡流量的命令
watch more /proc/net/dev
【评析】现在有的面试官自觉不自觉的就把“网络工程师”的任务跟“运维工程师”的任务混为一谈,如果面试官顺便问cisco机器如何监察网络流量,步骤如下:
执行命令:configure terminal 回车进入全局配置模式;
执行命令:interface fastEthernet 0/1 回车进入端口0/1;
执行命令:ip accounting 回车;
exit:退出全局配置模式;
执行:show ip accouting , 回车就可以查看了。
8、ps aux 中的VSZ代表什么意思?RSS代表什么意思?
VSZ:虚拟内存集,进程所占用的虚拟内存的大小
RSS:实际内存集,进程所占用的实际内存的大小
9、符号链接与硬链接的区别
硬链接是复制,享用同一个inode,不能跨分区,不能连目录,a变b也变,但是a删b不删。
符号链接就是-s,不享用同一个inode,可以跨分区可以连目录,等于“快捷方式”。
10、保存当前磁盘分区的分区表
11、如何在文本里面进行复制、粘贴,删除行,删除全部,按行查找和按字母查找。
在vim的命令状态下,先用:set nu显示每一行对应的行号,然后使用"5G"这种格式对应到第五行,若要删除该行就是dd;如果复制4行,那就是“4yy”,然后再需要复制的地方按p。如果需要在1~20行里把“AAA”替换成“BBB”那么命令就是:/1,20s/AAA/BBB/gc
【评析】如果遇到的是比较有板有眼的块型文档,可以使用awk命令直接切块,也可以在vim状态下使用ctrl+v切块,然后y一下确定所切块的范围,最后在需要粘贴的地方p一下。
12、手动安装grub
grub-install /dev/sda/
13、检测并修复/dev/hda5
e2fsck -p /dev/hda5
【评析】如果要求是“检查 /dev/hda5 是否正常,如果有异常便自动修复,并且设定若有问答,均回答[是] ”,那么语句就是e2fsck -a -y /dev/hda5
14、在1-39内取随机数
echo $[$RANDOM%39]
【评析】echo $RANDOM就是随机在0~32767出数。这个知识点和上面那个随机出32位密码的还是蛮常考的。
15、限制apache每秒新建连接数为1,峰值为3
iptables -A INPUT -d 172.16.100.1 -p tcp --dport 80 -m limit --limit 1/second -j ACCEPT
16、FTP的主动模式和被动模式
主动模式:客户机向服务器的21端口主动发送请求,账户密码验证成功之后,客户机打开一个随机端口(应该是大于1024的口)然后用port命令通知服务器端,“我已经摆好姿势,一个大于1024的口在等待你”,然后服务器端的20口跟客户端的口建立连接,开始数据的传输。在主动模式里,是服务器端主动把数据给客户端。
被动模式:客户机向服务器的21端口主动发送请求,账户密码验证成功之后,服务器端开启一个随机端口,然后用pasv命令告诉给客户端,“我已经摆好姿势,一个随机口在等待你”,然后服务器端也开启一个随机的端口,然后两个随机的端口连接起来用来互通数据。在被动模式里,是客户端把数据从服务器端拉取到自己的电脑内。
【评析】无论是主动模式还是被动模式都是针对服务器而言的,画个图来解释一下主动模式:
被动模式的图如下:
补充一下,如果服务器端的iptables只开启了20端口和21端口,其他的全部都reject的话,是无法启动被动模式的,因为没有一个随机端口去用来发送数据,而且被动模式能用就用,主动模式能不用就不用。
17、显示/etc/inittab中以#开头,且后面跟了一个或者多个空白字符,而后又跟了任意非空白字符的行
grep '^# \{1,\}[^ ]' /etc/inittab
18、显示/etc/inittab中包含了:一个数字:(即两个冒号中间一个数字)的行
grep '\:[1-9]\{1\}\:' /etc/inittab
19、统计/data/mysql目录里的普通文件个数
find /data/mysql/ -type f|wc -l
【评析】是-type f不是type -f,这个细节上别犯错。
20、用33m的颜色打出“天下英雄唯使君与操耳”这句话。
echo -e "\E[1;33m 天下英雄唯使君与操耳 \E[1;31m"
或者 echo -e "\E[1;33m" "天下英雄唯使君与操耳" $(tput sgr0)
21、怎么把脚本添加到系统服务里,即用service来调用
#!/bin/bash chkconfig: - 90 10 description: just a test echo "Hello,$1" mv test /etc/init.d/ chmod +x /etc/init.d/test chkconfig --add test service test start //可以看到Hello,start表示成功
22、写一个脚本,实现批量添加20个用户,用户名为user1-20,密码为user后面跟5个随机字符
Shell #!/bin/bash #description: useradd for i in `seq -f"%02g" 1 20`;douseradd user$iecho "user$i-`echo $RANDOM|md5sum|cut -c 1-5`"|passwd –stdinuser$i >/dev/null 2>&1 done
23、写一个脚本,实现判断192.168.1.0/24网络里,当前在线的IP有哪些
#!/bin/bash for ip in `seq 1 255`do{ping -c 1 192.168.1.$ip > /dev/null 2>&1if [ $? -eq 0 ]; thenecho 192.168.1.$ip UPelseecho 192.168.1.$ip DOWNfi}& #多进程启动 done
24、写一个脚本,判断一个指定的脚本是否是语法错误;如果有错误,则提醒用户键入Q或者q无视错误并退出其它任何键可以通过vim打开这个指定的脚本
#!/bin/bash read -p "please input check script->" file if [ -f $file ]; thensh -n $file > /dev/null 2>&1 if [ $? -ne 0 ]; thenread -p “You input $file syntax error,[Type q to exit or Type vim toedit]” answercase $answer inq | Q)exit 0;;*)vim $file;;esac
25、数据中有10000个数,其中某个数重复率达到50%以上,求快速找出这数的方法的思路
10000个数分成两两一组,然后比较不相同去掉,相同的留下,如果一次不能得到结果,再做一次,最终会得到结果。
【评析】上面这个方法好像很屌,但是说实话,在python里是没有最屌只有更屌!这种找出现次数最多的元素有一个模块可以直接抓取,不用这么费劲。
假设aaa就是这个多达10000个数的list。(如果数据不是list就转成list。)
>>> from collections import Counter
>>> word_counts=Counter(aaa)
>>> top_one=word_counts.most_common(1)
>>> print(top_one)
=================================分割线============================================
这套题很经典,一些比较牛掰的公司拿来做笔试题是很够格的,问的东西很常用而且还需要一点绕弯弯。但是这套题最好是理解而不是100%的死记硬背,因为这套题实在是臭了大街了,几乎每个论坛都有。面试官应该不会再原模原样的拿出来考人。
几个脚本的编写也很经典,但是笔试的时候应该考的可能性不大,因为写出来太费时间,即使写出来了面试官也不能一下子就看出来个准确,主要是给大家练手。
转载于:https://blog.51cto.com/chenx1242/1742303
Linux运维工程师面试题第三套相关推荐
- Linux运维工程师笔试题系列6(30题)
Linux运维工程师笔试题系列6(30题) 如果您对问题有疑问,或者认为答案不准确的,欢迎留言交流. 问题如下: 1. cat -n file1file2 命令的意思是? A 只会把文件file1的内 ...
- Linux运维工程师面试题(1)
文章目录 Linux运维工程师面试题(1) 1 别名.内部命令.外部命令的执行顺序 2 linux 系统启动流程 3 破解用户密码的方法 4 忘记 grub 密码怎么解决 5 硬盘空间满了怎么处理,怎 ...
- linux运维工程师面试题收集
面试必考 mysql5和mysql6 有什么区别 mysql-server-5.5:默认引擎改为Innodb,提高了性能和扩展性,提高实用性(中继日志自动恢复) mysql-server-5.6:In ...
- Linux运维工程师面试题
1.什么是运维? 运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常,在他运转的过程中,对他进行维护,他集合了网络.系统.数据库.开发.安全.监控于一身的技术,运维又包括很 ...
- Linux运维工程师面试题整理
1.Nginx反向代理,负载均衡,动静分离,工作原理及优化 nginx配置反向代理. vim Nginx.conf Server模块中配置 Listen 80 Server_name ip; 在ser ...
- Linux运维工程师面试题第二套
python 1.python是强类型还是弱类型的语言? 强类型 [评析]这种问题其实面试出来很没意思,因为太过理论,而且业界对于这个东西的定义没有一个统一的说法.所以这个题问出来挺无语的.记住,目前 ...
- linux运维工程师面试题和笔试题大全(*大学生必看)
文章目录 选择题 简答题 选择题 cat -n file1file2 命令的意思是? A 只会把文件file1的内容输出到屏幕上. B 把文件file1和file2连在一起,然后输出到屏幕上. C 创 ...
- Linux运维工程师笔试题
一.基本知识题(共10题,每题3分) 1.用什么命令查询指定IP地址的服务器端口? 1 yuminstall-y nmap 2.用什么命令定义某个程序执行的优先级别? 1 nice renice 3. ...
- Linux运维工程师面试题及答案
填空题 在Linux系统中,以 文件 方式访问设备 . Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统. Linux文件系统中每个文件用 i节点 来标识. 全部磁盘块由四个 ...
最新文章
- IDEA Spring框架入门实例
- [Android官方API阅读]___Application Fundamentals
- 十分钟了解分布式计算:GraphLab
- 【VMCloud云平台】SCO(七)如何使用集成包
- vue+springboot图片上传,addResourceHandlers调用无效
- MobileIMSDK怎样修改Server端和安卓端TCP连接方式时报文的的限制大小
- 「CEOI2019」魔法树(DP+差分启发式合并)
- 前端学习(2933):vue中的循环语句
- 年底了,小心这些现象。别再无动于衷
- WORD如何生成两个目录?
- tomcat运行时候出现java.net.BindException: Address already in use: JVM_Bind错误解决方法
- 深度学习根据文字生成图片教程(附python代码)
- python是什么 自学-初学 Python 者自学 Anaconda 的正确姿势是什么?
- carmaker/matlab联合仿真(二) 新建测试场景
- 二次元究竟招惹了谁?谣言煽动背后的文化迷思,警惕有可能发生的思想劫持【文明启示录#01】【补档】
- STM32实例-蜂鸣器实验
- 福昕阅读器【上下分屏】阅读同一个PDF,上下文对照参考阅读,非常方便
- 为什么IT互联网行业工资这么高?
- Moodle专题网站链接
- chrome浏览器怎么开启高性能模式