2024年4月23日发(作者:)

运维工程师笔试面试题及答案

第一部分:Linux系统知识

填空题:

1.创建目录用mkdir命令,创建文件用touch命令。

2.移动文件用mv命令,复制文件用cp命令。

3.使用history命令查看用过的命令列表。

4.查看各类环境变量用env命令。

5.终止进程用kill命令。

6.编写的Shell程序运行前赋予该脚本文件读和执行权限。

7.链接分为:硬链接和软链接/符号链接。

8.在Linux系统中,以文件方式访问设备。

9.当前用户主目录用~/表示。

下命令可使用的通配符有“?”和“*”。

选择题:

1.某文件的组外成员的权限是只读、属主是全部权限、组内权限

是可读可写、该文件权限为?(D)

A.467

B.674

C.476

D.764

配置文件一般放在什么目录?(A)

3.什么命令常用于检测网络主机是否可达?(C)

4.对所有用户的变量设置,应当放在哪个文件下?(B)

A./etc/bashrc

B./etc/profile

C.~/.bash_profile

D./etc/skel/.bashrc

5.什么命令解压缩tar文件?(B)

第二部分:数据库

填空题:

1.数据库系统的核心是___数据库管理系统___。

2.事务四大特性分别是原子性、隔离性、一致性、持久性。

3.索引字段值不唯一,应该使用的索引类型为普通索引。

4.人员基本信息一般包括:身份证号,姓名,性别,年龄等。其

中可以作为主关键字的是身份证号。

语言中,用于排序的是__Orderby__子句,用于分组的是

__groupby__子句。

6.在数据库技术中,实体集之间的联系可以是一对一或一对多或

多对多的,那么“学生”和“可选课程”的联系为多对多。

7.在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B

的主关键字是D,则称____D____是关系A的外键。

8.通过封锁机制可以保证在多用户操作下,并发数据一致性。

9.锁可以分为两种类型:共享锁和排它锁。

10.关系数据模型由数据结构、数据操作和完整性约束规则三部

分组成。

选择题:

1.用SQL语句建立表时将属性定义为主关键字,应使用短语?(B)

YKEY

2.在关系模型中,实现"关系中不允许出现相同的元组"的约束是

通过?(B)

A.候选键

B.主键

C.外键

D.超键

语句中修改表结构的命令是?(C)

TABLE

STRUCTURE

ABLE

TRUCTURE

4.用SQL语句建立表时将属性定义为主关键字,应使用短语?(B)

YKEY

5.在oracle中下列哪个表名是不允许的?(D)

$

_

D._abc

6.以下哪种锁定方式能提供最佳的并行访问性能?(D)

A.列锁定

B.表锁定

C.块锁定

D.行锁定

7.数据库索引可以明显提高哪一操作的效率?(A)

INTO…VALUES…

8.用户JANKO想在有三个列:empid,lastname,和salary.的

employee表中插入一行,该用户想输入数据empid59694,

lastnameHarris,但没有salary.哪一个语句最适合这项工

作?(A)

INTOemployeeVALUES(59694,’harris’,null)

INTOemployeeVALUES(59694,’harris’)

INTOemployee(empid,lastname,salary)

VALUES(59694,’harris’)

INTOemployee(SELECT59694FROM‘harris’)

9.以下哪项是在视图上不能进行的操作?(C)

A.更新视图

B.查询视图

C.在视图上定义新的表

D.在视图上定义新的视图

10.使用SQL语句进行分组检索时,为了去掉不满足条件的分组,

应使用?(B)

A.使用WHERE子句

B.在GROUPBY后面使用HAVING子句

C.先使用WHERE子句,再使用HAVING子句

D.先使用HAVING子句,再使用WHERE子句

简答题:

1.在数据库中查询语句速度很慢,如何优化?

2.请简述数据表中哪些列适合建立索引、哪些不适合建索引?

3.创建一张学生科目成绩表,包含信息有:姓名、科目、成绩。

4.用一条SQL语句查询出每门课都大于80分的学生姓名。grade

表:

namecoursescore

张三语文81

张三数学75

李四语文76

李四数学90

王五语文81

王五数学100

王五英语90

5.修改科目成绩表的结构,添加一列信息,授课老师。

第三部分:Web容器

填空题:

的缺省端口是8080,在文件中进行修改。

2.使用JDK自带的jconsole可以明了的看到内存的使用情况,

线程的状态,当前加载的类的总量等信息。

3.在tomcat上发布javaweb应用时,默认的是webapps。

ic域的主要配置文件是,可在里面直接修

改域端口号和一些配置参数。

ic中ties文件写入的是管理域的用户名

和密码信息。

简答题:

1.什么是Tomcat?

2.怎么在Linux上安装Tomcat并部署java应用的过程?

3.什么是WebLogic?

4.简述WebLogic中domainserver的两种启动模式?

5.在Linux下启动Weblogic域时,有前台启动和后台启动之分,

区别是什么?这两种方式分别适合在何种情况启动?

第四部分:网络环境及部署实施

选择题:

1.下列系统默认端口号错误的是(C)

端口22

端口3306

端口20

端口443

2.在日常管理中,通常CPU会影响系统性能的情况是(A)

已满负荷地运转

的运行效率为30%

的运行效率为50%

的运行效率为80%

3.下列关于TCP和UDP叙述正确的是(C)

A.都是无连接的

是无连接的,UDP是面向链接的

适用于可靠性较差的广域网,UDP适用于可靠性较高的局

域网

适用于可靠性较高的局域网,UDP适用于可靠性较差的广

域网

4.一般的防火墙不能实现以下哪项功能(B)

A.隔离公司网络和不可信的网络

B.防止病毒和木马程序

C.隔离内网

D.提供对单点的监控

5.下面的网络协议中,面向连接的的协议是?(A)

A传输控制协议

B用户数据报协议

C网际协议

D网际控制报文协议

简答题:

1.系统启动后,不能连接数据库的原因?

2.你认为客户服务的重点是什么?

运维工程师面试题

姓名:答题时间:

1.新安装MYSQL后怎样提升MYSQL的安全级别?

A.修改mysql默认端口

下可以通过iptables来限制访问mysql端口的IP地址

C.对所有用户设置较复杂密码并严格指定对应账号的访问IP

(可在mysql库中user表中指定用户的访问可访问IP地址)

特权账号的处理(建议给root账号设置强密码,并指定

只允许本地登录)

E.开启二进制查询日志和慢查询日志

安装目录及数据存储目录权限控制:给mysql安装目录

读取权限,给mysql日志和数据所在目录读取和写入权限

G.删除无用mysql账号和删除无用的数据库(安装好的mysql

默认会有个test库,可将其删除)

的主从原理,怎么配置文件?

整体上来说,复制有3个步骤:

将改变记录到二进制日志(binarylog)中(这些记录

叫做二进制日志事件,binarylogevents);

将master的binarylogevents拷贝到它的中继日志

(relaylog);

重做中继日志中的事件,将改变反映它自己的数据。

主从复制的优点

<1>如果主服务器出现问题,可以快速切换到从服务器提供的服

务;

<2>可以在从服务器上执行查询操作,降低主服务器的访问压

力;

<3>可以在从服务器上执行备份,以避免备份期间影响主服务器

的服务。

复制的基本原理过程

(1)Slave上面的IO线程连接上Master,并请求从指定日志文

件的指定位置(或者从最开始的日志)之后的日志内容;

(2)Master接收到来自Slave的IO线程的请求后,通过负责

复制的IO线程根据请求信息读取指定日志指定位置之后的日志

信息,返回给Slave端的IO线程。返回信息中除了日志所包含

的信息之外,还包括本次返回的信息在Master端binarylog

文件的名称以及在Binarylog中的位置;

(3)Slave的IO线程收到信息后,将接收到的日志内容依次写

入到Slave端的RelayLog文件()的

最末端,并将读取到的Master端的bin-log的文件名和位置记

录到master-info文件中,以便在下一次读取的时候能够清楚的

告诉master“我需要从某个bin-log的哪个位置开始往后的日

志内容,请发给我”

(4)Slave的SQL线程检测到RelayLog中新增加了内容后,

会马上解析该Log文件中的内容成为在Master端真实执行时候

的那些可执行的查询或操作语句,并在自身执行那些查询或操作

语句,这样,实际上就是在master端和Slave端执行了同样的

查询或操作语句,所以两端的数据是完全一样的。

5.为MYSQL添加一个用户?

mysql>grantselect,insert,update,deleteonbook.*to

test2@localhostidentifiedby“abc”;#增加test2用户,

密码为abc。并只能在localhost这台主机上登录,并且只能访

问book这个库中的表,具有查询,插入,更新,删除权限;

语法:mysql>GRANT<权限>ON<库>.<表>TO‘用户’@’主

机名’identifiedby“密码”;

6.写一个脚本将数据库备份并打包至远程服务器192.168.1.1

/backup目录下。

mount192.168.1.1:/backup/mnt

cd/mnt

/usr/local/mysql/bin/mysqldump

test>

7.写一个脚本进行nginx日志统计,得到访问ip最多的前10

个(nginx日志路径

/home/logs/nginx/default/)

-hlocalhost-uroot

awk‘{a[$1]++}END{for(jina)printa[j],j}’

/home/logs/nginx/default/|sort-nr|head-10

8.简要描述Linux的启动过程?

BIOS启动引导(从mbr中装载启动管理器grub)—-GRUB启动引

导(装载kernel和initrd到内存)—–内核启动参数-sysinit

初始化..

9.简要叙述下列端口所运行的服务21、22、23、25、110、143、

873、3306

对应的服务是ftpsshtelnetsnmppop3IMAPrsync

系统中病毒怎么解决

找到病毒文件然后删除;中毒之后一般机器cpu、内存使用率会

比较高,机器向外发包等异常情况,排查方法:

linux服务器流量剧增,用iftop查看有连接外网的情况。

netstat连接的外网ip和端口。#top命令找到cpu使用率高的

进程,一般病毒文件命名都比较乱#可以用psaux查看是否有

不明进程,找出病毒文件的位置#rm

-f命令删除病毒文件#检查计划任务、开机启动项和病毒文件目

录有无其他可疑文件等chkconfig--list|grep3:on

服务器启动级别是3的,检查一下了开机启动项,没有特别明显

的服务。然后检查了一下开机启动的一个文件,more

/etc/

11.发现一个病毒文件你删了他又自动创建怎么解决

psaxu一个个排查,方法是查看可疑的用户和系统相似而又不

是的进程找出进程可疑。杀掉所有与病毒相关的进程,然后删掉

病毒这个可执行文件,最后删除病毒创建的文件

12.请写出5个你常用的系统或网络维护工具的名称

rhelcentosubuntu

iotop用于检查I/O的使用情况

htop实质上是top的一个增强版本。它更容易对进程排序。

ping

traceroute

13.你使用过监控软件吗?说说其特点

使用nagios对服务器进行监控,其特点侧重于对检测项的状态

监控,主要通过nrpe实现对远程主机的监控,但也可以通过snmp

对设备(如路由器、交换机)进行监控,可实时实现手机短信、

电子邮件、MSN、飞信报警。

使用cacti对服务器进行监控,其特点侧重性能和流量监控并

通过图表显示,主要通过snmp协议收集监测项数据,可实时实

现手机短信、电子邮件、

使用zabbix对服务器进行监控,zabbix是完全开源的工具,整

合了cacti和nagios等特性。zabbix可以对主机的性能监控、

网络设备性能监控、数据库、FTP等通用协议监控、多种告警方

式、详细的报表图表绘制

支持自动发现网络设备和服务器(可以通过配置自动发现服务器

规则来实现)

支持分布式,能集中展示、管理分布式的监控点,扩展性强

可以自己开发完善各类监控(根据相关接口编写程序实现),编

写插件容易,可以自定义监控项,报警级别的设置。

数据收集,支持snmp(包括trappingandpolling),IPMI,

JMX,SSH,TELNET;

服务器的调优要点

以nginx为例,个人总结有如下几个要点:

1)尽可能的少用http,因为http是有开销的;

2)尽可能的使用CDN;

3)添加Expire/Cache-Control头,这个头是缓存用的,可以缓

存图片和flash那样不轻易更改的文件,减少访问时间;

4)启动gzip压缩,这个没啥好说的了;

5)尽可能少的重定向,能rewrite就不要return,我也知道

return比rewrite好写,但是重定向是需要时间的,增加一次

重定向就会多一次web需求;

6)如果可以,把ajax也做缓存;

7)减少dns查询,很多网页会有外站的广告,这些广告也是会

启动dns查询的,所以如果不缺钱,减少这种广告;

8)调好服务器里的TCP协议栈,这个无论是web服务器还是应

用服务器都是必须的;

的innodb如何定位锁问题,mysql如何减少主从复制