别慌,我还要800多道题目。我想进大公司啊!难耐实力还没到必定程度,哎! php
Linux面试(三)上html
1 服务器的linux系统是什么版 ?mysql
答:CentOS 6.6,RHEL 6.4。 用cat /etc/rehat-release或者uname -a或者lsb_release -a再或者cat /etc/issuelinux
2 linux你作过那些优化?ios
答:(1)sysctl -w优化内核参数好比TCP链接超时net.ipv4.tcp_fin_timeout=30nginx
(2)服务器硬件自己的优化,使用固态硬盘或者RAID阵列提升磁盘寻道能力,web
(3)使用最小化安装或者源码包编译安装,写一键安装脚本面试
(4)对某个具体服务的配置文件的参数优化,好比my.cnf的socket=/tmp/mysql.sock,buffer_size,wait_timeout正则表达式
(5)作负载均衡和keepalived主备切换算法
(6)禁用开机没必要要的服务
3 在linux上部署过那些服务
答:不少。kickstart、rsync+inotify、NFS、LAMP、LNMP、FTP、DNS、Samba、DHCP、Nagios、Cacti,等等
4 你怎样用nagios作的监控,监控什么?
答:首先使用yum源安装nagios所需的组件如apache、gcc、glibc、gd库等,在服务端源码包安装nagios主程序,groupadd nagios,useradd -g nagios nagios, /configrure --prefix=/usr/local/nagios,而后make all,make install,make install-init,make install-config ,make install-webconf,。主程序安装完毕后,安装插件。而后身份验证htpasswd -c /usr/local/nagios/etc/htpasswd.user admin。nagios实现监控的方式有SNMP、NSClient++、NRPE,重启apache和nagios服务后。在浏览器登入http://IP地址/nagios, 监控的东西有主机的存活状态、CPU的使用率、负载、磁盘IO量、swap进出量、MySQL主从复制状态、LVS的VIP以及网络流量情况
*5 用cacti怎样对网络进行监控?之前公司的状况(问具体的数字)?
答:须要安装工具rrd-tool存储数据经过web界面以图表形式返回给用户,它主要经过SNMP采集数据来监控流量。
6 你怎样查看日志?查什么内容?
答:(1)查看服务的访问日志,用awk统计访问IP地址的次数,检测是否有恶意访问
(2)当服务不能正常运行,首先先查看服务的错误日志error_log,而后查看系统全部日志信息/var/log/messages,最后查看/etc/syslogd.conf系统日志的配置文件。
(3)还能查看/var/log/wtmp记录登入者的信息, 以及lastlog文件记录登入者的时间信息和终端
*7 安装PHP以后,你作了那些优化?
答: (1)PHP 脚本若是不作缓冲,每次调用都须要编译,所以,安装一个 PHP 缓冲产品能提高 25-100% 的性能。
(2)编译 PHP 时,建议采用以下的参数: --enable-inline-optimization --disable-debug
(3)把基于文件的会话切换到基于共享内存的会话。编译 PHP 时采用 --with-mm 选项,在 php.ini 中设置 set session.save_handler=mm 。这个简单的修改能让会话管理时间缩短一半。
8 会用shell吗?都用shell作什么? (这个问题问的几率很大)
答:答:批量干什么事情、备份什么东西、监控什么什么。
(1)监控磁盘分区、CPU、内存使用率达到什么程度后就邮件报警mail -s
(2)用wget、curl判断服务状态是否OK,判断进程、端口是否存在
9 你对apache作了那些优化? (LAMP的优化是重点)
答:(1)在httpd.conf 设置HostnameLookups off
(2)修改 httpd.conf 中的 SendBufferSize 为最大的页面文件的大小。加大内核的 TCP/IP 写缓冲大小。
(3)动态页面转静态页面
(4)使用CDN内容分发网络,提升站点访问效率
(5)扩充硬件,使用nginx+apache的负载均衡方式。
10 mysql你都修改了那些配置文件来进行优化(问配置文件中具体修改的内容)?
答:vi /etc/my.cnf,参数有skip-external-locking,key_buffer_size=384M,max_connetions=768,table_cache=1024,wait_timeout=10等等
11 用到的什么架构?用什么语言写的,(jsp?asp?php?)画一下架构图并简要介绍一下大家公司的架构。
答:2台LVS+keepalived————>4台nginx————>一大堆应用服务器(httpd、DNS、email等)————>MySQL主从
12 查看正在运行的端口用什么命令?
答:netstat -tulpn
13 用正则表达式作域名排序:n个http://www.sina.com/mail 让把www.sina.com提出来倒着排序,
答:awk -F "/" '{print $3}'|sort |uniq -c |sort -nr
14 监控会么?大家公司对几台服务器作了监控,监控了哪些服务?若是给你50台服务器,让你监控全部服务器的80端口具体怎么作
答:nagios、zabbix,服务端安装完毕后,加入客户端响应的配置信息文件
15 rsync远程链接的时候受控端的验证怎么作?
答:客户端也要装rsync,在rsync.passwd中写入密码,跟服务端的同样,在/usr/local/rsync/建立rsync.conf文件
16 shell脚本会么?会哪些编程语言?你要说你会shell脚本,问你写过什么脚本?
答:...
17 raid0 raid1 raid5工做原理有什么区别?大家用的哪一种?
答:raid0:将所有数据分散在全部磁盘上,利用率为100%,没有容错能力,最少须要2块磁盘;
raid1 :利用镜像功能,每份数据都复制一份在磁盘上,最少须要2块磁盘,利用率为50%,读性能优异,具备冗余能力,可是成本过高
raid5:最少须要3块磁盘,其中2块存放数据,第3块存放奇偶校验码,当其中一块磁盘上数据丢失后,可以经过校验码来恢复数据,全部具备良好的容错能力
1八、lvs有哪三种?大家用的哪一种?这种集群有什么优点?也就是和其余两种的对比分析下差别。apache熟悉么?模块知道什么如何优化?nginx怎么把来自80端口的请求交给8080?
答:(1)NAT:当调度器收到一个数据包,其中源IP地址是客户端IP地址,目的IP地址是VIP,通过调度器就把目的IP地址替换成真实服务器的IP地址,根据某种调度算法,把请求交给后端的某台服务器,服务器处理后,进行应带数据包,该数据包的格式为源IP地址是RIP,目的IP是调度器出接口的IP,再次返回到调度器的时候,根据缓存的映射关系,将目的IP替换为客户端的IP。那么这种优点在于,既支持linux操做系统又支持windows操做系统,缺点是,调度器容易成为瓶颈。
(2)DR:称为直接路由模式,要求调度器和后端服务器共享VIP,当调度器收到请求数据包的时候,发出ARP请求,替换目的MAC地址交给后端的服务器处理,处理完毕,直接返回给客户端,而不通过调度器,那么从而较少了系统开销,调度器能处理更多的并发请求。
(3)隧道模式:将私有IP地址进行封装,外部是公有IP,要求后端服务器支持隧道协议,并且也是不通过调度器。
apache模块优化:注释掉一些不须要用的模块
端口转换:echo 1 >/proc/sys/net/ipv4/ip_forward ,iptables -t nat -A PREROUTING -s [源IP] -p tcp --dport 80 -j REDIRECT --to-port 8080
19 memcache工做的时候用到过么?什么命令清理缓存?
答:flush_all,做用大概是第一次从硬盘中读取数据,最后将结果放入内存中,下次访问网站的时候,效率就很高,不少公司都这样干
20 iptables几个表
答:四表五链,表:netfilter nat mangle raw 链:PREROUTING INPUT FORWARD OUTPUT POSTROUTING
21 iptables熟练么?简单的规则懂么?有几个表几个链?
答:规则举例:iptables -t nat -L ,iptables -F ,iptable -D INPUT 1,iptables -p INPUT DROP //若是没有明确说明,默认拒绝INPUT链上的规则
22 SecureCRT如何操做时防断线
答:断线的缘由有:(1)触碰了网线(2)物理主机关机或者休眠(3)网络拥塞致使断线(4)误操做reboot或者service network stop(5)iptables干掉了SSH会话
23 apache怎么调优?
答:(1)动态页面转静态页面
(2)httpd.conf中HostnameLookups off
(3)httpd.conf中SendBufferSize的大小为最大页面大小,加大TCP/IP内核写缓存大小
(4)使用CDN内容分发网络,提供站点的访问效率
(5)扩充硬件,使用nginx+apache负载均衡方式
24 用过什么监控工具?
答:glances/cacti/nagios/zabbix
25 nagios怎么同时监控80台服务器的状态?
答:每台服务器安装nagios客户端,nagios-plugin和nrpe,Nagios服务端写入配置文件。
26 大家公司的架构是什么样的?怎么作的cdn
答:CDN(内容分发网络)是个边缘网络,距离用户最近部署站点,从而提升网站的访问效率。知道的就这么多,反正这是个大工程。
27 对日志都作过哪些操做?用什么作的?
答:排错啊,重要日志有/var/log/message,以及/var/log/lastlogs,配置文件/etc/syslogd.conf,还有不少访问日志和服务日志用于统计和排错使用
28 作过哪些调优?
答:调优很差办,慢慢研究
29 会用哪些编程语言,写过什么shell脚本?
答:略
30 memcache怎么清理缓存
答:telnet localhost 11211 而后flush_all
31 linux基本服务的配置都会吧?
答:不要文档还真不行
32 linux apache mysql调优
答:重难点,好说很差作。
33 画出本身公司的架构图
答:略
34 apache的MPM
答:都说烂了。
35 给出一套网游架构 分析优缺点(从架构设计、维护成本、数据与备份)
答:C/S架构
36 exchange都作过什么?
答:这是据说微软开发的邮件服务器,没时间学
37 lvs 的模式和算法 ?
答:模式:DR、NAT、tunnel 算法:有11种之多,常见4种,轮询、加权轮询、最少链接、加权最少链接(将请求交给已经创建链接数较少的服务器上)
38 postfix工做原理
答:不了解。流程:接收邮件、将邮件排入队列、递送邮件
39 你对lvs 掌握到什么程度?
答:3大模式原理理解,四种调度算法了解,配置不够熟悉。
40 iptable会吗?都作过什么?
答:(1)第一次部署虚拟机web服务器,须要开放80端口,iptable -t filter -A INPUT -p tcp --dport 80 -j ACCEPT,而后保存
(2)squid部署透明代理的时候须要设置:iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3218
iptables -t nat -A POSTROUTING -o eth1 -p tcp -j MASQUERADE
41 你说一下linux 的启动流程 (50%几率要考,再复习一遍)
答:(1)BIOS加电自检,决定从网络、硬盘或者USB、光盘等方式启动
(2)读取MBR,加载bootloader,出现grub菜单,加载内核
(3)启动第一个进程即init进程,读取/etc/inittab,决定从哪一个运行级别启动
(4)侦测硬件,加载驱动程序,执行/etc/rc.sysint系统初始化,好比网络、时区等
(5)运行一些某个级别下开机自启服务,启动内核模块
(6)读取/etc/rc.local,执行开机运行脚本
(7)miggety程序运行/bin/login,出现用户登陆界面,通过身份认证后,用户方可以使用操做系统
42 nagios报警值 (这个问题,我真的被问过,估计还要问监控啥东西)
答:(1)、返回的状态值为0,表示OK,没有异常。
(2)、返回的状态值为1,表示WARNING,会触发WARNING报警。
(3)、返回的状态值为2,表示CRITICAL,会触发CRITICAL报警。
(4)、返回状态为3,表示UNKNOWN。
43 你平时都干什么?
答:10小时分段学习,8—9小时睡眠,剩下的时间玩手机、吃饭、瞎逛思考人生(谁叫我单身狗呢,嘤嘤嘤!)。
44 前台和后台的进程怎么杀掉?
答:前台进程:当即终止ctrl+C,kill -9 【进程PID】或者pkill -9 【进程名】
后台进程:用jobs -l查看有哪些后台进程?会有PID显示,而后再用kill -9 PID
##前台转后台,按下ctrl+Z,输入bg,输入disown,最后exit 后台转前台:fg %工做号 ,其中工做号能够用jobs -l查看,工做号不是PID
45 服务器宕机了如何处理?(重要,也很差回答)
答:缘由:因为用户访问量过大,形成资源耗尽,或者你网站的数据超出你的空间限制范围大小也会出现宕机,最后就是遭遇***。
办法:(1)重启,若是reboot不灵的话,如果在机房,通常只能按机箱上的reset健来重启,若是远程登陆,echo 1 > /proc/sys/kernel/sysrq echo b > /proc/sysrq-trigger
(2)先用其余服务器承担一段时间业务,而后对故障机是该更换硬件了
(3)另外这种状况,原本就很差解决,当即通知最有丰富经验的人来解决,以避免本身耽搁时间。
46 你对小型机了解吗
答:过期了
47 遇到故障如何排除?举一个例子; (呵,这玩意80%又要问啊,要熟记)
答:(1)root用户忘记密码:进入单用户模式,passwd rooot更改密码;
(2)grub文件损坏,进入linux rescue 模式,chroot sysp_w_picpath,从新gurbinstall
(3)服务不能正常运行,首先测试故障所处范围,而后查看系统日志,最后查看服务日志,逐步排错
(4)命令丢失:在另外一台主机上,用rpm -qf 找到对应命令安装包,而后用scp命令远程拷贝过来,再进行安装,并移至相应位置
(5)网站响应极慢:检查是否是客户端网络拥塞问题,若是不是再定位到服务端,系统负载过大,查看什么进程占用了较大负载,或者说咱们服务的配置自己有问题,应对不了大并发链接,创建先要ab或者httperf测试一下并发量,再去琢磨修改,而后PHP响应慢,多是SQL代码查询效率过低,该删的要删,最后是MySQL响应慢问题,多是磁盘IO性能很差,先换换硬件,好比固态硬盘和RAID阵列,也有多是配置文件没有作好优化措施。
##top命令, 键入M能够达到之内存占用率大小顺序排列,键入P能够达到以CPU使用率顺序排序
(3)服务不可以正常运行,(1)先
48 会不会编写脚本
答:略
49 会不会部署squid
答:看来是重点啊
50 游戏架构了解多少
答:P2P结构、C/S结构、会话大厅结构 参考文档:http://www.cnblogs.com/kanego/articles/2171009.html
服务器的运行流程以下:
(1)建立一个套接字,绑定IP和端口。
(2)服务器监听端口,等待链接。建立一个游戏大厅。
(3)服务器处于等待状态,所以须要两个进程/线程在服务器端运行:一个界面线程,处理游戏菜单操做;一个网络线程,等待链接。
(4)在每一个客户端建立一个Socket,链接游戏服务器。
(5)服务器更新链接信息,并在游戏大厅上显示。同时,将链接用户信息发送给每一个链接用户。
(6)当全部的用户都链接到服务器上开始游戏,关闭服务器侦听的套接字,中断全部等待的链接,新的用户将不可能链接上服务器。
51 怎么样测试网站最大流量?
答:使用jmeter工具,得出每条访问请求数throughoutput,再推算出日均访问量。
52 会不会安装系统
答:会,有时候一台虚拟机不能知足须要测试,须要多装几台,过一段时间,删除系统,从新装系统和服务,增强熟悉
53 linux怎么调优的
答:太多了,四个角度入手。硬件、软件编译安装、服务配置文件、底层内核参数
54 之前有多少台服务器
答:小公司:500台;中型公司:2000台 大型公司:1W台
55 之前公司的pv多少
答:PV就是page view的意思,页面访问量,像阿里这种天天应该千万级别吧
56 apache mpm 区别
答:略
57 用过什么负载均衡
答:对于服务器来讲,硬件:F5 BIG-IP; 软件:nginx负载均衡,HAproxy,LVS+Keepalived
58 作负载均衡 真实服务器ABC 用户访问A而且上传了图片在A服务器,下次负载到B,B没有图标,用户怎么请求图片
答:这是一个负载均衡同步问题。仍是老样子,部署rsync+inotify或者在A服务器部署NFS,进行共享。其实我想B服务器能不能有一个指向A服务器资源的连接,可是呢。这样就没有负载均衡的效果了,因此我想反向代理行不行,当B找不到对应的资源的时候,就去向A请求。
59 用什么监控?
答:Cacti监控流量、Nagios监控服务
60 编写过脚本吗?(必定要说出有点水平的脚原本,瞎吹也行)
答:(1)nginx日志切割(2)rsycn的服务端的同步脚本(3)还有nagios监控脚本 ;批量干啥玩意、备份啥玩意、监控啥玩意
61 ospf相比rip的优势
答:OSPF:(1)收敛速度快(2)适合大中型网络(3)划分区域提升了它的可管理性(4)优良的防环机制(5)即支持明文认证,有支持密文认证(6)支持等价负载均衡 (我研究的领域侧重点已经不是网络了,否则我能说出一大堆来,嘻嘻)
62 进程和线程的区别 (最喜欢考这个了)
答:(1)线程是CPU调度的基本单位,而进程是CPU分配的基本单位(2)一个进程中含有多个线程,线程之间共享地址空间,从而提升它的访问效率,而每一个进程独占资源(3)相比进程而言,线程是一个更切近执行体的概念。(3)线程常常用在对称多处理技术上,线程之间通讯快,切换速度也快。
63 squid 配置过吗?
答:跟大多数缓存原理相同,若是有则...若是没有....
64 存储了解吗 ?
答:SAN和NAS
65 apache 的keepalive是作什的?
答:保持长链接,避免不断的创建和终止TCP链接增大系统开销。
66 lvs有哪些模式?大家原来用什么模式
答:略
67 你了解dr 原理吗?
答:DR称为直接路由模式。后台服务器共享VIP地址,当调度器收到一个请求数据包的时候,根据某种调度算法,将请求交给后端某台服务器来处理,同时更改数据的目的MAC地址,发出ARP请求,可是不做出ARP应答,服务器处理完请求,封装应答包的时候,不通过调度器,直接返回给客户端,从而提升了系统效率,调度器能处理更多的并发链接。
68 两台directory数据怎么共享存储
答:(1)rsync+inotify实时同步(2)后端连一台NFS,可是不够安全(3)
69 说说你在之前公司的主要职责是什么(这玩意估计常常考)
答:(1)保证机房物理上的安全,路由器、交换机、服务器及我的PC正常运做(2)对操做系统防漏洞、防***、使用权限、密钥管理等(3)对服务的安装配置、排障、权限授予以及身份验证(4)对用户进行操做培训教育(5)编写完善的运营维护技术文档(6)数据备份以及灾难恢复等。
70 之前使用过什么架构
答:无非就是2台LVS+keepalived,4台nginx,一大堆应用服务器,后台2台MySQL主从
71 之前用什么监控网络流量,网络流量大概是多少。
答:Cacti监控流量
72 画一下大家公司的服务器架构
答:略
73 大家公司运维人员有几个
答:通常中型公司,怎么也得2000+台服务器吧,估计至少20人。
74 大家是怎么作的服务器的高可用?
答:所谓高可用就是保证服务器的在线处理能力,一台挂掉以后,另外一台可以迅速接替,使用keepalived主备切换。
75 问我作高可用的两台服务器是用什么线连在一块儿的。
答:双绞线,准确来讲交叉线
76 对raid了解吗?
略
77 大家用的什么服务器
。。。
78 对nas了解吗?
答:NAS(Network Attached Storage:网络附属存储),它是一种数据存储服务器。容许用户在网络上存取数据,NAS设备集中管理和处理网络上的全部数据
##SAN 和NAS的区别:
(1)SAN是一种网络,NAS产品是一个专有文件服务器或一个只读文件访问设备。
(2)SAN是在服务器和存储器之间用做I/O路径的专用网络。
(3)SAN包括面向块(iSCSI)和面向文件(NAS)的存储产品。
(4)NAS产品能经过SAN链接到存储设备
79 会源码编译吗?
答: ./configure检验gcc,配置环境 make编译 make install安装
80 你以为你如今的技术在那个层次?内核的编译,系统参数的调优。
答:4-5个月linux基础,我目前所处初级运维工程师到中级运维工程师过渡的阶段。
81 服务器的linux系统是什么版
答:用cat /etc/rehat-release或者uname -a 或者cat /etc/issue,用file /bin/ls
82 linux你作过那些优化
答:通常来讲,从三个大方向:硬件、服务编译安装、配置文件入手
83 在linux上部署过那些服务
答:rsync+inotify、kickstart、LAMP、nginx、FTP、DNS、Samba、DHCP、Nagios、Cacti,等等
84 apache使用的版本
答:2.2 ,能够用rpm -q httpd 查看,源码包的话使用/usr/local/apache2/bin/apachectl -V
85 apache使用的工做模式
答:prefork和worker
86 apache的主配置文件以及虚拟主机的配置文件
答:/etc/httpd/conf/httpd.conf。虚拟主机vi /etc/httpd/conf.d/vhosts.conf
87 端口转发80 转到8080
答:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 ##其实就能够理解为从80端口接收请求数据包,从8080端口发出应答数据包
88 内核编译命令?(你编译过内核吗,这个问题可能会被问)
答:make menuconfig ##参考文档:http://blog.csdn.net/xiaocainiaoshangxiao/article/details/21931801
89 把某文件夹下小于10k的文件移动到tmp文件夹下
答:find 某文件夹/ -10k -a type f -exec mv {} /tmp \;
90 iptable保存 恢复
答:service iptables save,service iptables restart
91 httpd配置文件位置
答:(1)源码包安装:/usr/local/apache2/conf/httpd.conf (2)二进制包安装:/etc/httpd/conf/httpd.conf
92 rsync的使用?
答:一般结合inotify监控工具,达到实时同步的效果
93 cp和mv的区别?
答:(1)就文件来讲,cp 在产生新文件的同时,原文件不变,而mv会移走原文件到指定位置(2)就更名来讲,mv 直接将该文件更名,不会产生新的文件,而cp 使原文件名不变,同时产生新文件,并更名
94 postfix邮件发不出去的缘由?
答:(1)域名解析问题(2)由于网关或者其余缘由形成的网络不通(3)邮件服务器不正常 (4)selinux问题
95 邮件发不出去的解决办法?
答:(1)域名解析问题:/etc/hosts(2)由于网关或者其余缘由形成的网络不通:路由交换,逐点ping来排错(3)邮件服务器不正常:看日志 (4)selinux问题:禁用,vi /etc/sysconfig/selinux,selinux=disabled
96 smtp的端口
答:25
97 以前使用的操做系统版本
答:redhat 6.4 ,CentOS 6.6
98 是否会用freebsd?
答:只知道是Unix,操做手段略有不一样
99 以前工做中所遇到的重大事故及解决办法
答:通常是误操做把某些数据给删了,灾难恢复很难办;或者遭遇网络***,手足无措
100 是否会部署缓存DNS ?
答:(1)缓存服务器主机安装yum -y install bind caching-nameserver, cd /etc, cp –p named.caching-nameserver.conf named.conf ##-p保持属性不变。vi named.conf ,view localhost_resolver {match-clients { any; }; match-destinations { any; };
(2)在主域名服务器上vi /var/named/test.com.zone ,添加localhost.localdomain. IN A 【缓存服务器的IP地址】