linux系统工程师面试题.docx

上传人:b****5 文档编号:11568917 上传时间:2023-03-19 格式:DOCX 页数:23 大小:28.91KB
下载 相关 举报
linux系统工程师面试题.docx_第1页
第1页 / 共23页
linux系统工程师面试题.docx_第2页
第2页 / 共23页
linux系统工程师面试题.docx_第3页
第3页 / 共23页
linux系统工程师面试题.docx_第4页
第4页 / 共23页
linux系统工程师面试题.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

linux系统工程师面试题.docx

《linux系统工程师面试题.docx》由会员分享,可在线阅读,更多相关《linux系统工程师面试题.docx(23页珍藏版)》请在冰豆网上搜索。

linux系统工程师面试题.docx

linux系统工程师面试题

linux系统工程师面试题

第一套

1.查看Linux系统当前单个共享内存段的最大值(命令)

ipcs-m

ipcs-a

2.用什么命令查询指定IP地址的服务器端口

题意应该是nmap和nbtscan命令来扫吧。

3.crontab中用什么命令定义某个程序执行的优先级别

nice/renice:

进程执行优先级

概念:

进程优先级:

系统按进程优先级的不同分配CPU时间,优先级高的进程会得到更多的CPU使用时间,以提高速度,缩短总的执行时间。

进程优先级范围:

-20至19

最高等级:

-20

最低等级:

19

系统管理员有权将进程优先级设置为-1至-20,而普通用户只能设置0至19。

进程运行的默认等级为0。

用nice执行的进程其默认等级为10(即nice<程序名>,不指定等级时)。

格式:

nice<程序名>

nice-<等级><程序名>

如:

(命令后加&表示以后台运行)

vi&优先等级0,默认等级。

nicevi&优先等级10,使用nice执行程序时的默认等级。

nice-50vi&优先等级19,-号表示选项,等级50超过最低等级19,因此系统以等级19执行。

nice-18vi&优先等级18。

nice--50vi&优先等级-20,选项值为-50,超过最高等级-20,因此系统以等级-20执行。

nice--18vi&优先等级-18。

通过ps-l可查看以上命令的执行情况(注意查看各vi进程NI值的不同)。

重新调整正在执行的进程的优先级:

调整指定PID进程的等级

renice<等级>

注意:

<等级>是参数,不是选项,没有前缀-号。

调整指定用户的所有进程的等级

renice<等级><用户名1><用户名2>...

调整指定组的所有用户的所有进程的等级

renice<等级>-g<组名1>

4.如何让history命令显示具体时间

HISTTIMEFORMAT="%Y-%m-%d%H:

%M:

%S"

expectHISTTIMEFORMAT

重新开机后会还原,可以写/etc/profile

5.查看Linux系统当前指定用户的邮件队列

mailq命令

打印两种类型的列表:

mailq命令列出如下所示的邮件队列:

MailQueue(1request)

---QID------Size-------Q-Time-----------Sender/Recipient-----

AA025083ThuDec1710:

01root

(Userunknown)

bad_user

mailq-v命令列出如下所示的邮件队列:

MailQueue(1request)

---QID------Size---Priority----Q-Time-----Sender/Recipient--

AA0250831005Dec1710:

01root

(Userunknown)

bad_user

6.查看Linux系统当前加载的库文件

lsof

7.Ext3文件系统如何恢复RM命令删除文件

(1).Ext3文件系统结构的简单介绍

在Linux所用的Ext3文件系统中,文件是以块为单位存储的,默认情况下每个块的大小是1K,不同的块以块号区分。

每个文件还有一个节点,节点中包含有文件所有者,读写权限,文件类型等信息。

对于一个小于12个块的文件,在节点中直接存储文件数据块的块号。

如果文件大于12个块,那么节点在12个块号之后存储一个间接块的块号,在这个间接块号所对应的块中,存储有256个文件数据块的块号(Ext2fs中每个块号占用4字节,这样一个块中所能存储的块号就是1024/4=256)。

如果有更大的文件,那么还会在节点中出现二级间接块和三级间接块。

(2).恢复被误删文件的方法

大多数Linux发行版都提供一个debugfs工具,可以用来对Ext3文件系统进行编辑操作。

不过在使用这个工具之前,还有一些工作要做。

首先以只读方式重新挂载被误删的文件所在分区。

使用如下命令:

(假设文件在/usr分区)

mount-r-n-oremount/usr

-r表示只读方式挂载;-n表示不写入/etc/mtab,如果是恢复/etc上的文件,就加上这个参数。

如果系统说xxxpartionbusy,可以用fuser命令查看一下是哪些进程使用这个分区上的文件:

fuser-v-m/usr

如果没有什么重要的进程,用以下命令停掉它们:

fuser-k-v-m/usr

然后就可以重新挂载这些文件系统了。

如果是把所有的文件统一安装在一个大的/分区当中,可以在boot提示符下用linuxsingle进入单用户模式,尽量减少系统进程向硬盘写入数据的机会,要不干脆把硬盘挂在别的机器上。

另外,恢复出来的数据不要写到/上面,避免破坏那些有用的数据。

如果机器上有dos/windows,可以写到这些分区上面:

mount-r-n/dev/hda1/mnt/had

然后就可以执行debugfs:

(假设Linux在/dev/hda5)

#debugfs/dev/hda5

就会出现debugfs提示符debugfs:

使用lsdel命令可以列出很多被删除的文件的信息:

debugfs:

lsdel

debugfs:

2692deletedinodesfound.

InodeOwnerModeSizeBlocksTimedeleted

164821010060081921/1SunMay1319:

22:

462001

…………………………………………………………………………………

36137010064441/1TueApr2410:

11:

152001

196829010064414950038/38MonMay2713:

52:

042001

debugfs:

列出的文件有很多(这里找到2692个),第一字段是文件节点号,第二字段是文件所有者,第三字段是读写权限,接下来是文件大小,占用块数,删除时间。

然后就可以根据文件大小和删除日期判断那些是我们需要的。

比如我们要恢复节点是196829的文件:

可以先看看文件数据状态:

debugfs:

stat

Inode:

196829Type:

regularMode:

0644Flags:

0x0Version:

1

User:

0Group:

0Size:

149500

FileACL:

0DirectoryACL:

0

Links:

0Blockcount:

38

Fragment:

Address:

0Number:

0Size:

0

ctime:

0x31a9a574--MonMay2713:

52:

042001

atime:

0x31a21dd1--TueMay2120:

47:

292001

mtime:

0x313bf4d7--TueMar508:

01:

272001

dtime:

0x31a9a574--MonMay2713:

52:

042001

BLOCKS:

594810594811594814594815594816594817………………………………….

TOTAL:

38

然后就可以用dump指令恢复文件:

debugfs:

dump/mnt/hda/01.sav

这样就把文件恢复出来了。

退出debugfs:

debugfs:

quit

另一种方法是手工编辑inode:

debugfs:

mi

Mode[0100644]

UserID[0]

GroupID[0]

Size[149500]

Creationtime[0x31a9a574]

Modificationtime[0x31a9a574]

Accesstime[0x31a21dd1]

Deletiontime[0x31a9a574]0

Linkcount[0]1

Blockcount[38]

Fileflags[0x0]

Reserved1[0]

Fileacl[0]

Directoryacl[0]

Fragmentaddress[0]

Fragmentnumber[0]

Fragmentsize[0]

DirectBlock#0[594810]

…………………………….

TripleIndirectBlock[0]

使用mi指令后每次显示一行信息以供编辑,其它行可以直接按回车表示确认,把deletiontime改成0(未删除),Linkcount改成1。

改好后退出debugfs:

debugfs:

quit

然后用fsck检查/dev/hda5

fsck/dev/hda5

程序会说找到丢失的数据块,放在lost+found里面。

8.查看当前系统某一硬件的驱动版本。

比如网卡

dmidecode

9.DNS服务器有哪三种类型

主从缓存

10.apache目录访问身份验证的实施步骤(用htpasswd设置)

htpasswd-c/目录user

alias/目录

11.使用tcpdump监听主机IP为192.168.1.1,tcp端口为80的数据,写出相应命令

tcpdumptcpport80host192.168.1.1

12.简述IDS作用和实现原理

入侵检测,设备放在intelnet进来的第一台路由后面。

对进入路由的所有的包进行检测,如果有异常就报警。

13.用sed修改test.txt的23行test为tset;

sed‘23s/test/tset/g’test.txt

第二套

1.如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0:

答:

#iptables-tnat-APREROUTING-d192.168.16.1-ptcp–dport80-jDNAT–to192.168.16.1:

8080

或者:

#iptables-tnat-APREROUTING-ieth0-d192.168.16.1-ptcp-mtcp–dport80-jREDIRECT–to-ports8080

2.什么是NAT,常见分为那几种,DNAT与SNAT有什么不同,应用事例有那些?

3.包过滤防火墙与代理应用防火墙有什么区别,能列举几种相应的产品吗?

4.iptables是否支持time时间控制用户行为,如有请写出具体操作步骤

5.说出你知道的几种linux/unix发行版本

6.列出linux常见打包工具并写相应解压缩参数(至少三种)

7.计划每星期天早8点服务器定时重启,如何实现?

8.列出作为完整邮件系统的软件,至少二类

9,当用户在浏览器当中输入一个网站,说说计算机对dns解释经过那些流程?

注:

本机跟本地dns还没有缓存。

答:

a.用户输入网址到浏览器

b.浏览器发出DNS请求信息

c.计算机首先查询本机HOST文件,看是否存在,存在直接返回结果,不存在,继续下一步

d.计算机按照本地DNS的顺序,向合法dns服务器查询IP结果,

e.合法dns返回dns结果给本地dns,本地dns并缓存本结果,直到TTL过期,才再次查询此结果

f.返回IP结果给浏览器

g.浏览器根据IP信息,获取页面

10,我们都知道,dns既采用了tcp协议,又采用了udp协议,什么时候采用tcp协议?

什么时候采用udp协议?

为什么要这么设计?

答:

这个题需要理解的东西比较的多,分一下几个方面

a,从数据包大小上分:

UDP的最大包长度是65507个字节,响应dns查询的时候数据包长度超过512个字节,而返回的只要前512个字节,这

时名字解释器通常使用TCP从发原来的请求。

b,从协议本身来分:

大部分的情况下使用UDP协议,大家都知道UDP协议是一种不可靠的协议,dns不像其它的使用UDP的Internet应用(

如:

TFTP,BOOTP和SNMP等),大部分集中在局域网,dns查询和响应需要经过广域网,分组丢失和往返时间的不确定性在广域网比局域网上更大

,这就要求dns客户端需要好的重传和超时算法,这时候使用TCP

11,一个EXT3的文件分区,当使用touchtest.file命令创建一个新文件时报错,报错的信息是提示磁盘已满,但是采用df-h命令查看磁盘大

小时,只使用了,60%的磁盘空间,为什么会出现这个情况,说说你的理由。

答:

两种情况,一种是磁盘配额问题,另外一种就是EXT3文件系统的设计不适合很多小文件跟大文件的一种文件格式,出现很多小文件时,

容易导致inode耗尽了。

12,我们都知道FTP协议有两种工作模式,说说它们的大概的一个工作流程?

FTP两种工作模式:

主动模式(ActiveFTP)和被动模式(PassiveFTP)

在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT

N+1命令。

服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。

在被动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。

然后向服务器发送PASV命令,

通知服务器自己处于被动模式。

服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORTP命令通知客户端,自己的数据端口是P。

客户端收到命令后,会通过

N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。

总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口。

被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTp服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之

后主机,而只允许由防火墙之后的主机发起的连接请求通过。

因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。

13.编写个shell脚本将当前目录下大于10K的文件转移到/tmp目录下

1.#/bin/sh

2.#Programm:

3.#Usingformovecurrentlydirectoryto/tmp

4.forFileNamein`ls-l|awk‘$5>10240{print$9}’`

5.do

6.mv$FileName/tmp

7.done

8.ls-al/tmp

9.echo“Done!

复制代码

14.apache有几种工作模式,分别介绍下其特点,并说明什么情况下采用不同的工作模式?

apache主要有两种工作模式:

prefork(apache的默认安装模式)和worker(可以在编译的时候加参数–with-mpm-worker选择工作模式)

prefork的特点是:

(预派生)

1.这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销

2.可以防止意外的内存泄漏

3.在服务器负载下降的时候会自动减少子进程数(prefork的详细原理可以看我的博客另外一篇文章apache的性能优化)

worker的特点是:

支持混合的多线程多进程的多路处理模块

如果对于一个高流量的HTTP服务器,workerMPM是一个比较好的选择,因为workerMPM占用的内存要比prefork要小。

15.名词解释HDLC,VTP,OSPF,RIP,DDOS,systemV,GNU,netscreen,ssh,smartd,apache,WAIT_TIME等等

16.编写shell脚本获取本机的网络地址。

比如:

本机的ip地址是:

192.168.100.2/255.255.255.0,那么它的网络地址是

192.168.100.1/255.255.255.0

方法一:

1.#!

/bin/bash

2.#Thisscriptprintipandnetwork

3.file=”/etc/sysconfig/network-scripts/ifcfg-eth0″

4.if[-f$file];then

5.IP=`grep“IPADDR”$file|awk-F”=”‘{print$2}’`

6.MASK=`grep“NETMASK”$file|awk-F”=”‘{print$2}’`

7.echo“$IP/$MASK”

8.exit1

9.fi

复制代码

方法二:

1.#!

/bin/bash

2.#Thisprogrammwillprintfip/network

3.#

4.IP=`ifconfigeth0|grep‘inet‘|sed’s/^.*addr:

//g’|sed’s/Bcast.*$//g’`

5.NETMASK=`ifconfigeth0|grep‘inet‘|sed’s/^.*Mask:

//g’`

6.echo“$IP/$NETMASK”

7.exit

复制代码

17.在命令行下发一邮件,发件人:

***********,收信人:

***********

二简述题:

1.linux下如何改IP,主机名,DNS

2.linux下如何添加路由

3.简述linux下编译内核的意义与步骤

4.简述Linux启动过程

5.简述DDOS攻击的原理

6.简述Tcp三次握手的过程

7.简述VPN,常见有哪几种?

8.

三:

设计题:

1.系统设计

请考虑以下系统的设计.您可以翻阅资料,查询任何您有帮助的资料、指南等。

您有的资源:

8台安装Linux(2.6内核)的双网卡PC服务器以及相关开源软件,交换机

Apache2.2.x

Tomcat5.5.X

数据库系统

最多8个InternetIP地址,请您设计一个系统:

1、使用双apachewebserver前端;

2、采用AJP连接后段的3台Tomcat应用服务器,这些tomcat被配置成cluster,因此需要考虑apache对后端的分配, 分配采用完全平衡的方法

; 配置使用cookie来实现sessionstickness;

3、1台数据库服务器只有tomcat才需要连接,也不需要对Internet提供服务。

4、考虑系统的安全性和维护方便性;

5、通过rewrite规则配置把下属URL规则改写成友好的URL

http:

//server/webapp/getinfo?

id=XXXX&name=YYYY–>http:

//server/getinfo/YYYY/XXXX

您需要提交

1、服务器规划,包括:

* 网络结构图

* 每台机器的IP地址分配

* 每台机器上运行的关键软件

* 您从安全性和维护性方面的考虑

2、Apache的以下配置文件给我们:

* extra/http-proxy-ajp.conf

* extra/http-rewrite.conf

2.你可以采取任何设备和不同操作系统服务器设计对两台WWW服务器和两台FTP服务器做负载均衡,用网络拓扑图表示并加以说明!

(方法越多越好)

 这个面试已经过了快一个月了,前段时间没有发上来,今天稍微整理了以下发上来了。

本来是想写感想那,但是从小学开始语文都不好。

也不知道从那里写起。

呵呵!

 

  这家公司挺大的,听别人说和sina一个级别的。

具体的就在这里不说出来了。

我从哪里面试出来之后我就想这是面试的SA,好像不是项目经理吧,外企就是不一样啊!

 

  还有就是他在问了问题之后,我答完之后就接着下一个,中间没有任何什么其他的话,脸上也没有表情。

面试完之后完回到家里靠自己的记忆记下了面试中的16道面试题。

发给朋友看看,他们有的说变态,有的说这好像不是SA面试题吧。

 

  汗……还是自己的能力不行啊。

第三套

 

  1、在同一个网站中,当客户访问的时候,会出现有的页面访问的速度快而有的慢,系统和服务完全正常、网络带宽正常。

这是那里出现问题了那?

 

  2、你以前做过的项目中,单台服务器的最大并发量是多少?

说下你硬件的配置?

 

  3、你以前在工作中遇到的,一个困难的技术问题是什么,最后怎么解决的?

 

  4、你说下你技术的强项和不足?

 

  5、在一个系统架构中,我们为了避免单点故障,会怎么做?

 

  6、apache2.x版本中两个不同的运行模式是什么,有什么不同?

 

  7、如果给你很多台服务器,你该怎么去管理?

 

  8、如果给你一个100人的团队你怎么带好他们?

 

  8、如何优化linux系统,说出命令和相应的回值?

 

  9、怎么查看一个服务器运行正常?

 

  10、为什么有些公司会把自己的系统项目外包出去,而自己不招自己系统工程师,说说自己的看法?

 

  11、如果一个web服务器出现问题,你会怎么做?

 

  12、如何添加一个apache的rewirte模块,rewirte模块的原理是什么?

 

  13、你以前所在的公司接到项目的时候,人员是如何人分配的?

 14、你们给客户所做的项目,怎么保证客户系统的安全?

 

  15、你们为客户提供什么样的后期服务?

 

  16、相对web服务来说,你们怎么知道当时客户的系统已经不能满足需求,当不能满足需求的时候,你们就用什么解决?

 

  以上就是我能记得的面试题了,还有几个记不起来了。

真是一个比一个各色。

面对这么各色的面试题,你能答出来多少?

 

  看完这个之后希望大家能把自己能打答出来的写下来!

第四套

1,编写shell脚本获取本机的网络地址。

比如:

本机的ip地址是:

192.168.100.2/255.255.255.0,那么它的网络地址是192.168.100.1/255.255.255.0

2,当用户在浏览器当中输入一个网站,说说计算机对dns解释经过那些流程?

注:

本机跟本地dns还没有缓存。

3,我们都知道,dns既采用了tcp协议,又采用了udp协议,什么时候采用tcp协议?

什么时候采用udp协议?

为什么要这么设计?

4,一个EXT3的文件分区,当使用touchtest.file命令创建一个新文件时报错,报错的信息是提示磁盘已满,但是采用df-h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况,说说你的理由。

5,我们都知道FTP协议有两种工作模式,说说它们的大概的一个工作流程?

1,#!

/bin/sh

LAN=eth0

LOCALNET_MASK=`ifconfig$LAN|sed-e's/^.*Mask:

([^]*)$/1/p'-ed`

LOCALNET_ADDR=`netstat-rn|grep$LAN|grep$LOC

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1