面试题11
1.写一个脚本查找最后创建时间是3天前,后缀是*.log的文件并进行删除
find . -mtime +3 -name “*.log” |xargs rm -rf {};
2.写一个脚本将某目录下大于100K的文件移动到/tmp下
find . -size +100k -exec mv {} /tmp;
3.写一个防火墙配置脚本,只允许远程主机访问本机的80端口
iptables -F
iptables -X
iptables -A INPUT -p tcp --dport 80 -j accept
iptables -A INPUT -p tcp -j REJECT
或者
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
4.写一个脚本进行nginx日志统计,得到访问IP最多的前10个(nginx日志路径:/home/logs/nginx/default/access.log)。
cd /home/logs.nginx/default
sort -m -k 4 -o access.1 access.2 access.3 …
cat access.logok |awk’{print $1}’|sort -n |uniq -c |sort -nr |head -10
awk ‘{count[$1]++} END {for (i in count) {print count[i],i}}’ access_log |sort -nr |head -10
5.写出下列命令的含义
(1)MaxKeepAliveRequests 100
链接的最大请求数
(2)Options FollowSymLinks
Order Deny Allow
Deny from all
Allow from 192.168.1.1
6.简述下列端口所运行的服务
21、22、23、25、110、143、3306
ftp ssh telnet smtp pop3 IMAP rsync
其中smtp、pop3、imap都是和邮件相关的
7.crontab:在11月份内,每天早上6点到12点中,每隔2个小时执行一次…,该如何实现
8.如何查看占用8080端口的进程
9.如何用MySQL命令进行备份和恢复?以test库为例,创建一个备份之后然后进行恢复
10.在nginx设置将http的访问跳转到https
rewrite ^(.*)$ https://$host $1 permanent
面试题12(致讯科技)
1.简述linux系统的启动过程
2.linux系统中软连接和硬链接之间的区别
ln -s source target 创建软连接
ln source target创建硬链接
3.redhat6.x版本和centos7的版本之间的区别
4.linux系统中你会用到哪些命令来查看硬件使用状态的信息
lsblk、df -h查看磁盘各分区的使用情况、free -m查看内存使用量和交换区使用量、top、uname -a、lsmod列出加载的内核模块、du -sh 查看指定目录的大小、uptime查看系统运行时间,用户数量,负载、cat /proc/loadavg 查看系统负载、fdisk -l查看所有分区、swapon -s 查看所有交换分区、env查看环境变量、lsmod列出加载的内核模块
5.nginx有哪几种调度算法?解释一下这几种算法之间的特点
6.介绍几种常用的中间件,及其作用是什么?
7.你会怎么统计访问当前系统的IP,并进行排序
8.查看当前linux服务器是否监听80端口,如果在监听,请找出进程ID并结束该进程
9.mysql、oracle中怎么查看表结构?
desc table查勘表名
oracle:describe 表名
mysql:desc table 表名
10.你平时是如何进行数据备份的?包括数据库结构备份
1)完全备份:包含数据库的用户表、系统表、索引、视图和存储过程等所有数据库对象。完全备份需要花费更多的时间和空间,所以,一般推荐一周做一次完全备份。
2)事务日志备份:是一个单独的文件,它记录着数据库的改变,备份的时候只需要复制自上一次备份以来对数据库所做的改变,所以只需要很少的时间。为了使数据库具有鲁棒性,推荐每个小时甚至更频繁的时间进行备份事务的日志
3)差异备份:也叫做增量备份。它是指备份数据库中一部分的并一种方法,它不使用事务日志进行备份,相反,它使用整个数据库的一种新映像。它比最初的完全备份小,因为它只包含自上一次完全备份以来所变化的数据,她的优点是存储和恢复的速度很快,推荐每天做一次差异备份。
4)文件备份:数据库可以由硬盘上的许多文件构成。如果这个数据库的数据量非常大,而且一个晚上也不一定能够将数据进行备份完,那么可以使用文件备份每天晚上备份数据库的一部分。由于一般情况下数据库不会大到必须使用多个文件存储,所以这种备份不是很经常用
11.Mongodb一般会部署几台?
一般会部署奇数台
12.如果公司的网站访问很慢你将如何进行排查?
13.如果办公室有一台电脑无法进行上网,你将如何进行查看?
网络问题处理思路
1)网络硬件问题。网线、网卡、路由器、交换机等硬件设备是否在正常工作?
2)网卡驱动是否正常加载、网卡IP设置是否正确、系统路由是否正确。
3)检查局域网之间的通信是否正常
4)检查DNS的设定是否正确。可以从/etc/resolv.conf、/etc/host文件中进行确认
5)确认服务是否打开
6)访问权限是否打开 。iptables、selinux是否有拦截
14.谈一下你对docker和虚拟化的认识。
虚拟化可以简单的理解为是一种资源管理方式。有如下几种虚拟化的方式
1)完全虚拟化:对底层硬件实现完全的虚拟。例如:vmware、workstation
2)部分虚拟化:只对部分硬件资源的虚拟化
3)操作系统级虚拟化:内核通过创建多个虚拟操作系统实例来隔离各个过程
docker就是属于操作系统级的虚拟化
15.谈一下你对现在运维工程师的理解及其对工作的认识。
面试题13(广州丰德科技)
1.使用shadow命令查看系统中/etc/passwd和/etc/shadow两个文件的权限分别是
/etc/passwd 权限是-rw-r–r--
/etc/shadow权限是----------
2.使用crontab进行计划任务在周一至周五下午一点的晚上8点个运行一次mybackup这个程序,应该如何编写
3.使用dmesg命令可以查看到linux命令的启动信息
4.如果使用ln -s命令将生成了一个指向文件old的符号链接new,如果你将文件old删除,是否能够访问文件中的数据?可以访问
5.处理linux系统故障的排查思路
1)通过报错提示信息进行排查,一般情况下每个错误的出现都会给出错误的提示信息
2)查阅日志文件,有的是时候报错信息只是给出了问题的表面现象,想要更深入的了解错误信息需要去查看相应的日志文件系统日志(/var/log)和应用的日志文件
3)分析定位问题:根据报错信息、结合日志文件,同时还要考虑其他相关的情况,最终找到问题的所在
6.常用服务端口号
ftp:21、https:443、smtp:25、pop3:110、ssh:22、mysql:3306、redis:6379、nginx:80、apache:80、tomcat:8080
yum provides查询某一命令所属的软件包
zabbix监控项