前言html
近期时间在努力投简历加找工做中,将本身或者朋友遇到的面试题在此一一整理,后期将持续更新。。。mysql
(因为博主起步阶段水平有限,接触的都是基础题目,大佬不要见笑)nginx
一、测试网络连通性的命令面试
ping:最基础的就不解释了sql
tracent(trace router的缩写):判断数据包到目的地通过的哪些节点出现了错误;格式:tracert 主机名称或ip地址(具体详情自行百度)shell
二、CPU彻底虚拟化和半虚拟化的区别?CPU能够虚拟出多少个vCPU?api
cpu支持了硬件虚拟化,经过xen或kvm配置后及时彻底虚拟化,cpu不支持就是半虚拟化。bash
被虚拟化出来的操做系统上执行的指令,会运行在被虚拟化出来的硬件上,就是彻底虚拟化。kvm只支持彻底虚拟化,xen能够彻底虚拟化也能够半虚拟化。服务器
总结:网络
看虚拟化技术是彻底虚拟化仍是半虚拟化,首先看虚拟化技术有没有修改内核,xen虚拟化技术须要修改内核,所以它有彻底虚拟化和半虚拟化之分,kvm没有修改内核,所以,它只有彻底虚拟化。
虚拟化是彻底虚拟化仍是半虚拟化,仍是要看cpu是否支持硬件虚拟化,支持硬件虚拟化,就是彻底虚拟化,不支持,就是半虚拟化。xen有两种选择,而kvm只有一种选择,因此,xen有彻底虚拟化和半虚拟化之分,kvm只有彻底虚拟化。
(本文内容来自做者icy2013,原文连接http://blog.51cto.com/qiufengsong/1321151)
三、新建服务器如何经过DHCP获取IP?
首先服务器发送DHCP Discover 数据包,这个过程是服务器使用udp的68端口来进行广播,用67端口接受。数据包中包含DHCP类型,上次分配ip,apipa分配地址。
DHCP服务器接收到后检查本身是否有有效的地址,返回一个广播消息。新建服务器接收到ip地址后用DHCP request包回应DHCP服务器,DHCP会问一下分配的那个ip有没有别的机器正在使用 ,而后回应新建服务器(租约ip地址、掩码、期限)
客户端收到后会广播ARP包检测ip冲突,若是冲突新建服务器将进行第二次的ip地址获取
四、VLAN是如何隔离的?二层VLAN和三层VLAN的区别?(这个问题本人也不是很明白,求大神解释)
VLAN是对链接到的第二层交换机端口的网络用户的逻辑分段,不受网络用户的物理位置限制而根据用户需求进行网络分段。一个VLAN能够在一个交换机或者跨交换机实现。VLAN能够根据网络用户的位置、做用、部门或者根据网络用户所使用的应用程序和协议来进行分组。基于交换机的虚拟局域网可以为局域网解决冲突域、广播域、带宽问题。
二层vlan是能够划分vlan的两层交换机 只能划分vlan不能设置vlan接口地址,没有路由功能 三层vlan是指三层交换机的vlan 能够设置vlan接口地址
五、命令统计Nginx日志access.log(目录是/var/usr/log)中访问量作多的3个ip
日志内容以下:
(45.127.65.16 -- (log:........) )
awk '{print $1}' /var/log/nginx/access.log |sort | uniq -c |sort -nr -k1 | head -n 3
awk:取日志中的第一列
sort:对数据排列,顺序有小到大
uniq -c :打印重复行次数
sort -nr -k1 :按照重复行出现次数倒序排列
head -n 3:取前3行
六、 iptables如何控制mysql的访问?如何防护ddos的攻击?
经过控制端口访问:iptable -A INPUT -p tcp --dport 3306 -j ACCEPT
iptable -A OUTPUT -p tcp --sport 3306 -j ACCEPT
只容许指定ip访问: iptable -A INPUT -p tcp --dport 3306 -s 指定ip -j ACCEPT
#防止SYN攻击 轻量级预防
iptables -N syn-flood
iptables -A INPUT -p tcp --syn -j syn-flood
iptables -I syn-flood -p tcp -m limit --limit 3/s --limit-burst 6 -j RETURN
iptables -A syn-flood -j REJECT
#防止DOS太多链接进来,能够容许外网网卡每一个IP最多15个初始链接,超过的丢弃
iptables -A INPUT -i eth0 -p tcp --syn -m connlimit --connlimit-above 15 -j DROP
iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
#用Iptables抵御DDOS (参数与上相同)
iptables -A INPUT -p tcp --syn -m limit --limit 12/s --limit-burst 24 -j ACCEPT
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
(参考:https://www.cnblogs.com/fatt/p/6932380.html)
七、写一个shell脚本,将/usr/local/bak下大于1M的文件移到/tmp下
#! /bin/bash cd /usr/local/bak for filename in `ls -l | awk '$5>10240 print{$9}'` do mv $filename /tmp done
ls -l 默认显示的大小是以字节为单位 ,可使用 ls -lh 来查看文件大小
..........