百度 Linux 运维工程师面试真题
百度面了好久了,两个月了,估计都快成馊面了,一跟面条在走边边一不小心掉进了大海,于是
就有了汤面_经历非技术总结就两句话,幸运的是在朋友的帮助下顺利通过笔试,还认识了
一帮 super 牛 B 的人,不幸的是最终还是由于主观客观擦肩而过~~
我投的是 linux 运维,那个时候 sed,awk 根本不会(不会这两个就知道我脚本水平),就知道一
些 basic command! samba,dns,svn 也是半解,telnet,vnc 还好点.再次鄙视下自己.还好暑
假狂补了补.废话了那么多,进正题吧~~,估计没人愿意听我在这里家常!
上面的各种服务,blog 里都有_,下面的题目汇总了我自己的和一些朋友的_
1.基础常见内容
a.apache 虚拟主机设定
这个我以前的日志已写了,这里就不 say 了~~~其实也 easy 现在觉得
b.假设 Apache 产生的日志文件名为 access_log,在 apache 正在运行时,执行命令 mv
access_log access_log.bak,执行完后,请问新的 apache 的日志会打印到哪里?
新的日志会在 access_log.bak 中,因为 apache 启动时会找 access_log 文件,随时准备向
文件中加入日志信息,虽然此时文件被改名,但是由于服务正在运行,因为它的 inode 节点的
位置没有变,程序打开的 fd 仍然会指向原来那个 inode
不会因为文件名的改变而改变.apache 会继续向已改名的文件中追加日志,但是若重启
apache 服务,系统会检查 access_log 文件是否存在,若不存在则创建.
2.在 Shell 环境下,如何查看远程 Linux 系统运行了多少时间?
uptime | awk '{print $3}'
3.处理以下文件内容,将域名取出并进行计数排序,
如处理: http://www.baidu.com/more/
http://www.baidu.com/guding/more.html
http://www.baidu.com/events/20060105/photomore.html
http://www.sina.com.cn/head/www20021123am.shtml
http://www.sina.com.cn/head/www20041223am.shtml
得到如下结果:
域名的出现的次数 域名
3 www.baidu.com
2 www.sina.com.cn
1 hi.baidu.co 百度总喜欢这种题目,我上篇日志的 site inurl 也是,这个是统计域名的,还有一
个说是统计文件名的,就是后面的 index 没有的就直接为空,这个用 shell 怎么实现还在思考
中,想出来了再写
cat file | sed -e ' s/http:////' -e ' s//.*//' | uniq -c | sort -rn
awk -F/ '{print $3}' file |uniq -c | sort -r |awk '{print $1"\t",$2}'
4.如果得到随机的字串,长度和字串中出现的字符表可定义,并将字串倒序显示,
如把 0123456789 作为基准的字串字符表,产生一个 6 位的字串 642031,打印出的字串为
130246,可使用 bash/perl/php/c 任意一种.
awk -v count=6 ‘BEGIN
{srand();str=”0123456789″;len=length(str);for(i=count;i>0;i–)
marry[i]=substr(str,int(rand()*len),1);for(i=count;i>0;i–)
printf(“%c”,marry[i]);printf(“\n”);for(i=0;i<=count;i++)
printf(“%c”,marry[i]);printf(“\n”)}’
5.如何查看当前 Linux 系统的状态,如 CPU 使用,内存使用,负载情况等.
当时问到这个的时候我超级自信,可是你知道/proc 目录下的那些数字目录代表什么吗??教
训阿!!!(ps:不懂的自己 google_)个人的小教训
Linux 系统中/proc 是个伪文件目录,不占用系统空间,及时的反应出内存现在使用的进程情
况.其中许多文件都保存系统运行状态和相关信息对于/proc 中文件可使用文件查看命令浏
览其内容,文件中包含系统特定信息:
cpuinfo 主机 CPU 信息
filesystems 文件系统信息
meninfo 主机内存信息
version Linux 内存版本信息
diskstatus 磁盘负载情况
另外 top 命令可以动态的显示当前系统进程用户的使用情况,而且是动态的显示出来,尤其
是在该命令显示出来的对上方对系统的情况进行汇总.
free 命令呢可以查看真实使用的内存 一般用 free -m
使用 ps aux 可以查看详细的每个进程的使用状况
dmesg 也是常用来查看系统性能的命令
告诉我那些是进程后又问如何查看一个进程所使用的文件句柄?
/proc/进程号/fd/的个数就行了
6.查看 apache 进程数
个人在 ubuntu 下测试成功的是
ps aux | grep “apache2” | grep -v “apache2” | wc -l
个别的 command,与 OS 有关!!!
下面的是别人滴_
##########################
1、/proc/sys 子目录的作用
该子目录的作用是报告各种不同的内核参数,并让您能交互地更改其中的某些。与 /proc
中所有其他文件不同,该目录中的某些文件可以写入,不过这仅针对 root,这个 google 下
多的是 oh no,please baidu,baidu 更懂中文~~
2、将一个文本的奇数行和偶数行合并,第 2 行和第 3 行合并
a.将所有奇数行和偶数行合并,就是去奇数行的换行符了哦
sed ‘$!N;s/\n/ /g’ test
b.就是去第二行的了哦
sed -n -e 2p -e 3p test | sed ‘$!N;s/\n/ /g’ test
3、read 命令 2 秒后自动退出
read -t 2
4.下面的这两个我没有 DIY 过,没环境阿,就自己一台笔记本
自动 ftp 上传
#!/bin/sh
ftp -n<<END_FTP
open 192.168.1.4
user codfei duibuqi //用户名 codfei 密码 duibuqi
binary
prompt off //关闭提示
mput test //上传 test
close
bye
END_FTP
自动 ssh 登陆 从 A 到 B 然后再到 c
#!/usr/bin/expect -f
set timeout 30
spawn ssh codfei@B
expect “password:”
send “pppppp\r”
expect “]*”
send “ssh codfei@C\r”
expect “password:”
send “pppppp\r”
interact
7、sed awk grep 哪个最好
我答的是 哪个掌握的精通,都很好,但是还是问我哪个最好,我只能说 awk 了,对于行操
作和列操作都可以操作的很好。
8、grep -E -P 是什么意思
我说的是-E, –extended-regexp 采用规则表示式去解释样式。 -P perl 的
9、还问了我对运维这个工作的理解,和应该具备的素质。
…………
【特别说明】
面试真题属于应试者记忆问题的再现,会与真实面试情况存在差别,建议你参考
多家企业的 Linux 运维面试题目,增加通过率。
标签:baidu,www,http,运维,真题,Linux,apache,com From: https://www.cnblogs.com/nwq1101/p/18076504