一份360的运维面试题

公司名称:奇虎360
招聘职位:运维工程师
职位需求:
1、精通FreeBSD/Linux系统安装配置和系统参数优化设置。
2、三年以上IDC、服务器运维经验。
3、精通apache、nginx等web服务器和参数的配置优化。
4、熟悉MySQL数据库优化者佳。
5、熟悉cisco、H3C路由器和交换机配置者佳。
6、工作有条理,工作习惯良好,有一定的故障处理能力。
7、可承受较大的工作压力,对待工作认真负责,有较强的工作责任心。

以下是面试题:
1、写一个脚本查找最后创建时间是3天前,后缀是*.log的文件并删除。
2、写一个脚本将某目录下大于100k的文件移动至/tmp下。
3、写一个脚本将数据库备份并打包至远程服务器192.168.1.1 /backup目录下。
4、写一个防火墙配置脚本,只允许远程主机访问本机的80端口。
5、写一个脚本进行nginx日志统计,得到访问ip最多的前10个(nginx日志路径:/home/logs/nginx/default/access.log)。
6、写出下列命令的含义
(1)MaxKeepAliveRequests    100
(2)Options FollowSymLinks
               Order Deny Allow
               Deny from all
        Allow from 192.168.1.1
7、写一个脚本把指定文件里的/usr/local替换为别的目录。
8、请简单阐述运维工程师的职责。


PS:此测试题是内部拿到的,我并非360的人,更不是HR,大家仅供参考。



出现几率比较高的:
1、简要描述Linux的启动过程?
2、简要叙述下列端口所运行的服务
21、22、23、25、110、143、873、3306
3、TCP断头最小长度是___字节?
4、让某普通用户能进行cp /dir1/file1 /dir2的命令时,请说明dir1 file1最小具有什么权限?
5、简述TCP三次握手的过程?

====================================================================

1、写一个脚本查找最后创建时间是3天前,后缀是*.log的文件并删除。
find / -name "*.log" -ctime +3 -exec rm -f {} \;
2、写一个脚本将某目录下大于100k的文件移动至/tmp下。
for i in `find /test -type f -size +100k`;do cd /test && mv $i /tmp;done
3、写一个脚本将数据库备份并打包至远程服务器192.168.1.1 /backup目录下。
mount 192.168.1.1:/backup /mnt
cd /mnt
/usr/local/mysql/bin/mysqldump -hlocalhost -uroot test >test.sql
tar czf test.sql.tar.gz test.sql
rm -f test.sql
4、写一个防火墙配置脚本,只允许远程主机访问本机的80端口。
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
iptables -X
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -P INPUT DROP

5、写一个脚本进行nginx日志统计,得到访问ip最多的前10个(nginx日志路径:/home/logs/nginx/default/access.log

awk   '{a[$1]++}END{for (j in a) print a[j],j}' /home/logs/nginx/default/access.log|sort -nr|head -10








=======================================


1、写一个脚本查找最后创建时间是3天前,后缀是*.log的文件并删除。
find . -mtime +3 -name '*.log' -ok rm {} \;

2、写一个脚本将某目录下大于100k的文件移动至/tmp下。
find . -size +100k -exec cp {} /tmp \;


4、写一个防火墙配置脚本,只允许远程主机访问本机的80端口。
iptables -F
iptables -X
iptables -A INPUT -p tcp --dport 80 -j accept
iptables -A INPUT -p tcp -j REJECT

5、写一个脚本进行nginx日志统计,得到访问ip最多的前10个(nginx日志路径:/home/logs/nginx/default/access.log)。
cd /home/logs.nginx/default
sort -m -k 4 -o access.logok access.1 access.2 access.3 .....
cat access.logok |awk '{print $1}'|sort -n|uniq -c|sort -nr |head -10

6.写出下列命令的含义
(1)MaxKeepAliveRequests    100  连接的最大请求数
(2)Options FollowSymLinks  允许192.168.1.1可以列目录
               Order Deny Allow
               Deny from all
        Allow from 192.168.1.1
7.替换文件中的目录
sed 's:/user/local:/tmp:g'  filename






出现几率比较高的:
1、简要描述Linux的启动过程?
BIOS启动引导(从mbr中装载启动管理器grub)----GRUB启动引导(装载kernel和initrd到内存)-----内核启动参数-sys init初始化..

2、简要叙述下列端口所运行的服务
21、22、23、25、110、143、873、3306     ftp ssh telnet  snmp  pop3 IMAP  rsync

3、TCP断头最小长度是__64_字节?
4、让某普通用户能进行cp /dir1/file1 /dir2的命令时,请说明dir1 file1最小具有什么权限?
rx
5、简述TCP三次握手的过程?
客户端发送请求SYN,服务器端接收请求确认并回应SYN+ACK,客户端发回ACK回应....







你可能感兴趣的:(linux运维,shell)