• linux意想不到题3


    Linux面试(三)上

    1 服务器的linux系统是什么版 ?

    答:CentOS 6.6,RHEL 6.4。 用cat /etc/rehat-release或者uname -a或者lsb_release -a再或者cat /etc/issue

    2 linux你做过那些优化?

    答:(1)sysctl -w优化内核参数比如TCP连接超时net.ipv4.tcp_fin_timeout=30

    (2)服务器硬件本身的优化,使用固态硬盘或者RAID阵列提高磁盘寻道能力,

    (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块存放奇偶校验码,当其中一块磁盘上数据丢失后,能够通过校验码来恢复数据,所有具有良好的容错能力

    18、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 sysimage,重新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地址】

  • 相关阅读:
    JAVA-JSP内置对象之response对象
    JAVA-JSP内置对象之request对象的其他方法
    JAVA-JSP内置对象之request获得封装所有参数值的Map
    JAVA-JSP内置对象之request获得参数的所有参数值(多个值)
    JAVA-JSP内置对象之request获得参数的参数值(一个值)
    Animator根骨骼运动原始实现代码
    Unity胶囊体的碰撞检测实现
    Animation Play/Stop测试
    texconv下载以及使用命令
    unity替换mesh测试
  • 原文地址:https://www.cnblogs.com/liuyiting/p/6835619.html
Copyright © 2020-2023  润新知