服务工程师考试题与答案

也注定难快乐如初
  • 回答数

    3

  • 浏览数

    14886

首页> 工程师报名> 服务工程师考试题与答案

3个回答默认排序
  • 默认排序
  • 按时间排序

琴歌萧萧笛声怜

已采纳

Linux系统工程师面试题(附答案)

prefork的特点是:(预派生)

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

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

3.在服务器负载下降的时候会自动减少子进程数

worker的特点是:支持混合的多线程多进程的多路处理模块

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

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

16.编写shell脚本获取本机的网络地址。比如:本机的ip地址是:,那么它的网络地址是

方法一:

#!binbash

#This script print ip and network

file=”etcsysconfignetwork-scriptsifcfg-eth0″

if [ -f $file ] ;then

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

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

echo “$IP$MASK”

exit 1

fi

方法二:

#!binbash

#This programm will printf ipnetwork

#

IP=`ifconfig eth0 |grep ‘inet ‘ |sed ‘s^.*addr:g’|sed ‘s Bcast.*$g’`

NETMASK=`ifconfig eth0 |grep ‘inet ‘|sed ‘s^.*Mask:g’`

echo “$IP$NETMASK”

exit

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

二、简述题:

下如何改IP,主机名,DNS

下如何添加路由

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

4.简述Linux启动过程

5.简述DDOS攻击的原理

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

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

三、设计题:

1.系统设计

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

您有的资源:

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

Apache

Tomcat

数据库系统

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

1、使用双apache web server前端;

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

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

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

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

–>

您需要提交

1、服务器规划,包括:

*网络结构图

*每台机器的IP地址分配

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

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

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

*extra

*extra

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

第一种方法: DNS轮巡

www1 IN A

www2 IN A

www3 IN A

ftp1 IN A

ftp2 IN A

ftp3 IN A

www IN CNAME www1

www IN CNAME www2

www IN CNAME www3

ftp IN CNAME ftp1

ftp IN CNAME ftp2

ftp IN CNAME ftp3

31评论

不用懂得

5白盒测试有几种方法 总体上分为静态方法和动态方法两大类。 静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义 动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。 6系统测试计划是否需要同行审批,为什么? 需要,系统测试计划属于项目阶段性关键文档,因此需要评审。 7Alpha测试与beta的区别? Alpha测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。 Beta测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。 8比较负载测试,容量测试和强度测试的区别? 负载测试:在一定的工作负荷下,系统的负荷及响应时间。 强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。 容量测试:容量测试目的是通过测试预先分析出反映软件 系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试 还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理。容量测试是面向数据 的,并且它的目的是显示系统可以处理目标内确定的数据容量。 9测试结束的标准是什么? 用例全部测试。 覆盖率达到标准。 缺陷率达到标准。 其他指标达到质量标准 10描述软件测试活动的生命周期? 测试周期分为计划、设计、实现、执行、总结。其中: 计划:对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等; 设计:完成测试方案,从技术层面上对测试进行规划; 实现:进行测试用例和测试规程设计; 执行:根据前期完成的计划、方案、用例、规程等文档,执行测试用例。 总结:记录测试结果,进行测试分析,完成测试报告。 11软件的缺陷等级应如何划分? A类—严重错误,包括以下各种错误: 1. 由于程序所引起的死机,非法退出 2. 死循环 3. 数据库发生死锁 4. 因错误操作导致的程序中断 5. 功能错误 6. 与数据库连接错误 7. 数据通讯错误 B类—较严重错误,包括以下各种错误: 1. 程序错误 2. 程序接口错误 3. 数据库的表、业务规则、缺省值未加完整性等约束条件 C类—一般性错误,包括以下各种错误: 1. 操作界面错误(包括数据窗口内列名定义、含义是否一致) 2. 打印内容、格式错误 3. 简单的输入限制未放在前台进行控制 4. 删除操作未给出提示 5. 数据库表中有过多的空字段 D类—较小错误,包括以下各种错误: 1. 界面不规范 2. 辅助说明描述不清楚 3. 输入输出不规范 4. 长操作未给用户提示 5. 提示窗口文字未采用行业术语 6. 可输入区域和只读区域没有明显的区分标志 E类—测试建议 实施工程师面试题及参考答案:用例设计 随意选取一个简单物品,假定是一个喝水的带广告图案的花纸杯,设计出尽可能多的测试用例。 测试项目:杯子 需求测试:查看杯子使用说明书 界面测试:查看杯子外观 功能度:用水杯装水看漏不漏;水能不能被喝到 安全性:杯子有没有毒或细菌 可*性:杯子从不同高度落下的损坏程度 可移植性:杯子再不同的地方、温度等环境下是否都可以正常使用 兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等 易用性:杯子是否烫手、是否有防滑措施、是否方便饮用 用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述 疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等 压力测试:用根针并在针上面不断加重量,看压强多大时会穿透 跌落测试: 杯子加包装(有填充物),在多高的情况摔下不破损 震动测试: 杯子加包装(有填充物),六面震动,检查产品是否能应对恶劣的铁路公路航空运输 测试数据: 测试数据具体编写此处略。其中应用到:场景法、等价类划分法、因果图法、错误推测法、边界值法等方法 期望输出: 该期望输出需查阅国标、行标以及使用用户的需求 说明书测试: 检查说明书书写准确性 实施工程师面试题及参考答案:网络、操作系统、语言知识 1请你分别划划OSI的七层网络结构图,和TCPIP的五层结构图? 答:七层结构从上到下依次是: 7 应用层 ;6 表示层 ;5 会话层 ;4 传输层 ;3 网络层 ;2 数据链路层 ;1 物理层 五层结构是 5 应用层;4 运输层;3 网络层; 2 链路层;1 物理层。 2请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢? 答:UDP,TCP在传输层,IP在网络层, TCPIP是英文Transmission Control ProtocolInternet Protocol的缩写,意思是"传输 控制协议网际协议"。TCPIP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和、以太网以及RS-232串行接口)之上。确切地说,TCPIP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。TCPIP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCPIP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。 传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到 3请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的? 一般意义上说交换机是工作在数据链路层。但随着科技的发展,现在有了三层交换机,三层交换机已经扩展到了网络层。也就是说:它等于“数据链路层 + 部分网络层”。交换机中传的是帧。通过存储转发来实现的。 路由器是工作在网络层。路由器中传的是IP数据报。主要是选址和路由。 4请问C++的类和C里面的STRUCT有什么区别? 答:除关键字不同外(class,struct)的唯一区别是, 结构在默认情况下的成员是公共(public)的, 而类在默认情况下的成员是私有(private)的。 在C++中,结构是特殊的类。 class是从struct发展而来的。之所以将struct和class都保留,是因为: 1、提出class是为了强调一种概念。 2、保留struct是为了照顾到大多数人的习惯。 struct和class是有区别的。 struct保证成员按照声明顺序在内存中存储。class不保证等等 而它们都可以继承,实现多态等。但也有少许区别。比如: struct A { }; class B : A{ }; private继承 struct C : B{ }; public继承 这是由于class默认是private,struct默认是public。 一般说来,struct和class可以换用(当然要注意一些语法问题)。 而struct更适合看成是一个数据结构的实现体, class更适合看成是一个对象的实现体, 对私有成员进行保护,还提供与外界的接口。 从习惯上更喜欢用class。 5请讲一讲析构函数和虚函数的用法和作用? 答:置于“~”是析构函数;析构函数因使用"~"符号(逻辑非运算符),表示它为腻构造函数,加上类名称来定义。 ;析构函数也是特殊的类成员函数,它没有返回类型,没有参数,不能随意调用,也没有重载,只有在类对象的生命期结束的时候,由系统自动调用。 有适放内存空间的做用! 虚函数是C++多态的一种表现 例如:子类继承了父类的一个函数(方法),而我们把父类的指针指向子类,则必须把父类的该函数(方法)设为virturl(虚函数)。 使用虚函数,我们可以灵活的进行动态绑定,当然是以一定的开销为代价。 如果父类的函数(方法)根本没有必要或者无法实现,完全要依赖子类去实现的话,可以把此函数(方法)设为virturl 函数名=0 我们把这样的函数(方法)称为纯虚函数。 如果一个类包含了纯虚函数,称此类为抽象类 6全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的? 答:主要的区别是变量的作用范围不同。全局变量在全局范围内都有效,而局部变量只在声明此变量的作用域内有效。 全局变量是属于实例的,在初始化对象的时候初始化,生命周期与该实例相同,之所以叫全局变量是因为该实例中的所有方法或属性都可以引用;局部变量是在实例方法内或static块中,生命周期从调用该方法到该方法退出,并且只有该方法能够引用之。 全局变量和局部变量的区别是在存储器中位置不同,具体说,全局变量存储在数据段中,局部变量都有可能,一般来说在堆栈段 7一些寄存器的题目,主要是寻址和内存管理等一些知识。 答:寻址方式 表示指令中操作数所在的方法称为寻址方式。80868088有七种基本的寻址方式:立即寻找,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址加变址寻址,相对基址加变址寻址。 直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址和相对基址加变址寻址,这五种寻址方式属于存储器寻址,用于说明操作数所在存储单元的地址。由于总线接口单元BIU能根据需要自动引用段寄存器得到段值,所以这五种方式也就是确定存放操作数的存储单元有效地址EA的方法。有效地址EA是一个16位的无符号数,在利用这五种方法计算有效地址时,所得的结果认为是一个无符号数。 除了这些基本的寻址方式外,还有固定寻址和IO端口寻址等。 内存管理 主要包括内存的分配和回收整理等,实现内存的高效利用。 Q8:8086是多少位的系统?在数据总线上是怎么实现的? 答:16位系统,8位数据传送,通过总线控制逻辑实现数据线和地址线的分时复用. 8086是Inter的16位微处理器 有16根数据线和20根地址线,它既能处理16位数据,也能处理8位数据 内部数据总线都是按16位设计的,单外部数据总线只有8条。

128评论

巴黎塔下许过的承诺樱花树下最美的约定

选择题 1:public static void Main(string[] args) { int i = 2000; object o = i; i = 2001; int j =(int) o; ("i={0},o={1}, j={2}",i,o,j); } 2:软件生命周期的瀑布模型把软件项目分为3个阶段、8个子阶段,以下哪一个是正常的开发顺序? A.计划阶段、开发阶段、运行阶段 B.设计阶段、开发阶段、编码阶段 C.设计阶段、编码阶段、维护阶段 D.计划阶段、编码阶段、测试阶段 3:What compiler switch creates an xml file from the xml comments in the files in an assembly? A.text B.doc C.xml D.help 4:int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int{3,2}}; myArray3的值是:D.越界 5:如果设treeView1=new TreeView(),TreeNode node=new TreeNode("根结点" ),则(node)返回的是一个 ()类型的值。 6:以下描述错误的是: A.在C++中支持抽象类而在C#中不支持抽象类。 中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。 C.在C#中可使用 new 修饰符显式隐藏从基类继承的成员。 D.在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。 7:设有变量说明语句int a=1,b=0; 则执行以下程序段的输出结果为( )。 switch (a) { case 1: switch (b) { case 0:printf("**0**");break; case 1:printf("**1**");break; } case 2:printf("**2**");break; } printf(" "); A.**0** B.**0****2** C.**0****1****2** D.有语法错误 8:在下述选项时,没有构成死循环的程序是i=100 while (1) { i=i%100+1; if (i>100) break; }(;;);k=1000; do { ++k; }while(k>=10000);s=36; while (s);--s; 9:声明一个委托public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是myCallBack(int x)receive(int num)receive(int x) D.不确定的 10:Which of the following operations can you NOT perform on anDataSet?DataSet can be synchronised with a RecordSet.DataSet can be synchronised with the database.DataSet can be converted to XML.can infer the schema from a DataSet 11:In Object Oriented Programming, how would you describe encapsulation?conversion of one type of object to another.runtime resolution of method calls.exposition of data.separation of interface and implementation. 12:abstract class BaseClass { public virtual void MethodA() { ("BaseClass"); } public virtual void MethodB() { } } class Class1: BaseClass { public void MethodA() { ("Class1"); } public override void MethodB() { } } class Class2: Class1 { new public void MethodB() { } } class MainClass { public static void Main(string[] args) { Class2 o = new Class2(); (); } } 请问,此程序输出结果是: Class1 BassClass 13:在软件生命周期中,下列哪个说法是不准确的? A.软件生命周期分为计划、开发和运行三个阶段 12 3

58评论

相关问答